{ inputs, pkgs, config, lib, ... }: { imports = [ inputs.nixvim.homeManagerModules.nixvim ]; programs.nixvim = { enable = true; viAlias = true; vimAlias = true; options = { number = true; shiftwidth = 2; }; plugins = { treesitter.enable = true; lualine.enable = true; luasnip.enable = true; nix.enable = true; nix-develop.enable = true; bufferline.enable = true; chadtree.enable = true; which-key.enable = true; neo-tree.enable = true; gitsigns.enable = true; toggleterm.enable = true; rainbow-delimiters.enable = true; startify.enable = true; telescope = { enable = true; extensions = { ui-select.enable = true; frecency.enable = true; }; }; lsp = { enable = true; servers = { rust-analyzer = { enable = true; installCargo = true; installRustc = true; }; nixd.enable = true; pylsp.enable = true; html.enable = true; cssls.enable = true; bashls.enable = true; }; }; nvim-cmp = { enable = true; autoEnableSources = true; sources = [ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } ]; }; }; # TODO: Add this to stylix configs colorscheme = lib.mkForce "everforest"; colorschemes = { tokyonight.enable = true; gruvbox.enable = true; oxocarbon.enable = true; nord.enable = true; catppuccin.enable = true; base16.enable = true; kanagawa.enable = true; dracula.enable = true; }; extraPlugins = with pkgs.vimPlugins; [ everforest ]; }; }