NixOS ホームマネージャを介してインストールされた vim の設定

NixOS ホームマネージャを介してインストールされた vim の設定

home-manager私はちょうどNixOSを使い始めて、インストールしたパッケージを宣言的に制御し、その設定をホームディレクトリに配布したいと思います。

home-manager私はインストールするように言ったvim_configurable

# ~/.config/nixpkgs/home.nix
{ config, pkgs, ... }:
{
  home.packages = [
    pkgs.vim_configurable
    #...
  ]
  #...

これはうまく機能しますが、試してみるとエラーが発生します。program.vimそれを構成するために:

  #...
  programs.vim = {
    enable = true;
    settings = {
      expandtab = true;
      tabstop = 2;
    };
  };

home-manager switchバージョンの競合により、ランタイム中にエラーが発生しました。gvimdiff

; home-manager switch
these 3 derivations will be built:
  /nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv
  /nix/store/2wwz04y7yqrzizicc160n630a6kja778-activation-script.drv
  /nix/store/pyx34c22lz2f6nw2pdjgddsg8sy5wz0c-home-manager-generation.drv
building '/nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv'...
error: collision between `/nix/store/vvb9a43fpmsijx42k3jvrr1a8l6jq6da-vim_configurable-8.2.5172/bin/gvimdiff' and `/nix/store/xyhfc9g3qk3i42gqmp05r0lsab7nng14-vim/bin/gvimdiff'
error: builder for '/nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv' failed with exit code 25;
       last 1 log lines:
       > error: collision between `/nix/store/vvb9a43fpmsijx42k3jvrr1a8l6jq6da-vim_configurable-8.2.5172/bin/gvimdiff' and `/nix/store/xyhfc9g3qk3i42gqmp05r0lsab7nng14-vim/bin/gvimdiff'
       For full logs, run 'nix log /nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv'.
error: 1 dependencies of derivation '/nix/store/pyx34c22lz2f6nw2pdjgddsg8sy5wz0c-home-manager-generation.drv' failed to build

システムvimなどを追加するprograms.vim.enable = true指示があるので、これがクラッシュしていると思います。home-manager

これを削除すると、enable = trueエラーは削除されますが、構成設定が通過しないため、指定されたprograms.vimブロックは無意味になります。

私は何が間違っていましたか?これはうまくいくべきですか、それともこの設定でアップデートを介してパッケージをインストールする必要がありますか/etc/nixos/configuration.nix

答え1

問題は、アプローチを選択する必要があることです。 vim/vim_configurableを直接インストールするか、ホーム管理者にインストールするように依頼することです。

関連情報