diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 6a400f1..7453ec7 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -42,11 +42,20 @@ in withPython3 = true; extraLuaConfig = builtins.readFile ./init.lua; extraPackages = with pkgs; [ - sumneko-lua-language-server + black + isort nil + nixpkgs-fmt + rustfmt + shfmt stylua + sumneko-lua-language-server + taplo + yamlfmt ]; plugins = with pkgs.vimPlugins; [ + nvim-autopairs + nvim-lastplace catppuccin-nvim cmp-nvim-lsp cmp_luasnip @@ -74,6 +83,7 @@ in plenary-nvim # for telescope, neogit telescope-nvim which-key-nvim + gitsigns-nvim ]; }; }; diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index e4b557a..f7883c3 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -192,7 +192,24 @@ require("formatter").setup({ -- "lua" filetype require("formatter.filetypes.lua").stylua, }, - + nix = { + require("formatter.filetypes.nix").nixpkgs_fmt, + }, + python = { + require("formatter.filetypes.python").black, + }, + rust = { + require("formatter.filetypes.rust").rustfmt, + }, + sh = { + require("formatter.filetypes.sh").shfmt, + }, + toml = { + require("formatter.filetypes.toml").taplo, + }, + yaml = { + require("formatter.filetypes.yaml").yamlfmt, + }, -- Use the special "*" filetype for defining formatter configurations on -- any filetype ["*"] = { @@ -413,3 +430,13 @@ orgmode.setup({ org_agenda_files = { "~/Notes/org" }, org_default_notes_file = "~/Notes/org/refile.org", }) + +require("gitsigns").setup() + +require("nvim-lastplace").setup({ + lastplace_ignore_buftype = { "quickfix", "nofile", "help" }, + lastplace_ignore_filetype = { "gitcommit", "gitrebase", "svn", "hgcommit" }, + lastplace_open_folds = true, +}) + +require("nvim-autopairs").setup({})