diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2025-12-10 22:42:35 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2025-12-10 22:42:35 +0530 |
| commit | 54142dba0991ecbe3031ef532d0a379ee3c58871 (patch) | |
| tree | 41866321ef5a0de9d88a196f5ddefb27b610c37f /modules/tools | |
| parent | 24f75195cab9350495422d8771aa0c30b90a235f (diff) | |
| download | home-manager-config-54142dba0991ecbe3031ef532d0a379ee3c58871.tar.gz home-manager-config-54142dba0991ecbe3031ef532d0a379ee3c58871.zip | |
Separated nixvim config into modules
Diffstat (limited to 'modules/tools')
| -rw-r--r-- | modules/tools/nixvim/colorscheme.nix | 27 | ||||
| -rw-r--r-- | modules/tools/nixvim/default.nix | 152 | ||||
| -rw-r--r-- | modules/tools/nixvim/keymaps.nix | 17 | ||||
| -rw-r--r-- | modules/tools/nixvim/plugins.nix | 122 |
4 files changed, 170 insertions, 148 deletions
diff --git a/modules/tools/nixvim/colorscheme.nix b/modules/tools/nixvim/colorscheme.nix new file mode 100644 index 0000000..810111a --- /dev/null +++ b/modules/tools/nixvim/colorscheme.nix @@ -0,0 +1,27 @@ +{ pkgs, config, lib, ... }: + +{ + config = lib.mkIf config.tools.nixvim.enable { + programs.nixvim.colorschemes.base16 = { + enable = true; + colorscheme = with config.scheme.withHashtag; { + base00 = base00; + base01 = base01; + base02 = base02; + base03 = base03; + base04 = base04; + base05 = base05; + base06 = base06; + base07 = base07; + base08 = base08; + base09 = base09; + base0A = base0A; + base0B = base0B; + base0C = base0C; + base0D = base0D; + base0E = base0E; + base0F = base0F; + }; + }; + }; +} diff --git a/modules/tools/nixvim/default.nix b/modules/tools/nixvim/default.nix index bff6220..1188526 100644 --- a/modules/tools/nixvim/default.nix +++ b/modules/tools/nixvim/default.nix @@ -7,6 +7,9 @@ let in { imports = [ nixvim.homeModules.nixvim + ./colorscheme.nix + ./keymaps.nix + ./plugins.nix ]; options.tools.nixvim = { @@ -17,38 +20,6 @@ in { { programs.nixvim = { enable = true; - keymaps = [ - { key = "<c-h>"; action = "<c-w>h"; } - { key = "<c-w>"; action = "<c-w>j"; } - { key = "<c-k>"; action = "<c-w>k"; } - { key = "<c-l>"; action = "<c-w>l"; } - { - key = "<c-n>"; - action = "<cmd>NvimTreeToggle<cr>"; - mode = [ "n" "i" ]; - } - ]; - colorschemes.base16 = { - enable = true; - colorscheme = with config.scheme.withHashtag; { - base00 = base00; - base01 = base01; - base02 = base02; - base03 = base03; - base04 = base04; - base05 = base05; - base06 = base06; - base07 = base07; - base08 = base08; - base09 = base09; - base0A = base0A; - base0B = base0B; - base0C = base0C; - base0D = base0D; - base0E = base0E; - base0F = base0F; - }; - }; opts = { number = true; relativenumber = true; @@ -68,122 +39,7 @@ in { bg = "${base00}", }) ''; - plugins = { - comment = { - enable = true; - }; - lualine = { - enable = true; - settings = { - options = { - theme = with config.scheme.withHashtag; { - normal = { - a = { fg = base00; bg = base0D; gui = "bold"; }; - b = { fg = base05; bg = base01; }; - c = { fg = base05; bg = base00; }; - }; - insert = { - a = { fg = base00; bg = base0B; gui = "bold"; }; - b = { fg = base05; bg = base01; }; - c = { fg = base05; bg = base00; }; - }; - visual = { - a = { fg = base00; bg = base0A; gui = "bold"; }; - b = { fg = base05; bg = base01; }; - c = { fg = base05; bg = base00; }; - }; - replace = { - a = { fg = base00; bg = base08; gui = "bold"; }; - b = { fg = base05; bg = base01; }; - c = { fg = base05; bg = base00; }; - }; - inactive = { - a = { fg = base04; bg = base00; gui = "bold"; }; - b = { fg = base04; bg = base00; }; - c = { fg = base04; bg = base00; }; - }; - }; - icons_enabled = true; - }; - }; - }; - noice = { - enable = true; - cmdline = { - enabled = true; - view = "cmdline_popup"; - }; - popupmenu = { - enabled = true; - backend = "cmp"; - }; - presets = { - command_palette = true; - }; - }; - nvim-tree = { - enable = true; - settings = { - filters = { - dotfiles = false; - git_clean = false; - no_buffer = false; - custom = {}; - }; - git = { - enable = true; - ignore = false; - }; - view = { - width = { - padding = 0; - }; - }; - renderer = { - indent_markers = { - enable = true; - inline_arrows = false; - icons = { - corner = "└"; - edge = "│"; - item = "├"; - bottom = "─"; - none = " "; - }; - }; - icons = { - show = { - folder = true; - folder_arrow = false; - file = true; - git = true; - }; - }; - }; - }; - }; - treesitter = { - enable = true; - settings = { - highlight = { enable = true; }; - indent = { enable = true; }; - }; - }; - web-devicons = { - enable = true; - }; - which-key = { - enable = true; - settings = { - plugins = { - marks = true; - registers = true; - spelling = { enabled = true; suggestions = 20; }; - }; - window = { border = "single"; }; - }; - }; - }; + performance.byteCompileLua.enable = true; }; }; } diff --git a/modules/tools/nixvim/keymaps.nix b/modules/tools/nixvim/keymaps.nix new file mode 100644 index 0000000..c6990b6 --- /dev/null +++ b/modules/tools/nixvim/keymaps.nix @@ -0,0 +1,17 @@ +{ pkgs, config, lib, ... }: + +{ + config = lib.mkIf config.tools.nixvim.enable { + programs.nixvim.keymaps = [ + { key = "<c-h>"; action = "<c-w>h"; } + { key = "<c-w>"; action = "<c-w>j"; } + { key = "<c-k>"; action = "<c-w>k"; } + { key = "<c-l>"; action = "<c-w>l"; } + { + key = "<c-n>"; + action = "<cmd>NvimTreeToggle<cr>"; + mode = [ "n" "i" ]; + } + ]; + }; +} diff --git a/modules/tools/nixvim/plugins.nix b/modules/tools/nixvim/plugins.nix new file mode 100644 index 0000000..9af84fb --- /dev/null +++ b/modules/tools/nixvim/plugins.nix @@ -0,0 +1,122 @@ +{ pkgs, config, lib, ... }: + +{ + config = lib.mkIf config.tools.nixvim.enable { + programs.nixvim.plugins = { + comment = { + enable = true; + }; + lualine = { + enable = true; + settings = { + options = { + theme = with config.scheme.withHashtag; { + normal = { + a = { fg = base00; bg = base0D; gui = "bold"; }; + b = { fg = base05; bg = base01; }; + c = { fg = base05; bg = base00; }; + }; + insert = { + a = { fg = base00; bg = base0B; gui = "bold"; }; + b = { fg = base05; bg = base01; }; + c = { fg = base05; bg = base00; }; + }; + visual = { + a = { fg = base00; bg = base0A; gui = "bold"; }; + b = { fg = base05; bg = base01; }; + c = { fg = base05; bg = base00; }; + }; + replace = { + a = { fg = base00; bg = base08; gui = "bold"; }; + b = { fg = base05; bg = base01; }; + c = { fg = base05; bg = base00; }; + }; + inactive = { + a = { fg = base04; bg = base00; gui = "bold"; }; + b = { fg = base04; bg = base00; }; + c = { fg = base04; bg = base00; }; + }; + }; + icons_enabled = true; + }; + }; + }; + noice = { + enable = true; + cmdline = { + enabled = true; + view = "cmdline_popup"; + }; + popupmenu = { + enabled = true; + backend = "cmp"; + }; + presets = { + command_palette = true; + }; + }; + nvim-tree = { + enable = true; + settings = { + filters = { + dotfiles = false; + git_clean = false; + no_buffer = false; + custom = {}; + }; + git = { + enable = true; + ignore = false; + }; + view = { + width = { + padding = 0; + }; + }; + renderer = { + indent_markers = { + enable = true; + inline_arrows = false; + icons = { + corner = "└"; + edge = "│"; + item = "├"; + bottom = "─"; + none = " "; + }; + }; + icons = { + show = { + folder = true; + folder_arrow = false; + file = true; + git = true; + }; + }; + }; + }; + }; + treesitter = { + enable = true; + settings = { + highlight = { enable = true; }; + indent = { enable = true; }; + }; + }; + web-devicons = { + enable = true; + }; + which-key = { + enable = true; + settings = { + plugins = { + marks = true; + registers = true; + spelling = { enabled = true; suggestions = 20; }; + }; + win = { border = "single"; }; + }; + }; + }; + }; +} |
