2016-10-27 20 views
2

我想在我的Nixos系統上安裝Spacemacs。我使用nixos.emacs軟件包安裝了Emacs。我嘗試安裝的其中一個spacemacs層需要命令行程序aclocal,但它無法在我的系統上找到它。如何在Nixos中爲Spacemacs的作用域添加其他軟件包?

我相信一種解決方案是將包含aclocal(我相信它是autoconf)的Nix包添加到我的environment.systemPackages。但是,我不喜歡這個解決方案,因爲它將autoconf包添加到我的全局範圍。我寧願只有 Emacs有訪問autoconf,所以(1)它保持我的軟件包的全局列表清潔,(2)我不會意外刪除它在未來,如果我忘記了爲什麼我安裝它。

有沒有辦法在Nixos中做到這一點?我認爲它可能涉及覆蓋emacs派生的一些屬性。

編輯:要清楚,我不需要autoconf包爲輸入建立Emacs的---我想Emacs的興建,正是因爲它是目前---但我想autoconf庫當我運行它們時,任何二進制文件和子進程emacs,emacsclient等都可以訪問。

回答

2

你可以用emacs二進制與wrapProgram和你想要的軟件包列表的前綴$PATH(你將需要添加makeWrapperbuildInputs)。例如。

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

nixpkgs一個例子是here但也有更多的例子(grep wrapProgram pkgs -R | grep '\-\-prefix PATH')。

相關問題