{ config, options, lib, pkgs, ... }: let nvimConf = config.modules.desktop.apps.editors.neovim; configDir = config.nixosConfig.configDir; in { options.modules.desktop.apps.editors.neovim = { enable = lib.mkOption { type = lib.types.bool; default = false; }; }; config = lib.mkIf (nvimConf.enable) { home.manager.xdg.configFile."nvim/init.vim".source = "${configDir}/nvim/init.vim"; home.manager.xdg.configFile."nvim/lua/init.lua".source = "${configDir}/nvim/init.lua"; home.manager.xdg.configFile."nvim/lua/plugins.lua".source = "${configDir}/nvim/plugins.lua"; modules.desktop.defaultApplications.apps.editor = rec { package = pkgs.neovim; install = false; cmd = "${package}/bin/nvim"; desktop = "nvim"; }; home.packages = [ ]; home.manager.programs.neovim = { enable = true; viAlias = true; vimAlias = true; withNodeJs = true; }; }; }