Replaced nixvim with nix-cats external flake.
This commit is contained in:
		
							parent
							
								
									221524709e
								
							
						
					
					
						commit
						dc1e99a104
					
				
					 44 changed files with 57 additions and 1455 deletions
				
			
		| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./git.nix
 | 
			
		||||
    ./nvim
 | 
			
		||||
    ./voice.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,65 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.nvim.enable-completions = lib.mkEnableOption "basic completion in nvim";
 | 
			
		||||
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-completions && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      programs.nixvim = {
 | 
			
		||||
        plugins.luasnip.enable = true;
 | 
			
		||||
        plugins.friendly-snippets.enable = true;
 | 
			
		||||
        plugins.cmp = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          autoEnableSources = true;
 | 
			
		||||
          settings = {
 | 
			
		||||
            sources = [
 | 
			
		||||
              {name = "luasnip";}
 | 
			
		||||
              {name = "treesitter";}
 | 
			
		||||
              {name = "path";}
 | 
			
		||||
              {name = "emoji";}
 | 
			
		||||
              {name = "buffer";}
 | 
			
		||||
              {name = "latex_symbols";}
 | 
			
		||||
              {name = "digraphs";}
 | 
			
		||||
              {name = "spell";}
 | 
			
		||||
            ];
 | 
			
		||||
            snippet = {
 | 
			
		||||
              expand = "function(args) require('luasnip').lsp_expand(args.body) end";
 | 
			
		||||
            };
 | 
			
		||||
            mapping = {
 | 
			
		||||
              "<C-Space>" = "cmp.mapping.complete()";
 | 
			
		||||
              "<C-d>" = "cmp.mapping.scroll_docs(-4)";
 | 
			
		||||
              "<C-e>" = "cmp.mapping.close()";
 | 
			
		||||
              "<C-f>" = "cmp.mapping.scroll_docs(4)";
 | 
			
		||||
              "<CR>" = "cmp.mapping.confirm({ select = false })";
 | 
			
		||||
              "<Tab>" = ''
 | 
			
		||||
                function(fallback)
 | 
			
		||||
                  if cmp.visible() then
 | 
			
		||||
                    cmp.select_next_item()
 | 
			
		||||
                  elseif require("luasnip").expand_or_jumpable() then
 | 
			
		||||
                    vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "")
 | 
			
		||||
                  else
 | 
			
		||||
                    fallback()
 | 
			
		||||
                  end
 | 
			
		||||
                end
 | 
			
		||||
              '';
 | 
			
		||||
              "<S-Tab>" = ''
 | 
			
		||||
                function(fallback)
 | 
			
		||||
                  if cmp.visible() then
 | 
			
		||||
                    cmp.select_prev_item()
 | 
			
		||||
                  elseif require("luasnip").jumpable(-1) then
 | 
			
		||||
                    vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "")
 | 
			
		||||
                  else
 | 
			
		||||
                    fallback()
 | 
			
		||||
                  end
 | 
			
		||||
                end
 | 
			
		||||
              '';
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,49 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  configs,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  helpers,
 | 
			
		||||
  lib,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.nvim.enable = lib.mkEnableOption "enable nvim";
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      viAlias = true;
 | 
			
		||||
      vimAlias = true;
 | 
			
		||||
 | 
			
		||||
      colorschemes.base16 = {
 | 
			
		||||
        colorscheme = "gruvbox-dark-medium";
 | 
			
		||||
        enable = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      clipboard.providers.xsel.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
    home.sessionVariables = {
 | 
			
		||||
      EDITOR = "nvim";
 | 
			
		||||
      VISUAL = "nvim";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs.nushell.extraEnv = ''
 | 
			
		||||
      $env.EDITOR = 'nvim'
 | 
			
		||||
      $env.VISUAL = 'nvim'
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./keybinds.nix
 | 
			
		||||
    ./options.nix
 | 
			
		||||
    ./simpleplugins.nix
 | 
			
		||||
    ./lualine.nix
 | 
			
		||||
    ./nvim-tree.nix
 | 
			
		||||
    ./toggleterm.nix
 | 
			
		||||
    ./gitsigns.nix
 | 
			
		||||
    ./which-key.nix
 | 
			
		||||
    ./telescope.nix
 | 
			
		||||
    ./zk.nix
 | 
			
		||||
    ./treesitter
 | 
			
		||||
    ./cmp
 | 
			
		||||
    ./lsp
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.gitsigns = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
      };
 | 
			
		||||
      plugins.which-key.settings.spec = [
 | 
			
		||||
        {
 | 
			
		||||
          __unkeyed-1 = "<leader>g";
 | 
			
		||||
          group = "+git";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Gitsigns toggle_current_line_blame<CR>";
 | 
			
		||||
          key = "<leader>gb";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "toggle git blame";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,103 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      globals = {
 | 
			
		||||
        mapleader = ";";
 | 
			
		||||
      };
 | 
			
		||||
      plugins.which-key.settings.spec = [
 | 
			
		||||
        {
 | 
			
		||||
          __unkeyed-1 = "<leader>c";
 | 
			
		||||
          group = "+check";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = ":setlocal spell!<CR>";
 | 
			
		||||
          key = "<leader>cs";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "toggle spell check";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":bnext<CR>";
 | 
			
		||||
          key = "gf";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "next buffer";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":bprevious<CR>";
 | 
			
		||||
          key = "gF";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "prev buffer";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = "<C-w>h";
 | 
			
		||||
          key = "<C-h>";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "move to right split";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = "<C-w>j";
 | 
			
		||||
          key = "<C-j>";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "move to below split";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = "<C-w>k";
 | 
			
		||||
          key = "<C-k>";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "move to above split";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = "<C-w>l";
 | 
			
		||||
          key = "<C-l>";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "move to left split";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = "za";
 | 
			
		||||
          key = "<Space>";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "toggle fold";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":nohls<CR>";
 | 
			
		||||
          key = "<leader>h";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "clear highlighting";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf (config.user.nvim.enable && config.user.nvim.enable-lsp) {
 | 
			
		||||
    home.file = {
 | 
			
		||||
      ".clangd".text = ''
 | 
			
		||||
        # keeps clangd from choking when it sees a compiler flag for a different
 | 
			
		||||
        # compiler. (sutch as when acting as an lsp for a project that uses GCC.)
 | 
			
		||||
        CompileFlags:
 | 
			
		||||
          Add: -Wno-unknown-warning-option
 | 
			
		||||
          Remove: [-m*, -f*]
 | 
			
		||||
      '';
 | 
			
		||||
      ".clang-format".text = ''
 | 
			
		||||
        ---
 | 
			
		||||
        #this syncronizes with settings used by neovims treesitters so that the lsp formatting and treesitter formatting do not fight eatch other.
 | 
			
		||||
        PointerAlignment: Left
 | 
			
		||||
        ColumnLimit: 80
 | 
			
		||||
        IndentWidth: 4
 | 
			
		||||
        TabWidth: 4
 | 
			
		||||
        UseCRLF: false
 | 
			
		||||
        UseTab: Never
 | 
			
		||||
        AlignAfterOpenBracket: BlockIndent
 | 
			
		||||
        AlwaysBreakBeforeMultilineStrings: true
 | 
			
		||||
        BreakBeforeBraces: Attach
 | 
			
		||||
        AlignOperands: Align
 | 
			
		||||
        BreakBeforeBinaryOperators: NonAssignment
 | 
			
		||||
        ...
 | 
			
		||||
      '';
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,192 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.nvim.enable-lsp = lib.mkEnableOption "nvim lsp";
 | 
			
		||||
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      user.nvim.enable-completions = true;
 | 
			
		||||
      programs.nixvim = {helpers, ...}: {
 | 
			
		||||
        plugins.lsp = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          servers = {
 | 
			
		||||
            basedpyright.enable = true;
 | 
			
		||||
            bashls.enable = true;
 | 
			
		||||
            clangd.enable = true;
 | 
			
		||||
            hls.enable = true;
 | 
			
		||||
            hls.installGhc = true;
 | 
			
		||||
            jsonls.enable = true;
 | 
			
		||||
            lua_ls.enable = true;
 | 
			
		||||
            nil_ls.enable = true;
 | 
			
		||||
            nil_ls.settings.formatting.command = ["alejandra"];
 | 
			
		||||
            nushell.enable = true;
 | 
			
		||||
            ruff.enable = true;
 | 
			
		||||
            taplo.enable = true;
 | 
			
		||||
            texlab.enable = true;
 | 
			
		||||
            tinymist.enable = true;
 | 
			
		||||
            ts_ls.enable = true;
 | 
			
		||||
            uiua.enable = true;
 | 
			
		||||
            yamlls.enable = true;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
        plugins.cmp.settings.sources = [
 | 
			
		||||
          {name = "nvim_lsp";}
 | 
			
		||||
        ];
 | 
			
		||||
        plugins.which-key.settings.spec = [
 | 
			
		||||
          {
 | 
			
		||||
            __unkeyed-1 = "<leader>l";
 | 
			
		||||
            group = "+lsp";
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
        keymaps = [
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.declaration";
 | 
			
		||||
            key = "<leader>lc";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "declaration";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.definition";
 | 
			
		||||
            key = "<leader>ld";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "definition";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.hover";
 | 
			
		||||
            key = "<leader>lh";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "hover";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.implementation";
 | 
			
		||||
            key = "<leader>li";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "implementation";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.signature_help";
 | 
			
		||||
            key = "<leader>ls";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "signature_help";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.add_workspace_folder";
 | 
			
		||||
            key = "<leader>lwa";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "add folder";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.remove_workspace_folder";
 | 
			
		||||
            key = "<leader>lwr";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "remove folder";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.list_workspace_folders";
 | 
			
		||||
            key = "<leader>lw";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "workspace";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.rename";
 | 
			
		||||
            key = "<leader>lr";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "rename";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.code_action";
 | 
			
		||||
            key = "<leader>la";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "code action";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.lsp.buf.references";
 | 
			
		||||
            key = "<leader>le";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "list references";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "function() vim.lsp.buf.format{async=true} end";
 | 
			
		||||
            key = "<leader>lm";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "format buffer";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.diagnostic.open_float";
 | 
			
		||||
            key = "<leader>lo";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "open float";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.diagnostic.goto_next";
 | 
			
		||||
            key = "]d";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "next diagnostic";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = helpers.mkRaw "vim.diagnostic.goto_prev";
 | 
			
		||||
            key = "[d";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "prev diagnostic";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
      home.packages = with pkgs; [
 | 
			
		||||
        alejandra
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./rustaceanvim.nix
 | 
			
		||||
    ./clangd.nix
 | 
			
		||||
    ./zig.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,14 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      programs.nixvim = {
 | 
			
		||||
        plugins.rustaceanvim.enable = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,17 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable) {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.lsp.servers.zls = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
          enable_build_on_save = true;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,84 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.lualine = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
          options = {
 | 
			
		||||
            alwaysDivideMiddle = true;
 | 
			
		||||
            icons_enabled = true;
 | 
			
		||||
          };
 | 
			
		||||
          sections = {
 | 
			
		||||
            lualine_a = [
 | 
			
		||||
              "mode"
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_b = [
 | 
			
		||||
              "branch"
 | 
			
		||||
              "diff"
 | 
			
		||||
              "diagnostics"
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_c = [
 | 
			
		||||
              {
 | 
			
		||||
                __unkeyed = "filename";
 | 
			
		||||
                path = 1;
 | 
			
		||||
              }
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_x = [
 | 
			
		||||
              "encoding"
 | 
			
		||||
              "fileformat"
 | 
			
		||||
              "filetype"
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_y = [
 | 
			
		||||
              "progress"
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_z = [
 | 
			
		||||
              "location"
 | 
			
		||||
            ];
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          inactiveSections = {
 | 
			
		||||
            lualine_a = [];
 | 
			
		||||
            lualine_b = [];
 | 
			
		||||
            lualine_c = ["filename"];
 | 
			
		||||
            lualine_x = ["filetype"];
 | 
			
		||||
            lualine_y = [];
 | 
			
		||||
            lualine_z = [];
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          tabline = {
 | 
			
		||||
            lualine_a = [
 | 
			
		||||
              {
 | 
			
		||||
                __unkeyed = "buffers";
 | 
			
		||||
                mode = 4;
 | 
			
		||||
              }
 | 
			
		||||
            ];
 | 
			
		||||
            lualine_b = [];
 | 
			
		||||
            lualine_c = [];
 | 
			
		||||
            lualine_x = [];
 | 
			
		||||
            lualine_y = [];
 | 
			
		||||
            lualine_z = [
 | 
			
		||||
              {
 | 
			
		||||
                __unkeyed = "tabs";
 | 
			
		||||
                mode = 2;
 | 
			
		||||
              }
 | 
			
		||||
            ];
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          winbar = {
 | 
			
		||||
            lualine_a = [];
 | 
			
		||||
            lualine_b = [];
 | 
			
		||||
            lualine_c = [];
 | 
			
		||||
            lualine_x = [];
 | 
			
		||||
            lualine_y = [];
 | 
			
		||||
            lualine_z = [];
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,35 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.web-devicons.enable = true;
 | 
			
		||||
      plugins.nvim-tree = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        disableNetrw = true;
 | 
			
		||||
        hijackCursor = true;
 | 
			
		||||
        hijackNetrw = true;
 | 
			
		||||
        hijackUnnamedBufferWhenOpening = true;
 | 
			
		||||
        actions = {
 | 
			
		||||
          useSystemClipboard = true;
 | 
			
		||||
          changeDir.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
        filesystemWatchers.enable = true;
 | 
			
		||||
      };
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = ":NvimTreeToggle<CR>";
 | 
			
		||||
          key = "<leader>t";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "toggle file browser";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,72 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      opts = {
 | 
			
		||||
        mouse = "a";
 | 
			
		||||
        lazyredraw = true;
 | 
			
		||||
        termguicolors = true;
 | 
			
		||||
        autoread = true;
 | 
			
		||||
        swapfile = false;
 | 
			
		||||
        history = 500;
 | 
			
		||||
        formatoptions = "rojq";
 | 
			
		||||
        # dont hard wrap
 | 
			
		||||
        textwidth = 0;
 | 
			
		||||
        wrapmargin = 0;
 | 
			
		||||
        breakindent = true;
 | 
			
		||||
        # highlight after col
 | 
			
		||||
        colorcolumn = "80,100,120";
 | 
			
		||||
        # add ruler to side of screen
 | 
			
		||||
        number = true;
 | 
			
		||||
        numberwidth = 3;
 | 
			
		||||
        #display cursor cordinates
 | 
			
		||||
        ruler = true;
 | 
			
		||||
        #always leave 5 cells between cursor and side of window
 | 
			
		||||
        scrolloff = 5;
 | 
			
		||||
        # better command line completion
 | 
			
		||||
        wildmenu = true;
 | 
			
		||||
        # ignore case if all lowercase
 | 
			
		||||
        ignorecase = true;
 | 
			
		||||
        smartcase = true;
 | 
			
		||||
        # show unfinished keycombos in statusbar
 | 
			
		||||
        showcmd = true;
 | 
			
		||||
        # regex stuff
 | 
			
		||||
        magic = true;
 | 
			
		||||
        # always show statusline
 | 
			
		||||
        laststatus = 2;
 | 
			
		||||
        # tab stuff
 | 
			
		||||
        tabstop = 4;
 | 
			
		||||
        shiftwidth = 0;
 | 
			
		||||
        autoindent = true;
 | 
			
		||||
        smartindent = true;
 | 
			
		||||
        smarttab = true;
 | 
			
		||||
        # for true tabs, change to false
 | 
			
		||||
        expandtab = true;
 | 
			
		||||
        softtabstop = -1;
 | 
			
		||||
        # highlight search results as you type
 | 
			
		||||
        hlsearch = true;
 | 
			
		||||
        incsearch = true;
 | 
			
		||||
        # folding stuff
 | 
			
		||||
        foldlevelstart = 5;
 | 
			
		||||
        foldmethod = lib.mkDefault "indent";
 | 
			
		||||
        foldcolumn = "auto:4";
 | 
			
		||||
        foldenable = true;
 | 
			
		||||
        # display whitespace as other chars
 | 
			
		||||
        list = true;
 | 
			
		||||
        listchars = {
 | 
			
		||||
          tab = ">-";
 | 
			
		||||
          eol = "↲";
 | 
			
		||||
          nbsp = "␣";
 | 
			
		||||
          trail = "•";
 | 
			
		||||
          extends = "⟩";
 | 
			
		||||
          precedes = "⟨";
 | 
			
		||||
        };
 | 
			
		||||
        showbreak = "↪";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.comment.enable = true;
 | 
			
		||||
      plugins.marks.enable = true;
 | 
			
		||||
      plugins.vim-surround.enable = true;
 | 
			
		||||
      plugins.todo-comments.enable = true;
 | 
			
		||||
      plugins.leap = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        addDefaultMappings = true;
 | 
			
		||||
      };
 | 
			
		||||
      extraPlugins = with pkgs.vimPlugins; [
 | 
			
		||||
        vim-numbertoggle
 | 
			
		||||
        dressing-nvim
 | 
			
		||||
      ];
 | 
			
		||||
      extraConfigLua = ''require("dressing").setup({})'';
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,126 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.web-devicons.enable = true;
 | 
			
		||||
      plugins.telescope = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
      };
 | 
			
		||||
      plugins.which-key.settings.spec = [
 | 
			
		||||
        {
 | 
			
		||||
          __unkeyed-1 = "<leader>f";
 | 
			
		||||
          group = "+telescope";
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          __unkeyed-1 = "<leader>fg";
 | 
			
		||||
          group = "+telescope git";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope find_files<CR>";
 | 
			
		||||
          key = "<leader>ff";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "files";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope live_grep<CR>";
 | 
			
		||||
          key = "<leader>fg";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "grep";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope buffers<CR>";
 | 
			
		||||
          key = "<leader>fb";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "buffers";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope marks<CR>";
 | 
			
		||||
          key = "<leader>fm";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "marks";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope registers<CR>";
 | 
			
		||||
          key = "<leader>fr";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "registers";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope keymaps<CR>";
 | 
			
		||||
          key = "<leader>fk";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "keymaps";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope current_buffer_fuzzy_find<CR>";
 | 
			
		||||
          key = "<leader>fz";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "fuzzy find";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope git_commits<CR>";
 | 
			
		||||
          key = "<leader>fgc";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "commits";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope git_branches<CR>";
 | 
			
		||||
          key = "<leader>fgb";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "branches";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope git_stash<CR>";
 | 
			
		||||
          key = "<leader>fgs";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "stash";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":Telescope git_commits<CR>";
 | 
			
		||||
          key = "<leader>fgc";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "commits";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,38 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {helpers, ...}: {
 | 
			
		||||
      plugins.toggleterm = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
          direction = "horizontal";
 | 
			
		||||
          insert_mappings = false;
 | 
			
		||||
          terminal_mappings = false;
 | 
			
		||||
          open_mapping = ''[[<c-\>]]'';
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = helpers.mkRaw "function() Floatingterm:toggle() end";
 | 
			
		||||
          key = "<leader>s";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "toggle scratch terminal";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      extraConfigLuaPre = ''
 | 
			
		||||
        local Terminal = require('toggleterm.terminal').Terminal
 | 
			
		||||
        Floatingterm = Terminal:new({
 | 
			
		||||
            hidden = true,
 | 
			
		||||
            direction = "float"
 | 
			
		||||
        })
 | 
			
		||||
      '';
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      programs.nixvim = {
 | 
			
		||||
        keymaps = [
 | 
			
		||||
          {
 | 
			
		||||
            action = ":AerialToggle!<CR>";
 | 
			
		||||
            key = "<leader>o";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "toggle outline";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
        extraPlugins = with pkgs.vimPlugins; [
 | 
			
		||||
          aerial-nvim
 | 
			
		||||
        ];
 | 
			
		||||
        extraConfigLua = ''require("aerial").setup({})'';
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,58 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  options.user.nvim.enable-treesitter = lib.mkEnableOption "enable nvim treesitter";
 | 
			
		||||
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      user.nvim.enable-completions = true;
 | 
			
		||||
      programs.nixvim = {
 | 
			
		||||
        opts.foldmethod = "expr";
 | 
			
		||||
        plugins.treesitter = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          folding = true;
 | 
			
		||||
          settings.indent.enable = true;
 | 
			
		||||
          nixvimInjections = true;
 | 
			
		||||
        };
 | 
			
		||||
        plugins.treesitter-context.enable = true;
 | 
			
		||||
        plugins.indent-blankline.enable = true;
 | 
			
		||||
        extraPlugins = with pkgs.vimPlugins; [
 | 
			
		||||
          treesj
 | 
			
		||||
        ];
 | 
			
		||||
        extraConfigLua = ''
 | 
			
		||||
          require("treesj").setup({
 | 
			
		||||
              use_default_keymaps=false,
 | 
			
		||||
          })
 | 
			
		||||
        '';
 | 
			
		||||
        keymaps = [
 | 
			
		||||
          {
 | 
			
		||||
            action = ":TSContextToggle<CR>";
 | 
			
		||||
            key = "<leader>x";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "tree context toggle";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
          {
 | 
			
		||||
            action = ":TSJToggle<CR>";
 | 
			
		||||
            key = "<leader>j";
 | 
			
		||||
            mode = "n";
 | 
			
		||||
            options = {
 | 
			
		||||
              silent = true;
 | 
			
		||||
              desc = "tree sitter join toggle";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./rainbow-delimiters.nix
 | 
			
		||||
    ./arial.nix
 | 
			
		||||
    ./tree-sitter-nu.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,25 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      programs.nixvim = {
 | 
			
		||||
        plugins.rainbow-delimiters = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          highlight = [
 | 
			
		||||
            "RainbowDelimiterYellow"
 | 
			
		||||
            "RainbowDelimiterBlue"
 | 
			
		||||
            "RainbowDelimiterOrange"
 | 
			
		||||
            "RainbowDelimiterGreen"
 | 
			
		||||
            "RainbowDelimiterViolet"
 | 
			
		||||
            "RainbowDelimiterCyan"
 | 
			
		||||
            # "RainbowDelimiterRed"
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,53 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config =
 | 
			
		||||
    lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
 | 
			
		||||
    {
 | 
			
		||||
      programs.nixvim = let
 | 
			
		||||
        nu-grammar = pkgs.tree-sitter.buildGrammar {
 | 
			
		||||
          language = "nu";
 | 
			
		||||
          version = "0.0.0+rev=358c4f5";
 | 
			
		||||
          src = pkgs.fetchFromGitHub {
 | 
			
		||||
            owner = "nushell";
 | 
			
		||||
            repo = "tree-sitter-nu";
 | 
			
		||||
            rev = "c5b7816043992b1cdc1462a889bc74dc08576fa6";
 | 
			
		||||
            hash = "sha256-P+ixE359fAW7R5UJLwvMsmju7UFmJw5SN+kbMEw7Kz0=";
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      in {
 | 
			
		||||
        # Set filetype to "nu" for files named "*.nu"
 | 
			
		||||
        filetype.extension.nu = "nu";
 | 
			
		||||
 | 
			
		||||
        # Add our nu parser to treesitter and associate it with nu filetype.
 | 
			
		||||
        extraConfigLua = ''
 | 
			
		||||
          local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
 | 
			
		||||
          parser_config.nu = {
 | 
			
		||||
            filetype = "nu",
 | 
			
		||||
          }
 | 
			
		||||
        '';
 | 
			
		||||
 | 
			
		||||
        # Add the nu injections
 | 
			
		||||
        extraFiles = {
 | 
			
		||||
          "/queries/nu/highlights.scm".source = "${nu-grammar}/queries/nu/highlights.scm";
 | 
			
		||||
          "/queries/nu/injections.scm".source = "${nu-grammar}/queries/nu/injections.scm";
 | 
			
		||||
          "/queries/nu/indents.scm".source = "${nu-grammar}/queries/nu/indents.scm";
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        plugins = {
 | 
			
		||||
          treesitter = {
 | 
			
		||||
            # Register the nu parser for files with "nu" filetype
 | 
			
		||||
            languageRegister.nu = "nu";
 | 
			
		||||
            grammarPackages =
 | 
			
		||||
              [
 | 
			
		||||
                nu-grammar
 | 
			
		||||
              ]
 | 
			
		||||
              ++ pkgs.vimPlugins.nvim-treesitter.allGrammars;
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      opts = {
 | 
			
		||||
        timeout = true;
 | 
			
		||||
        timeoutlen = 300;
 | 
			
		||||
      };
 | 
			
		||||
      plugins.which-key.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,77 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  config = lib.mkIf config.user.nvim.enable {
 | 
			
		||||
    programs.nixvim = {
 | 
			
		||||
      plugins.zk = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings.picker = "telescope";
 | 
			
		||||
      };
 | 
			
		||||
      plugins.which-key.settings.spec = [
 | 
			
		||||
        {
 | 
			
		||||
          __unkeyed-1 = "<leader>z";
 | 
			
		||||
          group = "+zk";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
      keymaps = [
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkNewFromTitleSelection<CR>";
 | 
			
		||||
          key = "<leader>zn";
 | 
			
		||||
          mode = "v";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "New zk note with title from selection";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkaMatch<CR>";
 | 
			
		||||
          key = "<leader>zs";
 | 
			
		||||
          mode = "v";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "Search zk notes from selection";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkNotes<CR>";
 | 
			
		||||
          key = "<leader>zn";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "Search zk notes";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkLinks<CR>";
 | 
			
		||||
          key = "<leader>zl";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "Search outgoing links";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkBacklinks<CR>";
 | 
			
		||||
          key = "<leader>zb";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "Search incoming links";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          action = ":ZkTags<CR>";
 | 
			
		||||
          key = "<leader>zt";
 | 
			
		||||
          mode = "n";
 | 
			
		||||
          options = {
 | 
			
		||||
            silent = true;
 | 
			
		||||
            desc = "Search tags";
 | 
			
		||||
          };
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue