【问题标题】:How do I add additional packages in scope for Spacemacs in Nixos?如何在 Nixos 的 Spacemacs 范围内添加其他包?
【发布时间】:2016-10-27 22:40:17
【问题描述】:

我正在尝试在我的 Nixos 系统上设置 Spacemacs。我使用 nixos.emacs 包安装了 Emacs。我尝试安装的其中一个 spacemacs 层需要命令行程序 aclocal,但在我的系统上找不到它。

我相信一种解决方案是将包含aclocal(我相信它是autoconf)的Nix 包添加到我的environment.systemPackages。但是,我不喜欢这个解决方案,因为它将autoconf 包添加到我的全局范围内。我宁愿只有 Emacs 可以访问autoconf,这样(1)它可以保持我的全局包列表干净,并且(2)我以后不会不小心删除它,如果我忘记了为什么要安装它。

在 Nixos 中有没有办法做到这一点?我认为它可能涉及覆盖 emacs 派生的某些属性。

编辑: 明确地说,我不需要 autoconf 包作为构建 Emacs 的输入---我希望 Emacs 完全按照现在的样子构建---但我希望autoconf 库在我运行它们时可供emacsemacsclient 等的任何二进制文件和子进程访问。

【问题讨论】:

    标签: emacs spacemacs nixos


    【解决方案1】:

    您可以用wrapProgram 包装emacs 二进制文件,并在$PATH 前面加上您想要的包列表(您需要将makeWrapper 添加到buildInputs)。例如。

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

    nixpkgs 中的示例是 here,但还有更多示例 (grep wrapProgram pkgs -R | grep '\-\-prefix PATH')。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-18
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多