Nvim config setup

hello people,
i am having problem setting up neovim.

what i would like to accomplish (end goal):
1 - install neovim
2 - setup plugins
3 - configure vimrc, but keep the file separate

i am still in early stages of learning nix, so please bear with me.

what i am trying to do is:

default.nix

let
  pkgs = import <nixpkgs> { config = import ./config.nix; };

in
pkgs.stdenv.mkDerivation {
  name = "personal-env";

  buildInputs =
    [
      pkgs.customNvim

      pkgs.htop
      pkgs.pass
      pkgs.fzf

    ];
}

neovim/default.nix

{
  packageOverrides = pkgs: {
    customNvim = pkgs.neovim.override {
      configure = {
        customRC = (builtins.readFile ./vimrc); # this file is in neovim/vimrc

        plug.plugins = with pkgs.vimPlugins; [
          ctrlp
          # 'autozimu/LanguageClient-neovim'
          tpope/vim-fugitive
        ];
      };
    };
  };
}

what i am getting is

> nix-env -i -f default.nix --dry-run
(dry run; not doing anything)
installing 'personal-env'
error: value is a path while a set was expected, at /nix/store/75yffgx3600s8cwdmmzz9803k88ppxmv-nixpkgs-20.09pre221814.10100a97c89/nixpkgs/pkgs/misc/vim-plugins/vim-utils.nix:222:59

now i have few questions:

  • what is wrong with my config?
  • is this the best way to accomplish what i needed?
  • is there a better way to do that? (certain files in certain paths, avoid package override etc)

thanks in advance