{ pkgs, ... }: { programs.neovim = { enable = true; viAlias = true; vimAlias = true; defaultEditor = true; #extraPackages = with pkgs; [ ]; plugins = with pkgs.vimPlugins; [ nvim-treesitter nvim-lint catppuccin-nvim mason-nvim mason-lspconfig-nvim nvim-lspconfig nvim-cmp cmp-nvim-lsp cmp-buffer cmp-path cmp-cmdline luasnip lualine-nvim yazi-nvim alpha-nvim cheatsheet-nvim toggleterm-nvim avante-nvim # AI Stuff # Add conform.nvim as a custom plugin (pkgs.vimUtils.buildVimPlugin { name = "conform-nvim"; src = pkgs.fetchFromGitHub { owner = "stevearc"; repo = "conform.nvim"; rev = "stable"; sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs="; }; }) # Add telescope.vim as a custom plugin (pkgs.vimUtils.buildVimPlugin { name = "telescope-nvim"; src = pkgs.fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; rev = "0.1.8"; sha256 = "sha256-e1ulhc4IIvUgpjKQrSqPY4WpXuez6wlxL6Min9U0o5Q="; }; }) ]; extraLuaConfig = builtins.readFile (./. + "/config.lua"); }; home.packages = with pkgs; [ nixfmt-rfc-style stylua black nodePackages.prettier rustfmt nodejs prettierd stylelint-lsp # Mason Binarys lua-language-server nil rust-analyzer python3Packages.python-lsp-server ]; }