Emacs 如何在Nixos的SpaceMac范围内添加其他软件包?

Emacs 如何在Nixos的SpaceMac范围内添加其他软件包?,emacs,spacemacs,nixos,Emacs,Spacemacs,Nixos,我正试图在我的Nixos系统上安装SpaceMac。我使用nixos.Emacs包安装了Emacs。我试图安装的SpaceMac层之一需要命令行程序aclocal,但在我的系统上找不到它 我相信一个解决方案是将包含aclocal(我相信它是autoconf)的Nix包添加到我的环境中。但是,我不喜欢这个解决方案,因为它将autoconf包添加到我的全局范围中。我希望只有Emacs可以访问autoconf,这样(1)它可以保持我的全局包列表的干净,(2)如果我忘记安装它的原因,我以后不会意外删除它

我正试图在我的Nixos系统上安装SpaceMac。我使用
nixos.Emacs
包安装了Emacs。我试图安装的SpaceMac层之一需要命令行程序
aclocal
,但在我的系统上找不到它

我相信一个解决方案是将包含
aclocal
(我相信它是
autoconf
)的Nix包添加到我的
环境中。但是,我不喜欢这个解决方案,因为它将
autoconf
包添加到我的全局范围中。我希望只有Emacs可以访问
autoconf
,这样(1)它可以保持我的全局包列表的干净,(2)如果我忘记安装它的原因,我以后不会意外删除它

在尼克松有办法做到这一点吗?我认为这可能涉及重写
emacs
派生的一些属性


编辑:要清楚,我不需要将
autoconf
包作为构建Emacs的输入——我希望Emacs的构建与当前完全一样——但我希望
autoconf
库能够被
Emacs
EmacClient
的任何二进制文件和子进程访问,你可以用
wrapProgram
包装
emacs
二进制文件,并在
$PATH
前面加上你想要的包列表(你需要将
makeWrapper
添加到
buildInputs
)。例如

nixpkgs
中的一个例子是,但是还有更多的例子(
grep wrapProgram pkgs-R | grep'\-\-前缀路径'

postInstall = ''
  wrapProgram "$out/bin/emacs" --prefix PATH : "${autoconf}/bin"
'';