Nix:用Ruby编译Vim

时间:2016-03-31 14:33:42

标签: ruby vim nix

我在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和vim插件以及覆盖vim_configurable选项等等(for example),这样会很好找到时间在某个时候做到这一点。但是,我现在要做的就是通过Nix安装一个Vim版本,它是用Ruby支持编译的。

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

2 个答案:

答案 0 :(得分: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安装。

答案 1 :(得分:0)

您可以尝试自己编译vim。为了以这种方式获得ruby支持,您只需在运行--rubyinterp时添加./configure标志