Search code examples
neovimnix

Adding neovim to home-manager config leads to permission problem


When adding neovim to my home-manager config (nix on MacOs), like so

  programs.neovim = {
    enable = true;
    package = pkgs.neovim;
    viAlias = true;
    extraPackages = [
      pkgs.rnix-lsp
    ];
  };

I get the following error

these 5 derivations will be built:
  /nix/store/7z24wy5ccgjhkw8zc39926z5r0pqfd59-neovim-0.8.0.drv
  /nix/store/18kwwzrpsqaa6whyz3shlmidz0lp5sx5-home-manager-fonts.drv
  /nix/store/zq40m1z7bl7azgay2gd39c769j5ypszd-home-manager-path.drv
  /nix/store/37hvbw396bp6j89grhyqqxb772vbj6j4-activation-script.drv
  /nix/store/dghqgkn78cpzq2fwclbg1rkjybwg7dr4-home-manager-generation.drv
building '/nix/store/7z24wy5ccgjhkw8zc39926z5r0pqfd59-neovim-0.8.0.drv'...
/nix/store/lig4bdiwsr9lfb8x8plpnasg95vrw98q-hook/nix-support/setup-hook: line 115: /nix/store/42yqjb325cpgs1gycv3sk9dki1y0qli0-neovim-0.8.0/bin/nvim-python3: Permission denied
error: builder for '/nix/store/7z24wy5ccgjhkw8zc39926z5r0pqfd59-neovim-0.8.0.drv' failed with exit code 1;
       last 1 log lines:
       > /nix/store/lig4bdiwsr9lfb8x8plpnasg95vrw98q-hook/nix-support/setup-hook: line 115: /nix/store/42yqjb325cpgs1gycv3sk9dki1y0qli0-neovim-0.8.0/bin/nvim-python3: Permission denied
       For full logs, run 'nix log /nix/store/7z24wy5ccgjhkw8zc39926z5r0pqfd59-neovim-0.8.0.drv'.
error: 1 dependencies of derivation '/nix/store/18kwwzrpsqaa6whyz3shlmidz0lp5sx5-home-manager-fonts.drv' failed to build
error: 1 dependencies of derivation '/nix/store/zq40m1z7bl7azgay2gd39c769j5ypszd-home-manager-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/dghqgkn78cpzq2fwclbg1rkjybwg7dr4-home-manager-generation.drv' failed to build

Any ideas what might cause this?


Solution

  • package takes as input an unwrapped version of neovim (without the python/node… wrapper since home-manager does the wrapping itself) as you can see here. Since this value is anyway set by default you can just remove it:

      programs.neovim = {
        enable = true;
        viAlias = true;
        extraPackages = [
          pkgs.rnix-lsp
        ];
      };