{ config, pkgs, ... }: { programs.neovim = { enable = true; viAlias = true; vimAlias = true; vimdiffAlias = true; withPython3 = true; extraPackages = with pkgs; [ beancount-language-server black docker-compose-language-service efm-langserver fd gcc hlint chafa ltex-ls lua-language-server lua54Packages.luacheck nixd nixpkgs-fmt nodePackages.dockerfile-language-server-nodejs nodePackages.pyright ripgrep ruff-lsp shellcheck shfmt sqlfluff terraform-ls tflint vscode-langservers-extracted ]; extraPython3Packages = pyPkgs: with pyPkgs; [ pylint ]; }; home.packages = [ pkgs.neovide ]; home.sessionVariables = { EDITOR = "${pkgs.neovim}/bin/nvim"; VISUAL = "${pkgs.neovim}/bin/nvim"; }; home.file = { notes.source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Nextcloud/notes"; nvim_init = { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/configs/neovim-config/nvim/init.lua"; target = "${config.xdg.configHome}/nvim/init.lua"; }; nvim_lua = { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/configs/neovim-config/nvim/lua"; target = "${config.xdg.configHome}/nvim/lua"; }; }; }