This mainly includes automating it all, and in the future if the error about there being 2 init.vim's comes back, we can solve that via just filtering it out of the list, and appending to extraConfig instead.
MAYALEYKYW55PDFYXTZA6L2BZAKCC5K3WEF7LD33STUWMURODKEAC
in let buildVimPlugin = pkgs.vimUtils.buildVimPlugin;
in let
buildVimPlugin = pkgs.vimUtils.buildVimPlugin;
configFiles = (builtins.readDir (dots + "/nvim"));
configFileNames =
(pkgs.lib.attrsets.mapAttrsToList (key: value: key) configFiles);
home.file.".config/nvim/lua".source = dots + "/nvim/lua";
home.file.".config/nvim/coc-settings.json".source = dots
+ "/nvim/coc-settings.json";
xdg.configFile = builtins.listToAttrs (builtins.map (name: {
name = "nvim/" + name;
value = { source = "${dots}/nvim/${name}"; };
}) configFileNames);