aboutsummaryrefslogtreecommitdiffstats
path: root/modules/tools/nixvim
diff options
context:
space:
mode:
Diffstat (limited to 'modules/tools/nixvim')
-rw-r--r--modules/tools/nixvim/colorscheme.nix28
-rw-r--r--modules/tools/nixvim/default.nix84
-rw-r--r--modules/tools/nixvim/keymaps.nix43
-rw-r--r--modules/tools/nixvim/plugins/cmp.nix37
-rw-r--r--modules/tools/nixvim/plugins/comment.nix23
-rw-r--r--modules/tools/nixvim/plugins/default.nix20
-rw-r--r--modules/tools/nixvim/plugins/gitsigns.nix8
-rw-r--r--modules/tools/nixvim/plugins/indent-blankline.nix14
-rw-r--r--modules/tools/nixvim/plugins/lsp.nix91
-rw-r--r--modules/tools/nixvim/plugins/lualine.nix90
-rw-r--r--modules/tools/nixvim/plugins/luasnip.nix8
-rw-r--r--modules/tools/nixvim/plugins/noice.nix19
-rw-r--r--modules/tools/nixvim/plugins/nvim-tree.nix44
-rw-r--r--modules/tools/nixvim/plugins/telescope.nix85
-rw-r--r--modules/tools/nixvim/plugins/treesitter.nix19
-rw-r--r--modules/tools/nixvim/plugins/web-devicons.nix8
-rw-r--r--modules/tools/nixvim/plugins/which-key.nix21
17 files changed, 0 insertions, 642 deletions
diff --git a/modules/tools/nixvim/colorscheme.nix b/modules/tools/nixvim/colorscheme.nix
deleted file mode 100644
index 00ee040..0000000
--- a/modules/tools/nixvim/colorscheme.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ config, lib, ... }:
-
-# Colorscheme - Base16 theme configuration for nixvim
-{
- 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
deleted file mode 100644
index be17856..0000000
--- a/modules/tools/nixvim/default.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ config, lib, ... }:
-
-# Nixvim - Neovim configured through Nix (home-manager integration)
-{
- imports = [
- ./colorscheme.nix
- ./keymaps.nix
- ./plugins
- ];
-
- options.tools.nixvim = {
- enable = lib.mkEnableOption "Enables nixvim.";
- };
-
- config = lib.mkIf config.tools.nixvim.enable {
- programs.nixvim = {
- enable = true;
- defaultEditor = true;
- opts = {
- number = true;
- relativenumber = true;
- shiftwidth = 2;
- tabstop = 2;
- softtabstop = 2;
- expandtab = true;
- list = true;
- laststatus = 3;
- foldlevel = 99;
- clipboard = "unnamedplus";
- };
- clipboard.providers.xclip.enable = true;
- extraConfigLuaPre = with config.scheme.withHashtag; ''
- vim.opt.fillchars:append({ eob = " " })
- vim.opt.listchars = { tab = " ", trail = "_", lead = " " }
- vim.api.nvim_set_hl(0, "WinSeparator", {
- fg = "${base01}",
- bg = "${base00}",
- })
- vim.api.nvim_set_hl(0, 'NotifyERRORBorder', { fg = '${base08}' })
- vim.api.nvim_set_hl(0, 'NotifyWARNBorder', { fg = '${base09}' })
- vim.api.nvim_set_hl(0, 'NotifyINFOBorder', { fg = '${base0B}' })
- vim.api.nvim_set_hl(0, 'NotifyDEBUGBorder', { fg = '${base03}' })
- vim.api.nvim_set_hl(0, 'NotifyTRACEBorder', { fg = '${base0E}' })
-
- vim.api.nvim_set_hl(0, 'NotifyERRORIcon', { fg = '${base08}' })
- vim.api.nvim_set_hl(0, 'NotifyWARNIcon', { fg = '${base09}' })
- vim.api.nvim_set_hl(0, 'NotifyINFOIcon', { fg = '${base0B}' })
- vim.api.nvim_set_hl(0, 'NotifyDEBUGIcon', { fg = '${base03}' })
- vim.api.nvim_set_hl(0, 'NotifyTRACEIcon', { fg = '${base0E}' })
-
- vim.api.nvim_set_hl(0, 'NotifyERRORTitle', { fg = '${base08}' })
- vim.api.nvim_set_hl(0, 'NotifyWARNTitle', { fg = '${base09}' })
- vim.api.nvim_set_hl(0, 'NotifyINFOTitle', { fg = '${base0B}' })
- vim.api.nvim_set_hl(0, 'NotifyDEBUGTitle', { fg = '${base03}' })
- vim.api.nvim_set_hl(0, 'NotifyTRACETitle', { fg = '${base0E}' })
-
- vim.api.nvim_set_hl(0, 'NotifyERRORBody', { link = 'Normal' })
- vim.api.nvim_set_hl(0, 'NotifyWARNBody', { link = 'Normal' })
- vim.api.nvim_set_hl(0, 'NotifyINFOBody', { link = 'Normal' })
- vim.api.nvim_set_hl(0, 'NotifyDEBUGBody', { link = 'Normal' })
- vim.api.nvim_set_hl(0, 'NotifyTRACEBody', { link = 'Normal' })
-
- vim.api.nvim_create_autocmd({ "FileType" }, {
- pattern = { "yaml", "yml" },
- callback = function()
- vim.opt_local.expandtab = true
- vim.opt_local.shiftwidth = 2
- vim.opt_local.softtabstop = 2
- vim.opt_local.tabstop = 2
- end,
- })
- '';
- performance = {
- byteCompileLua.enable = true;
- combinePlugins.enable = true;
- };
- };
-
- home.sessionVariables = {
- EDITOR = lib.mkForce (lib.getExe config.programs.nixvim.package);
- MANPAGER = "${lib.getExe config.programs.nixvim.package} +Man!";
- };
- };
-}
diff --git a/modules/tools/nixvim/keymaps.nix b/modules/tools/nixvim/keymaps.nix
deleted file mode 100644
index c16331b..0000000
--- a/modules/tools/nixvim/keymaps.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ config, lib, ... }:
-
-# Keymaps - Keyboard shortcut configuration for nixvim
-{
- config = lib.mkIf config.tools.nixvim.enable {
- programs.nixvim.keymaps = [
- {
- key = "<c-h>";
- action = "<c-w>h";
- options.desc = "Move to left window";
- }
- {
- key = "<c-w>";
- action = "<c-w>j";
- options.desc = "Move to bottom window";
- }
- {
- key = "<c-k>";
- action = "<c-w>k";
- options.desc = "Move to top window";
- }
- {
- key = "<c-l>";
- action = "<c-w>l";
- options.desc = "Move to right window";
- }
- {
- key = "<c-n>";
- action = "<cmd>NvimTreeToggle<cr>";
- mode = [
- "n"
- "i"
- ];
- options.desc = "Toggle file explorer";
- }
- {
- key = "<c-c>";
- action = "<cmd>NotificationsClear<cr>";
- options.desc = "Clear notifications";
- }
- ];
- };
-}
diff --git a/modules/tools/nixvim/plugins/cmp.nix b/modules/tools/nixvim/plugins/cmp.nix
deleted file mode 100644
index d849ad6..0000000
--- a/modules/tools/nixvim/plugins/cmp.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ config, lib, ... }:
-
-# Cmp - Completion plugin (nvim-cmp) for auto-completion
-{
- config.programs.nixvim.plugins.cmp = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- autoEnableSources = true;
- settings = {
- snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
- mapping = {
- "<C-Space>" = "cmp.mapping.complete()";
- "<CR>" = "cmp.mapping.confirm({ select = true })";
- "<Tab>" = "cmp.mapping.select_next_item()";
- "<S-Tab>" = "cmp.mapping.select_prev_item()";
- "<Down>" = "cmp.mapping.select_next_item()";
- "<Up>" = "cmp.mapping.select_prev_item()";
- "<C-u>" = "cmp.mapping.scroll_docs(-4)"; # scroll docs up
- "<C-d>" = "cmp.mapping.scroll_docs(4)"; # scroll docs down
-
- "<Escape>" = ''
- cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.abort()
- else
- fallback()
- end
- end, { "i" })
- '';
- };
- sources = [
- { name = "nvim_lsp"; }
- { name = "path"; }
- { name = "buffer"; }
- ];
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/comment.nix b/modules/tools/nixvim/plugins/comment.nix
deleted file mode 100644
index 905068f..0000000
--- a/modules/tools/nixvim/plugins/comment.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ config, lib, ... }:
-
-# Comment - Comment toggling plugin (comment.nvim)
-{
- config.programs.nixvim.plugins.comment = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- settings = {
- toggler = {
- line = "gcc"; # toggle line comment
- block = "gbc"; # toggle block comment
- };
- opleader = {
- line = "gc"; # line comment operator (gc + motion)
- block = "gb"; # block comment operator (gb + motion)
- };
- extra = {
- above = "gcO"; # add comment line above
- below = "gco"; # add comment line below
- eol = "gcA"; # add comment at end of line
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/default.nix b/modules/tools/nixvim/plugins/default.nix
deleted file mode 100644
index a263c51..0000000
--- a/modules/tools/nixvim/plugins/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ ... }:
-
-# Plugins - Collection of nixvim plugin configurations
-{
- imports = [
- ./cmp.nix
- ./comment.nix
- ./gitsigns.nix
- ./indent-blankline.nix
- ./lsp.nix
- ./lualine.nix
- ./luasnip.nix
- ./noice.nix
- ./nvim-tree.nix
- ./telescope.nix
- ./treesitter.nix
- ./web-devicons.nix
- ./which-key.nix
- ];
-}
diff --git a/modules/tools/nixvim/plugins/gitsigns.nix b/modules/tools/nixvim/plugins/gitsigns.nix
deleted file mode 100644
index 4770dba..0000000
--- a/modules/tools/nixvim/plugins/gitsigns.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Gitsigns - Git status in the sign column (gitsigns.nvim)
-{
- config.programs.nixvim.plugins.gitsigns = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/tools/nixvim/plugins/indent-blankline.nix b/modules/tools/nixvim/plugins/indent-blankline.nix
deleted file mode 100644
index eee2e1f..0000000
--- a/modules/tools/nixvim/plugins/indent-blankline.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, lib, ... }:
-
-# Indent-blankline - Visual indentation guides (indent-blankline.nvim)
-{
- config.programs.nixvim.plugins.indent-blankline = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- settings = {
- indent = {
- char = "┊";
- tab_char = "│";
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/lsp.nix b/modules/tools/nixvim/plugins/lsp.nix
deleted file mode 100644
index fa7dbe2..0000000
--- a/modules/tools/nixvim/plugins/lsp.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ config, lib, ... }:
-
-# LSP - Language Server Protocol configuration (nvim-lspconfig)
-{
- config.programs.nixvim = lib.mkIf config.tools.nixvim.enable {
- plugins.lsp = {
- enable = true;
- inlayHints = true;
- autoLoad = true;
- keymaps.lspBuf = {
- K = "hover";
- gD = "references";
- gd = "definition";
- gi = "implementation";
- gt = "type_definition";
- };
- servers = {
- nil_ls = {
- enable = true;
- };
- lua_ls = {
- enable = true;
- package = null;
- };
- nixd = {
- enable = true;
- package = null;
- };
- pyright = {
- enable = true;
- package = null;
- };
- ts_ls = {
- enable = true;
- package = null;
- };
- clangd = {
- enable = true;
- package = null;
- };
- jsonls = {
- enable = true;
- package = null;
- };
- yamlls = {
- enable = true;
- package = null;
- };
- bash-language-server = {
- enable = true;
- package = null;
- };
- gopls = {
- enable = true;
- package = null;
- };
- };
- };
-
- diagnostic = {
- settings = {
- virtual_text = false;
- signs = true;
- underline = true;
- update_in_insert = false;
- float = {
- border = "rounded";
- source = true; # Show which LSP the diagnostic is from
- header = "";
- prefix = "";
- };
- };
- };
-
- # Show diagnostics float on cursor hold
- autoCmd = [
- {
- event = [ "CursorHold" ];
- pattern = "*";
- callback.__raw = ''
- function()
- vim.diagnostic.open_float(nil, { focus = false })
- end
- '';
- }
- ];
-
- # How long before CursorHold fires (in ms)
- opts.updatetime = 500;
- };
-}
diff --git a/modules/tools/nixvim/plugins/lualine.nix b/modules/tools/nixvim/plugins/lualine.nix
deleted file mode 100644
index c1d6fe1..0000000
--- a/modules/tools/nixvim/plugins/lualine.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ config, lib, ... }:
-
-# Lualine - Statusline configuration (lualine.nvim)
-{
- config.programs.nixvim.plugins.lualine = lib.mkIf config.tools.nixvim.enable {
- 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;
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/luasnip.nix b/modules/tools/nixvim/plugins/luasnip.nix
deleted file mode 100644
index e1890ea..0000000
--- a/modules/tools/nixvim/plugins/luasnip.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Luasnip - Snippet engine for Neovim (Lua-based)
-{
- config.programs.nixvim.plugins.luasnip = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/tools/nixvim/plugins/noice.nix b/modules/tools/nixvim/plugins/noice.nix
deleted file mode 100644
index 1c04544..0000000
--- a/modules/tools/nixvim/plugins/noice.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, ... }:
-
-# Noice - Modern UI for Neovim (cmdline, popupmenu, messages)
-{
- config.programs.nixvim.plugins.noice = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- cmdline = {
- enabled = true;
- view = "cmdline_popup";
- };
- popupmenu = {
- enabled = true;
- backend = "cmp";
- };
- presets = {
- command_palette = true;
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/nvim-tree.nix b/modules/tools/nixvim/plugins/nvim-tree.nix
deleted file mode 100644
index 7f6bf70..0000000
--- a/modules/tools/nixvim/plugins/nvim-tree.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ config, lib, ... }:
-
-# Nvim-tree - File explorer sidebar (nvim-tree.lua)
-{
- config.programs.nixvim.plugins.nvim-tree = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- settings = {
- filters = {
- dotfiles = false;
- git_clean = false;
- no_buffer = false;
- custom = { };
- };
- git = {
- enable = true;
- ignore = false;
- };
- view = {
- width = 30;
- };
- 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;
- };
- };
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/telescope.nix b/modules/tools/nixvim/plugins/telescope.nix
deleted file mode 100644
index f9fb202..0000000
--- a/modules/tools/nixvim/plugins/telescope.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ config, lib, ... }:
-
-# Telescope - Fuzzy finder
-{
- config.programs.nixvim.plugins.telescope = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- extensions = {
- fzf-native.enable = true; # faster fuzzy sorting
- ui-select.enable = true; # use telescope for vim.ui.select (code actions etc.)
- };
- settings = {
- defaults = {
- layout_strategy = "horizontal";
- layout_config = {
- horizontal = {
- preview_width = 0.55;
- results_width = 0.45;
- };
- width = 0.87;
- height = 0.80;
- };
- mappings = {
- i = {
- "<C-k>".__raw = "require('telescope.actions').move_selection_previous";
- "<C-j>".__raw = "require('telescope.actions').move_selection_next";
- "<Escape>".__raw = "require('telescope.actions').close";
- };
- };
- };
- };
- keymaps = {
- # Files
- "<leader>ff" = {
- action = "find_files";
- options.desc = "Find files";
- };
- "<leader>fg" = {
- action = "live_grep";
- options.desc = "Live grep";
- };
- "<leader>fb" = {
- action = "buffers";
- options.desc = "Find buffers";
- };
- "<leader>fr" = {
- action = "oldfiles";
- options.desc = "Recent files";
- };
-
- # LSP
- "<leader>fd" = {
- action = "diagnostics";
- options.desc = "Diagnostics";
- };
- "<leader>fs" = {
- action = "lsp_document_symbols";
- options.desc = "Document symbols";
- };
-
- # Git
- "<leader>gc" = {
- action = "git_commits";
- options.desc = "Git commits";
- };
- "<leader>gb" = {
- action = "git_branches";
- options.desc = "Git branches";
- };
-
- # Misc
- "<leader>fh" = {
- action = "help_tags";
- options.desc = "Help tags";
- };
- "<leader>fc" = {
- action = "commands";
- options.desc = "Commands";
- };
- "<leader>fk" = {
- action = "keymaps";
- options.desc = "Find keymaps";
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/treesitter.nix b/modules/tools/nixvim/plugins/treesitter.nix
deleted file mode 100644
index 9421851..0000000
--- a/modules/tools/nixvim/plugins/treesitter.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, ... }:
-
-# Treesitter - Syntax highlighting and parsing (nvim-treesitter)
-{
- config.programs.nixvim.plugins.treesitter = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- folding = {
- enable = true;
- };
- settings = {
- highlight = {
- enable = true;
- };
- indent = {
- enable = true;
- };
- };
- };
-}
diff --git a/modules/tools/nixvim/plugins/web-devicons.nix b/modules/tools/nixvim/plugins/web-devicons.nix
deleted file mode 100644
index d180fc5..0000000
--- a/modules/tools/nixvim/plugins/web-devicons.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Web-devicons - File icons for various file types (nvim-web-devicons)
-{
- config.programs.nixvim.plugins.web-devicons = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/tools/nixvim/plugins/which-key.nix b/modules/tools/nixvim/plugins/which-key.nix
deleted file mode 100644
index c157666..0000000
--- a/modules/tools/nixvim/plugins/which-key.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ config, lib, ... }:
-
-# Which-key - Popup for keybindings (which-key.nvim)
-{
- config.programs.nixvim.plugins.which-key = lib.mkIf config.tools.nixvim.enable {
- enable = true;
- settings = {
- plugins = {
- marks = true;
- registers = true;
- spelling = {
- enabled = true;
- suggestions = 20;
- };
- };
- win = {
- border = "single";
- };
- };
- };
-}