2016-10-27 2 views
2

Я пытаюсь установить Spacemacs на мою систему Nixos. Я установил Emacs, используя пакет nixos.emacs. Один из слоев spacemacs, который я пытаюсь установить, требует командной строки aclocal, но он не может найти его в моей системе.Как добавить дополнительные пакеты в область Spacemacs в Nixos?

Я считаю, что одним из решений было бы просто добавить пакет Nix, содержащий aclocal (я считаю, что это autoconf) на мой environment.systemPackages. Однако мне не нравится это решение, потому что оно добавляет пакет autoconf в мою глобальную область. Я предпочел бы, чтобы только Emacs имеют доступ к autoconf, так что (1) он сохраняет мой глобальный список пакетов в чистоте и (2) я не случайно удалю его в будущем, если я забуду, почему я его установил.

Есть ли способ сделать это в Никсосе? Я думаю, что это может включать переопределение некоторых атрибутов вывода emacs.

EDIT: Чтобы быть ясно, я не нужен autoconf пакет, чтобы быть вход в здание Emacs --- Я хочу Emacs будет построен именно так, как это в настоящее время --- но я хочу autoconf библиотеку быть доступным для любого из двоичных файлов, а дочерние процессы - emacs, emacsclient и т. д., когда я их запускаю.

ответ

2

вы можете обернуть emacs бинарные с wrapProgram и префиксом $PATH со списком пакетов, которые вы хотите (вам нужно будет добавить makeWrapper к buildInputs). например.

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

пример из nixpkgs будет here но есть другие примеры (grep wrapProgram pkgs -R | grep '\-\-prefix PATH').

Смежные вопросы