我在 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
      ];
    };

  };
}

我知道有一些精心设计的选项可用于使用 Nix 并通过覆盖 .vimrc 选项等( for example )来维护 vim_configurable 和 vim 插件,并且在某个时候找到时间这样做会很好。但是,我现在想要做的就是通过 Nix 安装一个使用 Ruby 支持编译的 Vim 版本。

在我的 config.nix 中实现这一目标的最简单或最简洁的方法是什么?

最佳答案

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

# ~/.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 安装它。

关于ruby - Nix:用 Ruby 编译 Vim,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36336412/

10-12 15:58