3

config.nixOS Xで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
      ];
    };

  };
}

.vimrcNix を使用して a および vim プラグインを維持し、オプションなどをオーバーライドするための精巧なオプションがあることを私は知っていますvim_configurable(たとえば)。ただし、今のところやりたいことは、Ruby サポート付きでコンパイルされたバージョンの Vim を Nix 経由でインストールすることだけです。

私の中でこれを達成するための最も簡単で簡潔な方法は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 に答える