Emacs 如何在Nixos的SpaceMac范围内添加其他软件包?
我正试图在我的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.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"
'';