From 50044b7a87bc9f59452855a96a2013c9b000a0a1 Mon Sep 17 00:00:00 2001 From: scouckel Date: Thu, 2 Apr 2026 20:49:34 -0400 Subject: big work done --- modules/packages/nvf/_nvfConfig.nix | 123 ++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 modules/packages/nvf/_nvfConfig.nix (limited to 'modules/packages/nvf/_nvfConfig.nix') diff --git a/modules/packages/nvf/_nvfConfig.nix b/modules/packages/nvf/_nvfConfig.nix new file mode 100644 index 0000000..2746966 --- /dev/null +++ b/modules/packages/nvf/_nvfConfig.nix @@ -0,0 +1,123 @@ +{ pkgs, lib, ... }: { + config.vim = { + viAlias = true; + vimAlias = true; + + lineNumberMode = "relNumber"; + + options = { + tabstop = lib.mkDefault 2; + shiftwidth = 0; + termguicolors = true; + }; + + keymaps = [ + { + key = "w"; + mode = "n"; + silent = true; + action = ":w"; + } + { + key = "x"; + mode = "n"; + silent = true; + action = ":wq"; + } + { + key = "q"; + mode = "n"; + silent = true; + action = ":q"; + } + { + key = "Q"; + mode = "n"; + silent = true; + action = ":q!"; + } + { + key = "ff"; + mode = "n"; + silent = true; + action = ":Telescope find_files"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = ""; + mode = "n"; + silent = true; + action = "zz"; + } + { + key = "n"; + mode = "n"; + silent = true; + action = ":noh"; + } + ]; + + lsp = { + enable = true; + + servers.nixd.settings.nil.nix.autoArchive = true; + }; + + languages = { + enableTreesitter = true; + + nix.enable = true; + clang.enable = true; + rust.enable = true; + ruby.enable = true; + java.enable = true; + }; + + treesitter = { + enable = true; + # context.enable = true; + highlight.enable = true; + }; + + telescope.enable = true; + + utility = { + motion = { + # hop.enable = true; + # leap.enable = true; + precognition.enable = true; + }; + }; + + visuals = { + rainbow-delimiters.enable = true; + }; + + extraPlugins = { + gruvbox-material = { + package = pkgs.vimPlugins.gruvbox-material; + setup = '' + vim.o.background = "dark" + vim.g.gruvbox_material_background = "hard" + vim.cmd("colorscheme gruvbox-material") + ''; + }; + }; + + autocmds = [ + { + event = [ "InsertEnter" ]; + command = "set norelativenumber"; + } + { + event = [ "InsertLeave" ]; + command = "set relativenumber"; + } + ]; + }; +} -- cgit v1.3