3

我在 OS X 上使用 Nix 包管理器。假设为了论证,我有一个config.nix使用这样的模式的文件,让我安装vimEnv没问题。

# ~/.nixpkgs/config.nix

{ pkgs }: {

  # Looking around I have seen overrides something along these lines...

  # nixpkgs.config.packageOverrides = pkgs: rec {
  #   vim = pkgs.vim_configurable.override {
  #     ruby = true;
  #    };
  #  };

  packageOverrides = super: let pkgs = super.pkgs; in with pkgs; rec {

    myEnv = pkgs.buildEnv {
      name = "myEnv";
      paths = [
        # ...snip
        vim
        # ...snip
      ];
    };

  };
}

我知道有一些复杂的选项可用于.vimrc使用 Nix 和覆盖vim_configurable选项等(例如)来维护 a 和 vim 插件,在某个时候找到时间来做这件事会很好。但是,我现在要做的就是通过 Nix 安装一个使用 Ruby 支持编译的 Vim 版本。

对我来说,实现这一目标的最简单或最简洁的方法是什么config.nix

4

2 回答 2

3

而且,经过一些黑客攻击,这是我找到的最简单的解决方案:

# ~/.nixpkgs/config.nix

{ pkgs }: {

  packageOverrides = super: let pkgs = super.pkgs; in with pkgs; rec {

    myVim = pkgs.vim_configurable.override {
      config.vim = {
        ruby = true;
      };
      ruby = ruby;
    };

    myEnv = pkgs.buildEnv {
      name = "myEnv";
      paths = [
        myVim
      ];
    };

  };
}

并使用nix-env -i myEnv.

于 2016-04-05T18:14:20.890 回答
0

你可以尝试自己编译vim。为了以这种方式获得 ruby​​ 支持,您所要做的就是在--rubyinterp运行时添加标志./configure

于 2016-03-31T18:12:07.243 回答