From 328c741b1aac74020412e99e0dca7c728dbc92fa Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 23 Jun 2025 22:33:44 -0400 Subject: refactor --- home/neovim/config.nix | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 home/neovim/config.nix (limited to 'home/neovim/config.nix') diff --git a/home/neovim/config.nix b/home/neovim/config.nix new file mode 100644 index 0000000..ae10243 --- /dev/null +++ b/home/neovim/config.nix @@ -0,0 +1,94 @@ +{ + config, + inputs, +}: +inputs.self.lib.lua.fmt { + # Width of tabs in the editor + tabwidth = 4; + # If tabs should be expanded to spaces + expandtab = false; + keys = { + # NeoVIM leader key + leader = " "; + # Keybind to remove active hilighted content + noh = "h"; + menus = { + # Open file browser + browser = "e"; + # Show active buffers + buffers = "fb"; + # Show LSP errors + error = "t"; + # Find files in working directory + find = "ff"; + # Grep files in working directory + grep = "fg"; + # Search help menu + help = "fh"; + # Voew undo tree + undo = "u"; + }; + lsp = { + # Open LSP hover menu on a value + hover = "K"; + # Perform an LSP action on a value + action = "la"; + # View all references of a value + references = "lr"; + # Rename current and all references of a value + rename = "ln"; + }; + cmp = { + # Select previous value in completion engine + prev = ""; + # Select next value in completion engine + next = ""; + # Confirm current value in completion engine + confirm = ""; + # Auto complete using completion engine + complete = ""; + }; + }; + # list of lsp servers to load + lsps = { + clangd = {}; + jdtls = {}; + kotlin_language_server = {}; + phpactor = {}; + rust_analyzer = {}; + ts_ls = {}; + zls = {}; + }; + highlight = { + # max file size in KiB to attempt to parse + max_size = 1024; + }; + # colorscheme + theme = { + colors = { + base00 = "#${config.theme.colors.bg}"; + base01 = "#${config.theme.colors.surface.bg}"; + base02 = "#${config.theme.colors.surface.bg}"; + base03 = "#${config.theme.colors.bright.white}"; + base04 = "#${config.theme.colors.bright.black}"; + base05 = "#${config.theme.colors.fg}"; + base06 = "#${config.theme.colors.bright.white}"; + base07 = "#${config.theme.colors.hover.bg}"; + base08 = "#${config.theme.colors.bright.red}"; + base09 = "#${config.theme.colors.bright.yellow}"; + base0A = "#${config.theme.colors.bright.yellow}"; + base0B = "#${config.theme.colors.bright.green}"; + base0C = "#${config.theme.colors.bright.cyan}"; + base0D = "#${config.theme.colors.bright.blue}"; + base0E = "#${config.theme.colors.bright.magenta}"; + base0F = "#${config.theme.colors.normal.yellow}"; + }; + transparent = true; + }; + # max column width + col = { + # show a bar at `width` characters + show = true; + width = 80; + }; +} -- cgit v1.2.3-freya