aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home.legacy/conf
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:35:44 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:54:51 +0100
commit2122a01f99c6da466b8f0f55c965c11a9043d117 (patch)
tree6c1697afc30a5bb72635bda7db9b5610386a5b71 /modules/home.legacy/conf
parentfix(pkgs/stamp): Fallback to `dot-license` (diff)
downloadnixos-config-2122a01f99c6da466b8f0f55c965c11a9043d117.zip
refactor(modules/legacy/conf/nvim): Move to `by-name`
Diffstat (limited to 'modules/home.legacy/conf')
-rw-r--r--modules/home.legacy/conf/default.nix1
-rw-r--r--modules/home.legacy/conf/nvim/autocmds/default.nix124
-rw-r--r--modules/home.legacy/conf/nvim/clipboard/default.nix7
-rw-r--r--modules/home.legacy/conf/nvim/default.nix55
-rw-r--r--modules/home.legacy/conf/nvim/files/default.nix9
-rw-r--r--modules/home.legacy/conf/nvim/files/ftplugin/tex.lua60
-rw-r--r--modules/home.legacy/conf/nvim/mappings/default.nix298
-rw-r--r--modules/home.legacy/conf/nvim/options/default.nix104
-rw-r--r--modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix17
-rw-r--r--modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua16
-rw-r--r--modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua44
-rw-r--r--modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix41
-rw-r--r--modules/home.legacy/conf/nvim/plgs/debugprint/default.nix70
-rw-r--r--modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua3
-rw-r--r--modules/home.legacy/conf/nvim/plgs/default.nix33
-rw-r--r--modules/home.legacy/conf/nvim/plgs/femaco/default.nix23
-rw-r--r--modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua51
-rw-r--r--modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix20
-rw-r--r--modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua104
-rw-r--r--modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix47
-rw-r--r--modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua21
-rw-r--r--modules/home.legacy/conf/nvim/plgs/harpoon/default.nix94
-rw-r--r--modules/home.legacy/conf/nvim/plgs/leap/default.nix59
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix18
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua43
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix50
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua146
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/default.nix29
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix70
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix15
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/bashls.nix5
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ccls.nix5
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix39
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix8
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/nil-ls.nix10
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix17
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix12
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix15
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix10
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix17
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/texlab.nix7
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lspkind/default.nix6
-rw-r--r--modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix9
-rw-r--r--modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua16
-rw-r--r--modules/home.legacy/conf/nvim/plgs/lualine/default.nix121
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/default.nix20
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua7
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua211
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua102
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua28
-rw-r--r--modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua37
-rw-r--r--modules/home.legacy/conf/nvim/plgs/neorg/default.nix57
-rw-r--r--modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix54
-rw-r--r--modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix15
-rw-r--r--modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua18
-rw-r--r--modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix11
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/default.nix17
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix30
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix17
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix9
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix22
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/fzy-native/default.nix5
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/default.nix7
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua76
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix52
-rw-r--r--modules/home.legacy/conf/nvim/plgs/telescope/keymaps/default.nix10
-rw-r--r--modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix51
-rw-r--r--modules/home.legacy/conf/nvim/plgs/treesitter/default.nix59
-rw-r--r--modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix69
-rw-r--r--modules/home.legacy/conf/nvim/plgs/which-key/default.nix5
70 files changed, 0 insertions, 2958 deletions
diff --git a/modules/home.legacy/conf/default.nix b/modules/home.legacy/conf/default.nix
index 138e2080..e943f7b6 100644
--- a/modules/home.legacy/conf/default.nix
+++ b/modules/home.legacy/conf/default.nix
@@ -23,7 +23,6 @@
./neomutt
./nix-index
./npm
- ./nvim
./prusa_slicer
./python
./rclone
diff --git a/modules/home.legacy/conf/nvim/autocmds/default.nix b/modules/home.legacy/conf/nvim/autocmds/default.nix
deleted file mode 100644
index a8f00bdc..00000000
--- a/modules/home.legacy/conf/nvim/autocmds/default.nix
+++ /dev/null
@@ -1,124 +0,0 @@
-{config, ...}: {
- programs.nixvim = {
- autoGroups = {
- cursor_off = {clear = true;};
- colorcolumn_toggle = {clear = true;};
- numbertoggle = {clear = true;};
- coloroverride = {clear = true;};
- highlight_on_yank = {clear = true;};
- create_dir = {clear = true;};
- };
- autoCmd = [
- {
- # Taken from: https://github.com/jghauser/mkdir.nvim
- event = ["BufWritePre"];
- pattern = ["*"];
- callback = {
- __raw = ''
- function()
- -- Get current filename, get full path (:p) and leave only the head (:h)
- local dir = vim.fn.expand('<afile>:p:h')
-
- -- This handles URLs using netrw. See ':help netrw-transparent' for details.
- if dir:find('%l+://') == 1 then
- return
- end
-
- if vim.fn.isdirectory(dir) == 0 then
- vim.fn.mkdir(dir, 'p')
- end
- end
- '';
- };
- group = "create_dir";
- desc = "Create the directory of the target file on write";
- }
- {
- event = ["TextYankPost"];
- pattern = ["*"];
- callback = {
- __raw = ''
- function()
- vim.highlight.on_yank()
- end
- '';
- };
- group = "highlight_on_yank";
- desc = "Highlight the yanked text";
- }
- {
- event = ["BufWritePre"];
- pattern = ["*"];
- command = ''
- ks | if search("\\s\\+$", 'n') != 0 | :%s/\s\+$// | endif | 's
- '';
- desc = ''
- Remove trailing whitespace on safe
- :%s/\s\+$\| \+\ze\t//g >> For trailing spaces and spaces before tabstops
- '';
- }
-
- {
- event = ["WinLeave"];
- pattern = ["*"];
- command = "set nocursorline"; # TODO: possible also nocursorcolumn
- group = "cursor_off";
- desc = "Display cursorline and cursorcolumn ONLY in active window.";
- }
- {
- event = ["WinEnter"];
- pattern = ["*"];
- command = "set cursorline"; # TODO: possible also cursorcolumn
- group = "cursor_off";
- desc = "Display cursorline and cursorcolumn ONLY in active window.";
- }
-
- {
- event = ["InsertEnter"];
- pattern = ["*"];
- command = "set colorcolumn=${config.programs.nixvim.opts.colorcolumn}";
- group = "colorcolumn_toggle";
- desc = "Only activate the colorcolumn when focused";
- }
- {
- event = ["BufLeave" "FocusLost" "InsertLeave" "WinLeave"];
- pattern = ["*"];
- command = "set colorcolumn=0";
- group = "colorcolumn_toggle";
- desc = "Only activate the colorcolumn when focused";
- }
-
- {
- event = ["BufEnter" "FocusGained" "InsertLeave" "WinEnter"];
- pattern = ["*"];
- command = "if &nu && mode() != \"i\" | set rnu | endif";
- group = "numbertoggle";
- desc = "Change line numbers, when not focused";
- }
- {
- event = ["BufLeave" "FocusLost" "InsertEnter" "WinLeave"];
- pattern = ["*"];
- command = "if &nu | set nornu | endif";
- group = "numbertoggle";
- desc = "Change line numbers, when not focused";
- }
-
- {
- # Override LineNr
- event = ["ColorScheme"];
- pattern = ["*"];
- command = "highlight LineNr ctermfg=DarkGrey guifg=DarkGrey ";
- group = "coloroverride";
- desc = "Changes Line number colors";
- }
- {
- # Override CursorLineNr
- event = ["ColorScheme"];
- pattern = ["*"];
- command = "highlight CursorLineNr ctermfg=White guifg=White ";
- group = "coloroverride";
- desc = "Changes Line number colors";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/clipboard/default.nix b/modules/home.legacy/conf/nvim/clipboard/default.nix
deleted file mode 100644
index 0a686190..00000000
--- a/modules/home.legacy/conf/nvim/clipboard/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{...}: {
- programs.nixvim = {
- clipboard.providers = {
- wl-copy.enable = true;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/default.nix b/modules/home.legacy/conf/nvim/default.nix
deleted file mode 100644
index 2da80c22..00000000
--- a/modules/home.legacy/conf/nvim/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{pkgs, ...}: {
- imports = [
- ./autocmds
- ./clipboard
- ./files
- ./mappings
- ./options
- ./plgs
- ];
- home.sessionVariables = {
- EDITOR = "nvim";
- VISUAL = "nvim";
- CODEEDITOR = "nvim";
- };
- programs.nixvim = {
- enable = true;
-
- # source: https://www.patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=Neovim
- extraConfigLuaPre =
- /*
- FIXME: Update the merge function to support that: <2023-08-29>
-
- lib.mkBefore
- */
- ''
- ---------------------------------------------------------------------------
- --
- -- ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
- -- ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
- -- ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
- -- ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
- -- ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
- -- ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
- --
- ---------------------------------------------------------------------------
- '';
-
- extraPackages = with pkgs; [
- /*
- These are mostly linters and formatters used for different file types.
- Including them here is fine, as they are not necessarily sync able to different people.
- */
- # nix
- alejandra
- statix
-
- # yaml
- yamllint
-
- # shell
- shellcheck
- shfmt
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/files/default.nix b/modules/home.legacy/conf/nvim/files/default.nix
deleted file mode 100644
index f935ac7b..00000000
--- a/modules/home.legacy/conf/nvim/files/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{lib, ...}: {
- programs.nixvim = {
- extraFiles = {
- "ftplugin/tex.lua".text = ''
- ${lib.strings.fileContents ./ftplugin/tex.lua}
- '';
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/files/ftplugin/tex.lua b/modules/home.legacy/conf/nvim/files/ftplugin/tex.lua
deleted file mode 100644
index 4107a7c5..00000000
--- a/modules/home.legacy/conf/nvim/files/ftplugin/tex.lua
+++ /dev/null
@@ -1,60 +0,0 @@
--- local used = false;
--- vim.keymap.set('n', '<leader>t', function()
--- used = not used;
--- if used then
--- require('nvim-treesitter.configs').setup {
--- highlight = {
--- additional_vim_regex_highlighting = { "latex", "markdown" },
--- },
--- }
--- else
--- require('nvim-treesitter.configs').setup {
--- highlight = {
--- additional_vim_regex_highlighting = { "" },
--- },
--- }
--- end
--- end
--- );
---
---
-
--- Set tex specific telescope extension
-require("telescope").setup({
- extensions = {
- bibtex = {
- -- Depth for the *.bib file
- depth = 1,
- -- Path to global bibliographies (placed outside of the project)
- global_files = {},
- -- Define the search keys to use in the picker
- search_keys = { "author", "year", "title" },
- -- Template for the formatted citation
- citation_format = "{{author}} ({{year}}), {{title}}.",
- -- Only use initials for the authors first name
- citation_trim_firstname = true,
- -- Max number of authors to write in the formatted citation
- -- following authors will be replaced by "et al."
- citation_max_auth = 2,
- -- Wrapping in the preview window is disabled by default
- wrap = false,
- -- Custom format for citation label
- custom_formats = {
- { id = "tex_autocite", cite_marker = "\\autocite{%s}" },
- },
- format = "tex_autocite",
- -- Use context awareness
- context = true,
- -- Fallback to global/directory .bib files if context not found
- -- This setting has no effect if context = false
- context_fallback = true,
- },
- },
-})
-require("telescope").load_extension("bibtex")
-vim.keymap.set(
- "n",
- "<leader>ib",
- function() require("telescope").extensions.bibtex.bibtex() end,
- { noremap = true, silent = true, desc = "list bibtex entries in telescope" }
-)
diff --git a/modules/home.legacy/conf/nvim/mappings/default.nix b/modules/home.legacy/conf/nvim/mappings/default.nix
deleted file mode 100644
index d422abf7..00000000
--- a/modules/home.legacy/conf/nvim/mappings/default.nix
+++ /dev/null
@@ -1,298 +0,0 @@
-{lib, ...}: {
- programs.nixvim = {
- globals = {
- mapleader = " ";
- maplocalleader = " ";
- };
- keymaps = [
- {
- mode = ["n" "i"];
- key = "<Esc>";
- action = "<cmd>noh<CR><Esc>";
- options.desc = "Disable the search highlighting and send Escape";
- }
- {
- key = "hh";
- mode = ["i"];
- action.__raw = ''
- function()
- local cmp = require('cmp');
- local luasnip = require('luasnip');
-
- if cmp.visible() then
- cmp.select_next_item()
- elseif luasnip.expand_or_locally_jumpable() then
- luasnip.expand_or_jump()
- end
- end
- '';
- options.desc = "completion trigger/ forward in completen menu";
- }
- {
- key = "uu";
- mode = ["i"];
- action.__raw = ''
- function()
- local cmp = require('cmp');
- cmp.confirm()
- end
- '';
- options.desc = "confirm the selected item";
- }
-
- {
- key = "<C-Tab>";
- action = "<cmd>tabnext<CR>";
- options.desc = "cycle to the next tab";
- }
- {
- key = "<S-C-Tab>";
- action = "<cmd>tabprevious<CR>";
- options.desc = "cycle to the previous tab";
- }
-
- # yank/ cut to the system clipboard
- {
- key = "<leader>y";
- action = "\"+y";
- options.desc = "yank to the system clipboard";
- }
- {
- key = "<leader>Y";
- action = "\"+Y";
- options.desc = "yank until the end of the line to the system clipboard";
- }
-
- # Unmap some old keys
- #{key = "s"; action = "'<Nop>'";}
- #{key = "t"; action = "'<Nop>'";}
- {
- key = "<Up>";
- action = "<Nop>";
- }
- {
- key = "<Down>";
- action = "<Nop>";
- }
- {
- key = "<Left>";
- action = "<Nop>";
- }
- {
- key = "<Right>";
- action = "<Nop>";
- }
-
- # Center the cursor vertically when moving to the next word during a search.
- {
- key = "l";
- action = "nzzzv";
- options.desc = "Center the cursor vertically when moving to the next word during a search.";
- }
- {
- key = "L";
- action = "Nzzzv";
- options.desc = "Center the cursor vertically when moving to the next word during a search.";
- }
- # remap the other keys to dvorak
- {
- key = "k";
- action = "t";
- options.desc = "go the the right on char";
- }
- {
- key = "K";
- action = "T";
- options.desc = "go to the left on char";
- }
- {
- key = "j";
- action = "k";
- options.desc = "go to the right before the char";
- }
- {
- key = "J";
- action = "K";
- options.desc = "go to the left before the char";
- }
-
- # Change Vim-keys
- {
- key = "h";
- action = "<left>";
- options.desc = "go left";
- }
- {
- key = "t";
- action = "g<down>";
- options.desc = "go down, with displaylines";
- }
- {
- key = "n";
- action = "g<up>";
- options.desc = "go up, with displaylines";
- }
- {
- key = "s";
- action = "<right>";
- options.desc = "go right";
- }
-
- # Move display lines
- {
- key = "0";
- action = "g0";
- options.desc = "go to the leftmost character in the screen line";
- }
- {
- key = "$";
- action = "g$";
- options.desc = "go to the rightmost character in the screen line";
- }
- {
- mode = ["n"];
- key = "<Enter>";
- action = "gf";
- options.desc = "open file/url under cursor";
- }
- {
- mode = ["n"];
- key = "<Tab>";
- action = ":";
- options.desc = "jump to command line";
- }
-
- {
- mode = ["n"];
- key = "\\f";
- action.__raw = "function() require('lf').start() end";
- options.desc = "open lf in a floating window";
- }
-
- # Splits
- {
- mode = ["n"];
- key = "<C-t>";
- action = "<C-w>p";
- options.desc = "go to previous split";
- }
- {
- mode = ["n"];
- key = "<C-n>";
- action = "<C-w>w";
- options.desc = "go to next split";
- }
- {
- mode = ["n"];
- key = "<leader>-";
- action = "<C-W>s";
- options.desc = "New horizontal split";
- }
- {
- mode = ["n"];
- key = "<leader>|";
- action = "<C-W>v";
- options.desc = "New vertical split";
- }
-
- {
- mode = ["n"];
- key = "<leader>p";
- action = "\"_dP";
- options.desc = "keep the cut thing in the base register";
- }
- {
- mode = ["n"];
- key = "<leader>c";
- action = "\"_c";
- options.desc = "change without saving to register";
- }
-
- {
- mode = ["n"];
- key = "<leader>d";
- action = "\"_d";
- options.desc = "delete without saving to register";
- }
- {
- key = "x";
- mode = ["n"];
- action.__raw = ''
- function()
- local col = vim.api.nvim_win_get_cursor(0)[2]
- local char = vim.api.nvim_get_current_line():sub(col+1,col+1)
- if char:match("%s") then
- return '"_x'
- else
- return "x"
- end
- end
- '';
- options = {
- desc = "Pipe all space only deletions to the blackhole register";
- expr = true;
- silent = true;
- };
- }
- {
- key = "dd";
- mode = ["n"];
- action.__raw = ''
- function()
- if vim.api.nvim_get_current_line():match("^%s*$") then
- return '"_dd'
- else
- return "dd"
- end
- end
- '';
- options = {
- desc = "Pipe all blank line deletions to the blackhole register";
- expr = true;
- silent = true;
- };
- }
-
- {
- mode = ["n"];
- key = "<leader>s";
- action = ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>";
- options.desc = "replace for the word under the cursor";
- }
-
- {
- mode = ["n"];
- key = "<C-s>";
- action = "<cmd>mksession! <CR>";
- options.desc = "overwrite/create a session";
- }
-
- {
- mode = ["n"];
- key = "<leader>X";
- action = "!!$SHELL <CR>";
- options.desc = "Read the current line and execute that line in your $SHELL. The resulting output will replace the curent line that was being executed.";
- }
- {
- mode = ["t"];
- key = "<Esc><Esc>";
- action = "<C-\\><C-n>";
- options.desc = "Exit terminal mode with <Esc><Esc>";
- }
-
- # move selected lines in visual mode
- {
- mode = ["v"];
- key = "T";
- action = ":m '>+1<CR>gv=gv";
- options.desc = "move selected lines in visual mode down";
- }
- {
- mode = ["v"];
- key = "N";
- action = ":m '<-2<CR>gv=gv";
- options.desc = "move selected lines in visual mode up";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/options/default.nix b/modules/home.legacy/conf/nvim/options/default.nix
deleted file mode 100644
index f66b2181..00000000
--- a/modules/home.legacy/conf/nvim/options/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{nixosConfig, ...}: {
- programs.nixvim.opts = {
- autoindent = true; # copy indent from previous line
- cindent = true; # use c like indenting rules
- breakindent = true; # continue indent visually
- showbreak = "↳ "; # downwards arrow with tip rightwards(U+21B3, UTF-8: E2 86 B3)
- breakindentopt = {
- shift = 2; # wrapped line's beginning will be shifted by the given number of
- };
-
- incsearch = true; # show search results while typing
- inccommand = "split"; # line preview of :s results
- ignorecase = true; # ignore case when searching
- smartcase = true; # if a capital letter is used in search, overwrite ignorecase
- showmatch = true; # show matching words during a search.
- hlsearch = true; # highlight when searching
-
- confirm = true; # confirm to save changes before closing modified buffer
- colorcolumn = "+1"; # show a +1 before the 'textwidth'
- completeopt = ["menuone" "noselect"]; # have a better completion experience
-
- # https://www.compart.com/en/unicode/U+XXXX (unicode character code)
- fillchars = {
- fold = "·"; # MIDDLE DOT (U+00B7, UTF-8: C2 B7)
- horiz = "━"; # BOX DRAWINGS HEAVY HORIZONTAL (U+2501, UTF-8: E2 94 81)
- horizdown = "┳"; # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL (U+2533, UTF-8: E2 94 B3)
- horizup = "┻"; # BOX DRAWINGS HEAVY UP AND HORIZONTAL (U+253B, UTF-8: E2 94 BB)
- vert = "┃"; # BOX DRAWINGS HEAVY VERTICAL (U+2503, UTF-8: E2 94 83)
- vertleft = "┫"; # BOX DRAWINGS HEAVY VERTICAL AND LEFT (U+252B, UTF-8: E2 94 AB)
- vertright = "┣"; # BOX DRAWINGS HEAVY VERTICAL AND RIGHT (U+2523, UTF-8: E2 94 A3)
- verthoriz = "╋"; # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL (U+254B, UTF-8: E2 95 8B)
- };
- listchars = builtins.concatStringsSep "," [
- "nbsp:⦸" # CIRCLED REVERSE SOLIDUS (U+29B8, UTF-8: E2 A6 B8)
- "tab:▷┅" # WHITE RIGHT-POINTING TRIANGLE (U+25B7, UTF-8: E2 96 B7)
- "extends:»" # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, UTF-8: C2 BB)
- "precedes:«" # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, UTF-8: C2 AB)
- "trail:•" # BULLET (U+2022, UTF-8: E2 80 A2)
- ];
-
- # shell-like autocomplete to unambiguous portions
- wildmode = builtins.concatStringsSep "," [
- "longest"
- "list"
- "full"
- ];
-
- grepformat = "%f:%l:%c:%m"; # the default format for rg in vimgrep mode
- grepprg = "rg --vimgrep"; # use rg as grep implementation in `:grep`
-
- hidden = true; # allows you to hide buffers with unsaved changes without being prompted
-
- laststatus = 3; # use global statusline # TODO:
-
- list = true; # show whitespace
-
- mouse = ""; # disables the mouse
-
- number = true; # line numbers
- relativenumber = true; # relative line numbers
-
- # vim.opt.shada:append {'%'}; -- store buffers in the shada file and reopen them if nvim has been started without file name argument
-
- shell = nixosConfig.users.users.soispha.shell.pname; # try to use default shell for the default user as a shell for ":!"
-
- spell = true; # activate spell checking
- spelllang = "en_us,de_de"; # set spell languages
- spelloptions = "camel"; # CamelCase check if both camel and case are correct words
-
- syntax = "ON"; # use syntax highlighting and let nvim figure out which
-
- shiftwidth = 0; # use tabstop setting as shiftwidth
- tabstop = 4; # use 4 spaces in place of a tab
- expandtab = true; # expand tabs to spaces
-
- showtabline = 2; # always show the tabline
-
- timeoutlen = 500; # wait 500 msec for the next char in an input sequence
- ttyfast = true; # let vim know that I am using a fast term
-
- undofile = true; # use a undofile, to save the undos
- undolevels = 10000; # keep nearly all undo things stored
-
- virtualedit = "block"; # allow the cursor to move beyond actual character in visual block mode
-
- textwidth = 90; # automatically hard wrap at 90 columns by default
-
- foldmethod = "marker"; # use markers to specify folds
-
- termguicolors = true;
- cursorline = true;
- # vim.opt.cursorcolumn = true;
-
- scrolloff = 999; # try to keep at least 999 lines above and below the cursor (this effectively keeps the screen centered)
-
- linebreak = true; # break to long lines, but do only break them at [[::space::]]
-
- showcmd = true; # show partial command, being typed
- showmode = true; # show the mode (Visual, Insert, Command)
-
- wildmenu = true; # shell completion
- wildignore = "*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx"; # ignore binary files
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix b/modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix
deleted file mode 100644
index 11357f77..00000000
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package nightfox though a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/nightfox.lua}
- ${lib.strings.fileContents ./lua/mk_todos_readable.lua}
- '';
- colorscheme = "carbonfox";
- extraPlugins = [
- pkgs.vimPlugins.nightfox-nvim
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua b/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua
deleted file mode 100644
index d02171b5..00000000
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-local opts = { bg = "NONE", bold = true }
-
----@param hl_group string: The name of the hl group
----@param extra_opts table: Extra options to pass to nvim_set_hl
-local set_hl = function(hl_group, extra_opts)
- local local_opts = vim.deepcopy(opts)
- for k, v in ipairs(extra_opts) do
- local_opts[k] = v
- end
- vim.api.nvim_set_hl(0, hl_group, local_opts)
-end
-
-set_hl("@text.danger", { fg = "red" })
-set_hl("@text.note", { fg = "blue" })
-set_hl("@text.todo", { fg = "green" })
-set_hl("@text.warning", { fg = "yellow" })
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua b/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua
deleted file mode 100644
index 4c502153..00000000
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua
+++ /dev/null
@@ -1,44 +0,0 @@
-require("nightfox").setup({
- options = {
- -- Compiled file's destination location
- compile_path = vim.fn.stdpath("cache") .. "/nightfox",
- compile_file_suffix = "_compiled", -- Compiled file suffix
- transparent = true, -- Disable setting background
- terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal`
- dim_inactive = true, -- Non focused panes set to alternative background
- module_default = true, -- Default enable value for modules
- colorblind = {
- enable = true, -- Enable colorblind support
- simulate_only = false, -- Only show simulated colorblind colors and not diff shifted
- severity = {
- protan = 0.3, -- Severity [0,1] for protan (red)
- deutan = 0.9, -- Severity [0,1] for deutan (green)
- tritan = 0, -- Severity [0,1] for tritan (blue)
- },
- },
- styles = { -- Style to be applied to different syntax groups
- comments = "italic", -- Value is any valid attr-list value `:help attr-list`
- conditionals = "NONE",
- constants = "NONE",
- functions = "bold",
- keywords = "bold",
- numbers = "NONE",
- operators = "NONE",
- strings = "NONE",
- types = "NONE",
- variables = "NONE",
- },
- inverse = { -- Inverse highlight for different types
- match_paren = false,
- visual = false,
- search = false,
- },
- modules = { -- List of various plugins and additional options
- diagnostic = { enable = true, background = false },
- native_lsp = { enable = true, background = false },
- },
- },
- palettes = {},
- specs = {},
- groups = {},
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix b/modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix
deleted file mode 100644
index 2a73b8db..00000000
--- a/modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{...}: {
- programs.nixvim = {
- plugins.comment = {
- enable = true;
- settings = {
- padding = true;
- sticky = true;
- mappings = {
- basic = false;
- extra = false;
- };
- };
- };
- keymaps = [
- {
- key = "gcc";
- mode = "v";
- action = "<Plug>(comment_toggle_linewise_visual)";
- options.desc = "toggle the current line in a linewise comment";
- }
- {
- key = "gbc";
- mode = "v";
- action = "<Plug>(comment_toggle_blockwise_visual)";
- options.desc = "toggle the current line in a blockwise comment";
- }
- {
- key = "gcc";
- mode = "n";
- action = "<Plug>(comment_toggle_linewise_current)";
- options.desc = "toggle the current line in a linewise comment";
- }
- {
- key = "gbc";
- mode = "n";
- action = "<Plug>(comment_toggle_blockwise_current)";
- options.desc = "toggle the current line in a blockwise comment";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/debugprint/default.nix b/modules/home.legacy/conf/nvim/plgs/debugprint/default.nix
deleted file mode 100644
index 3c591e9f..00000000
--- a/modules/home.legacy/conf/nvim/plgs/debugprint/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package debugprint though a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/debugprint.lua}
- '';
- extraPlugins = [
- pkgs.vimExtraPlugins.debugprint-nvim
- ];
-
- keymaps = [
- {
- key = "g?v";
- mode = ["v" "n"];
- action.__raw = ''
- function()
- return require('debugprint').debugprint({variable = true;});
- end
- '';
- options.expr = true;
- options.desc = ''
- 'variable' debug line below the current line
- '';
- }
- {
- key = "g?V";
- mode = ["v" "n"];
- action.__raw = ''
- function()
- return require('debugprint').debugprint({above = true; variable = true;}) ;
- end
- '';
- options.expr = true;
- options.desc = ''
- 'variable' debug line above the current line
- '';
- }
- {
- key = "g?p";
- mode = "n";
- action.__raw = ''
- function()
- return require('debugprint').debugprint();
- end
- '';
- options.expr = true;
- options.desc = ''
- 'plain' debug line below the current line
- '';
- }
- {
- key = "g?P";
- mode = "n";
- action.__raw = ''
- function()
- return require('debugprint').debugprint({above = true;});
- end
- '';
- options.expr = true;
- options.desc = ''
- 'plain' debug line above the current line
- '';
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua b/modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua
deleted file mode 100644
index da7e1735..00000000
--- a/modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua
+++ /dev/null
@@ -1,3 +0,0 @@
-require("debugprint").setup({
- create_keymaps = false,
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/default.nix b/modules/home.legacy/conf/nvim/plgs/default.nix
deleted file mode 100644
index 991bc315..00000000
--- a/modules/home.legacy/conf/nvim/plgs/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{...}: {
- imports =
- [
- # Plugins not yet packaged in nixpkgs
- # ./debugprint
- ./lf-nvim
- # ./lsp-progress-nvim
- ]
- ++ [
- # Already packaged in nixpkgs
- ./colorscheme
- ./comment-nvim
- ./femaco
- ./flatten-nvim
- ./goto-preview
- ./harpoon
- ./leap
- ./lsp
- ./lspkind
- ./ltex_extra
- ./lualine
- ./luasnip
- ./neorg
- ./nvim-cmp
- ./nvim-lint
- ./raw_plugins
- ./telescope
- ./todo-comments
- ./treesitter
- ./vim-tex
- ./which-key
- ];
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/femaco/default.nix b/modules/home.legacy/conf/nvim/plgs/femaco/default.nix
deleted file mode 100644
index 6c4a7d89..00000000
--- a/modules/home.legacy/conf/nvim/plgs/femaco/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package femaco through a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/femaco.lua}
- '';
- extraPlugins = [
- pkgs.vimPlugins.nvim-FeMaco-lua
- ];
- keymaps = [
- {
- key = "<leader>cc";
- mode = "n";
- action.__raw = "require('femaco.edit').edit_code_block";
- options.desc = "edit a [c]ode blo[c]k with femaco";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua b/modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua
deleted file mode 100644
index c113e4c7..00000000
--- a/modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua
+++ /dev/null
@@ -1,51 +0,0 @@
-local clip_val = require("femaco.utils").clip_val
-require("femaco").setup({
- -- should prepare a new buffer and return the winid
- -- by default opens a floating window
- -- provide a different callback to change this behaviour
- -- @param opts: the return value from float_opts
- prepare_buffer = function(opts)
- local buf = vim.api.nvim_create_buf(false, false)
- return vim.api.nvim_open_win(buf, true, opts)
- end,
- -- should return options passed to nvim_open_win
- -- @param code_block: data about the code-block with the keys
- -- * range
- -- * lines
- -- * lang
- float_opts = function(code_block)
- return {
- relative = "cursor",
- width = clip_val(5, 120, vim.api.nvim_win_get_width(0) - 10), -- TODO: how to offset sign column etc?
- height = clip_val(5, #code_block.lines, vim.api.nvim_win_get_height(0) - 6),
- anchor = "NW",
- row = 0,
- col = 0,
- style = "minimal",
- border = "rounded",
- zindex = 1,
- }
- end,
- -- return filetype to use for a given lang
- -- lang can be nil
- ft_from_lang = function(lang) return lang end,
- -- what to do after opening the float
- post_open_float = function(winnr) vim.wo.signcolumn = "no" end,
- -- create the path to a temporary file
- create_tmp_filepath = function(filetype) return os.tmpname() end,
- -- if a newline should always be used, useful for multiline injections
- -- which separators needs to be on separate lines such as markdown, neorg etc
- -- @param base_filetype: The filetype which FeMaco is called from, not the
- -- filetype of the injected language (this is the current buffer so you can
- -- get it from vim.bo.filetyp).
- ensure_newline = function(base_filetype) return false end,
- -- Return true if the indentation should be normalized. Useful when the
- -- injected language inherits indentation from the construction scope (e.g. an
- -- inline multiline sql string). If true, the leading indentation is detected,
- -- stripped, and restored before/after editing.
- --
- -- @param base_filetype: The filetype which FeMaco is called from, not the
- -- filetype of the injected language (this is the current buffer, so you can
- -- get it from vim.bo.filetype).
- normalize_indent = function(base_filetype) return false end,
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix b/modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix
deleted file mode 100644
index cd6f8bcc..00000000
--- a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package flatten-nvim though a module
-
- extraConfigLuaPre = ''
- ${lib.strings.fileContents ./lua/flatten-nvim.lua}
- if os.getenv("NVIM") ~= nil then
- -- Avoid loading plugins because the host will take control of the instance anyways
- return
- end
- '';
- extraPlugins = [
- pkgs.vimPlugins.flatten-nvim
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua b/modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua
deleted file mode 100644
index 2cdbcdde..00000000
--- a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua
+++ /dev/null
@@ -1,104 +0,0 @@
----Types:
---
--- Passed to callbacks that handle opening files
----@alias BufInfo { fname: string, bufnr: buffer }
---
--- Needed aliases
----@alias buffer integer: Buffer id
----@alias window integer: Window id
---
--- The first argument is a list of BufInfo tables representing the newly opened files.
--- The third argument is a single BufInfo table, only provided when a buffer is created from stdin.
---
--- IMPORTANT: For `block_for` to work, you need to return a buffer number OR a buffer number and a window number.
--- The `winnr` return value is not required, `vim.fn.bufwinid(bufnr)` is used if it is not provided.
--- The `filetype` of this buffer will determine whether block should happen or not.
---
----@alias OpenHandler fun(files: BufInfo[], argv: string[], stdin_buf: BufInfo, guest_cwd: string):window, buffer
---
-require("flatten").setup({
- callbacks = {
- ---Called to determine if a nested session should wait for the host to close the file.
- ---param argv: a list of all the arguments in the nested session
- ---@type fun(argv: table): boolean
- should_block = require("flatten").default_should_block,
-
- ---If this returns true, the nested session will be opened.
- ---If false, default behavior is used, and
- ---config.nest_if_no_args is respected.
- ---@type fun(host: channel):boolean
- should_nest = require("flatten").default_should_nest,
-
- ---Called before a nested session is opened.
- pre_open = function() end,
-
- ---Called after a nested session is opened.
- ---@param bufnr buffer
- ---@param winnr window
- ---@param filetype string
- ---@param is_blocking boolean
- ---@param is_diff boolean
- post_open = function(bufnr, winnr, filetype, is_blocking, is_diff)
- -- If the file is a git commit, create one-shot autocmd to delete its buffer on write
- if filetype == "gitcommit" or filetype == "gitrebase" then
- vim.api.nvim_create_autocmd("BufWritePost", {
- buffer = bufnr,
- once = true,
- callback = vim.schedule_wrap(function() vim.api.nvim_buf_delete(bufnr, {}) end),
- })
- end
- end,
-
- ---Called when a nested session is done waiting for the host.
- ---@param filetype string
- block_end = function(filetype) end,
- },
- -- <String, Bool> dictionary of filetypes that should be blocking
- block_for = {
- gitcommit = true,
- },
- -- Command passthrough
- allow_cmd_passthrough = true,
- -- Allow a nested session to open if Neovim is opened without arguments
- nest_if_no_args = false,
- -- Window options
- window = {
- -- Options:
- -- current -> open in current window (default)
- -- alternate -> open in alternate window (recommended)
- -- tab -> open in new tab
- -- split -> open in split
- -- vsplit -> open in vsplit
- -- smart -> smart open (avoids special buffers)
- -- OpenHandler -> allows you to handle file opening yourself (see Types)
- --
- -- TODO: Open gitcommit filetypes in the current buffer, everything else in a new tab <2023-08-29>
- open = "split",
-
- -- Options:
- -- vsplit -> opens files in diff vsplits
- -- split -> opens files in diff splits
- -- tab_vsplit -> creates a new tabpage, and opens diff vsplits
- -- tab_split -> creates a new tabpage, and opens diff splits
- -- OpenHandler -> allows you to handle file opening yourself (see Types)
- diff = "tab_vsplit",
-
- -- Affects which file gets focused when opening multiple at once
- -- Options:
- -- "first" -> open first file of new files (default)
- -- "last" -> open last file of new files
- focus = "first",
- },
- -- Override this function to use a different socket to connect to the host
- -- On the host side this can return nil or the socket address.
- -- On the guest side this should return the socket address
- -- or a non-zero channel id from `sockconnect`
- -- flatten.nvim will detect if the address refers to this instance of nvim, to determine if this is a host or a guest
- pipe_path = require("flatten").default_pipe_path,
- -- The `default_pipe_path` will treat the first nvim instance within a single kitty/wezterm session as the host
- -- You can configure this behaviour using the following:
- one_per = {
- kitty = true, -- Flatten all instance in the current Kitty session
- wezterm = true, -- Flatten all instance in the current Wezterm session
- },
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix b/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix
deleted file mode 100644
index 3de28c68..00000000
--- a/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package goto-preview though a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/goto-preview.lua}
- '';
- extraPlugins = [
- pkgs.vimPlugins.goto-preview
- ];
- keymaps = [
- {
- key = "<space>gd";
- mode = "n";
- action.__raw = "require('goto-preview').goto_preview_definition";
- options.desc = "[G]oto [D]efinition";
- }
- {
- key = "<space>gtd";
- mode = "n";
- action.__raw = "require('goto-preview').goto_preview_type_definition";
- options.desc = "[G]oto the [t]ype [D]efinition";
- }
- {
- key = "<space>gi";
- mode = "n";
- action.__raw = "require('goto-preview').goto_preview_implementation";
- options.desc = "[G]oto [I]mplementations";
- }
- {
- key = "<space>gr";
- mode = "n";
- action.__raw = "require('goto-preview').goto_preview_references";
- options.desc = "[G]o to all [R]eferences of the symbol";
- }
- {
- key = "\\<space>";
- mode = "n";
- action.__raw = "require('goto-preview').close_all_win";
- options.desc = "close all preview windows";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua b/modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua
deleted file mode 100644
index 9687a5a0..00000000
--- a/modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-require("goto-preview").setup({
- width = 120, -- Width of the floating window
- height = 15, -- Height of the floating window
- border = { "↖", "─", "┐", "│", "┘", "─", "└", "│" }, -- Border characters of the floating window
- default_mappings = false, -- Bind default mappings
- debug = false, -- Print debug information
- opacity = nil, -- 0-100 opacity level of the floating window where 100 is fully transparent.
- resizing_mappings = false, -- Binds arrow keys to resizing the floating window.
- post_open_hook = nil, -- A function taking two arguments, a buffer and a window to be ran as a hook.
- post_close_hook = nil, -- A function taking two arguments, a buffer and a window to be ran as a hook.
- references = { -- Configure the telescope UI for slowing the references cycling window.
- telescope = {}, -- require("telescope.themes").get_dropdown({ hide_preview = false })
- },
- -- These two configs can also be passed down to the goto-preview definition and implementation calls for one off "peak" functionality.
- focus_on_open = true, -- Focus the floating window when opening it.
- dismiss_on_move = false, -- Dismiss the floating window when moving the cursor.
- force_close = true, -- passed into vim.api.nvim_win_close's second argument. See :h nvim_win_close
- bufhidden = "wipe", -- the bufhidden option to set on the floating window. See :h bufhidden
- stack_floating_preview_windows = true, -- Whether to nest floating windows
- preview_window_title = { enable = true, position = "left" }, -- Whether to set the preview window title as the filename
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/harpoon/default.nix b/modules/home.legacy/conf/nvim/plgs/harpoon/default.nix
deleted file mode 100644
index 465f24f0..00000000
--- a/modules/home.legacy/conf/nvim/plgs/harpoon/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{pkgs, ...}: let
- numbers = ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"];
- mkNumberedCommand = {
- command_template,
- prefix,
- number,
- desc_template,
- }: {
- key = "${prefix}${number}";
- action.__raw = ''
- function()
- ${command_template number}
- end
- '';
- options.desc = "${desc_template number}";
- };
- mkGotoTerminalCommand = number: let
- desc_template = number: "Goto terminal number ${number}";
- command_template = number: ''require("harpoon.term").gotoTerminal(${number})'';
- prefix = "gt";
- in
- mkNumberedCommand {inherit desc_template command_template prefix number;};
- mkGotoFileCommand = number: let
- desc_template = number: "Goto Buffer number ${number}";
- command_template = number: ''require("harpoon.ui").nav_file(${number})'';
- prefix = "gf";
- in
- mkNumberedCommand {inherit desc_template command_template prefix number;};
-
- gotoTerminalMappings = builtins.map mkGotoTerminalCommand numbers;
- gotoFileMappings = builtins.map mkGotoFileCommand numbers;
-in {
- programs.nixvim = {
- plugins.harpoon = {
- enable = true;
- package = pkgs.vimPlugins.harpoon;
- enableTelescope = true;
- # menu.width = "vim.api.nvim_win_get_width(0) - 4"; # TODO: integrate that
- keymaps = {
- tmuxGotoTerminal = null; # TODO:
- };
- };
- keymaps =
- [
- {
- key = "-";
- action.__raw = ''
- function()
- require("harpoon.ui").nav_next()
- end
- '';
- options.desc = "go to the next marked file";
- }
- {
- key = "_";
- action.__raw = ''
- function()
- require("harpoon.ui").nav_prev()
- end
- '';
- options.desc = "go to the previous marked file";
- }
- {
- key = "<leader><leader>";
- action.__raw = ''
- function()
- require("harpoon.mark").add_file()
- end
- '';
- options.desc = "add a mark to the open file in harpoon.";
- }
- {
- key = "gqc";
- action.__raw = ''
- function()
- require("harpoon.cmd-ui").toggle_quick_menu()
- end
- '';
- options.desc = "toggle the harpoon command quick menu to see all commands.";
- }
- {
- key = "<leader>q";
- action.__raw = ''
- function()
- require("harpoon.ui").toggle_quick_menu()
- end
- '';
- options.desc = "toggle the harpoon normal quick menu to see all marks.";
- }
- ]
- ++ gotoFileMappings
- ++ gotoTerminalMappings;
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/leap/default.nix b/modules/home.legacy/conf/nvim/plgs/leap/default.nix
deleted file mode 100644
index 4e7ae60c..00000000
--- a/modules/home.legacy/conf/nvim/plgs/leap/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{...}: {
- programs.nixvim = {
- plugins.leap = {
- enable = true;
- addDefaultMappings = false; # They don't work with dvorak.
- safeLabels = [
- "f"
- "j"
- "k"
- "l"
- "/"
- "z"
- "S"
- "F"
- "J"
- "K"
- "L"
- "H"
- "W"
- "E"
- "M"
- "B"
- "U"
- "X"
- "?"
- "Z"
- ];
- };
- keymaps = [
- {
- key = "j";
- action = "<Plug>(leap-forward-to)";
- options.desc = "jump forward to";
- }
- {
- key = "J";
- action = "<Plug>(leap-backward-to)";
- options.desc = "jump backward to";
- }
- {
- key = "gj";
- action = "<Plug>(leap-from-window)";
- options.desc = "jump to enterable windows";
- }
- /*
- {key= "x";
- mode = "v";
- action = "<Plug>(leap-forward-till)";
- options.desc = "leap forward till";
- }
- {key= "X";
- mode = "v";
- action = "<Plug>(leap-backward-till)";
- options.desc = "leap backward till";
- }
- */
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix b/modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix
deleted file mode 100644
index 11ad2807..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package lf-nvim though a module
- # FIXME: change the nvim path, when I change the path with lf
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/lf-nvim.lua}
- '';
- extraPlugins = [
- pkgs.vimExtraPlugins.lf-nvim
-
- pkgs.vimPlugins.toggleterm-nvim # required by lf-nvim
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua b/modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua
deleted file mode 100644
index 1eadf375..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua
+++ /dev/null
@@ -1,43 +0,0 @@
-local fn = vim.fn
-
--- Defaults
-require("lf").setup({
- default_action = "drop", -- default action when `Lf` opens a file
- -- TODO: what do these mappings do?
- default_actions = { -- default action keybindings
- ["<C-t>"] = "tabedit",
- ["<C-x>"] = "split",
- ["<C-v>"] = "vsplit",
- ["<C-o>"] = "tab drop",
- },
-
- winblend = 10, -- psuedotransparency level
- dir = "", -- directory where `lf` starts ('gwd' is git-working-directory, ""/nil is CWD)
- direction = "float", -- window type: float horizontal vertical
- border = "rounded", -- border kind: single double shadow curved
- height = fn.float2nr(fn.round(0.75 * vim.o.lines)), -- height of the *floating* window
- width = fn.float2nr(fn.round(0.75 * vim.o.columns)), -- width of the *floating* window
- escape_quit = true, -- map escape to the quit command (so it doesn't go into a meta normal mode)
- focus_on_open = true, -- focus the current file when opening Lf (experimental)
- mappings = true, -- whether terminal buffer mapping is enabled
- tmux = false, -- tmux statusline can be disabled on opening of Lf
- default_file_manager = true, -- make lf default file manager
- disable_netrw_warning = true, -- don't display a message when opening a directory with `default_file_manager` as true
- highlights = { -- highlights passed to toggleterm
- Normal = { link = "Normal" },
- NormalFloat = { link = "Normal" },
- FloatBorder = { guifg = "#cdcbe0", guibg = "#191726" },
- },
-
- -- Layout configurations
- layout_mapping = "<M-u>", -- resize window with this key
- views = { -- window dimensions to rotate through
- { width = 0.800, height = 0.800 },
- { width = 0.600, height = 0.600 },
- { width = 0.950, height = 0.950 },
- { width = 0.500, height = 0.500, col = 0, row = 0 },
- { width = 0.500, height = 0.500, col = 0, row = 0.5 },
- { width = 0.500, height = 0.500, col = 0.5, row = 0 },
- { width = 0.500, height = 0.500, col = 0.5, row = 0.5 },
- },
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix b/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix
deleted file mode 100644
index 6602ceb6..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- lib,
- pkgs,
- ...
-}: {
- programs.nixvim = {
- # TODO: package lsp-progress-nvim though a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/lsp-progress-nvim.lua}
- '';
- extraPlugins = [
- pkgs.vimExtraPlugins.lsp-progress-nvim
- ];
-
- # Status line setup
- autoGroups.lsp_refresh.clear = true;
- autoCmd = [
- {
- event = ["User LspProgressStatusUpdated"];
- pattern = ["*"];
- callback =
- /*
- lua
- */
- {
- __raw = ''
- require("lualine").refresh
- '';
- };
- group = "lsp_refresh";
- description = "Refresh the statusbar when the lsp status was updated.";
- }
- ];
- plugins.lualine = let
- get_lsp_progress = {
- __raw =
- /*
- lua
- */
- ''
- require('lsp-progress').progress
- '';
- };
- in {
- sections = {
- lualine_c = [{name = get_lsp_progress;}];
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua b/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua
deleted file mode 100644
index 5a2cff26..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua
+++ /dev/null
@@ -1,146 +0,0 @@
---- @type table<string, any>
-require("lsp-progress").setup({
- -- Spinning icons.
- --
- --- @type string[]
- spinner = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" },
-
- -- Spinning update time in milliseconds.
- --
- --- @type integer
- spin_update_time = 200,
-
- -- Last message cached decay time in milliseconds.
- --
- -- Message could be really fast(appear and disappear in an
- -- instant) that user cannot even see it, thus we cache the last message
- -- for a while for user view.
- --
- --- @type integer
- decay = 700,
-
- -- User event name.
- --
- --- @type string
- event = "LspProgressStatusUpdated",
-
- -- Event update time limit in milliseconds.
- --
- -- Sometimes progress handler could emit many events in an instant, while
- -- refreshing statusline cause too heavy synchronized IO, so we limit the
- -- event rate to reduce this cost.
- --
- --- @type integer
- event_update_time_limit = 100,
-
- -- Max progress string length, by default -1 is unlimited.
- --
- --- @type integer
- max_size = -1,
-
- -- Regular internal update time.
- --
- -- Emit user event to update the lsp progress status, even there's no new
- -- message.
- --
- --- @type integer
- regular_internal_update_time = 500,
-
- -- Disable emitting events on specific mode/filetype.
- -- User events would interrupt insert mode, thus break which-key like plugins behaviour.
- -- See:
- -- * https://github.com/linrongbin16/lsp-progress.nvim/issues/50
- -- * https://neovim.io/doc/user/builtin.html#mode()
- --
- --- @type table[]
- disable_events_opts = { { mode = "i", filetype = "TelescopePrompt" } },
-
- -- Format series message.
- --
- -- By default it looks like: `formatting isort (100%) - done`.
- --
- --- @param title string|nil
- --- Message title.
- --- @param message string|nil
- --- Message body.
- --- @param percentage number|nil
- --- Progress in percentage numbers: 0-100.
- --- @param done boolean
- --- Indicate whether this series is the last one in progress.
- --- @return string|nil messages
- --- The returned value will be passed to function `client_format` as
- --- one of the `series_messages` array, or ignored if return nil.
- series_format = function(title, message, percentage, done)
- local builder = {}
- local has_title = false
- local has_message = false
- if title and title ~= "" then
- table.insert(builder, title)
- has_title = true
- end
- if message and message ~= "" then
- table.insert(builder, message)
- has_message = true
- end
- if percentage and (has_title or has_message) then table.insert(builder, string.format("(%.0f%%%%)", percentage)) end
- if done and (has_title or has_message) then table.insert(builder, "- done") end
- return table.concat(builder, " ")
- end,
-
- -- Format client message.
- --
- -- By default it looks like:
- -- `[null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`.
- --
- --- @param client_name string
- --- Client name.
- --- @param spinner string
- --- Spinner icon.
- --- @param series_messages string[]|table[]
- --- Messages array.
- --- @return string|nil messages
- --- The returned value will be passed to function `format` as one of the
- --- `client_messages` array, or ignored if return nil.
- client_format = function(client_name, spinner, series_messages)
- return #series_messages > 0
- and ("[" .. client_name .. "] " .. spinner .. " " .. table.concat(series_messages, ", "))
- or nil
- end,
-
- -- Format (final) message.
- --
- -- By default it looks like:
- -- ` LSP [null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`
- --
- --- @param client_messages string[]|table[]
- --- Client messages array.
- --- @return nil|string message
- --- The returned value will be returned from `progress` API.
- format = function(client_messages)
- local sign = " LSP" -- nf-fa-gear \uf013
- return #client_messages > 0 and (sign .. " " .. table.concat(client_messages, " ")) or sign
- end,
-
- -- Enable debug.
- --
- --- @type boolean
- debug = false,
-
- -- Print log to console(command line).
- --
- --- @type boolean
- console_log = false,
-
- -- Print log to file.
- --
- --- @type boolean
- file_log = true,
-
- -- Log file to write, work with `file_log=true`.
- --
- -- For Windows: `$env:USERPROFILE\AppData\Local\nvim-data\lsp-progress.log`.
- -- For *NIX: `~/.local/share/nvim/lsp-progress.log`.
- --
- --- @type string
- file_log_name = "lsp-progress.log",
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/default.nix b/modules/home.legacy/conf/nvim/plgs/lsp/default.nix
deleted file mode 100644
index b7c1e174..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{...}: {
- imports = [
- ./keymaps
- ./servers
- ];
- programs.nixvim.plugins.lsp = {
- enable = true;
- onAttach =
- ""
- # + ''
- # function(client, bufnr)
- # -- Enable completion triggered by <c-x><c-o>
- # -- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
- # end
- # ''
- ;
- preConfig = ''
- vim.diagnostic.config({
- underline = true,
- -- virtual_text = true,
- virtual_text = {
- source = "always", -- Or "if_many"
- },
- update_in_insert = true,
- severity_sort = true,
- }, nil);
- '';
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix b/modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix
deleted file mode 100644
index b1276639..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{...}: {
- programs.nixvim = {
- plugins.lsp.keymaps = {
- diagnostic = {
- "N" = {
- action = "goto_prev";
- desc = "go to previous diagnostic message";
- };
- "T" = {
- action = "goto_next";
- desc = "go to next diagnostic message";
- };
- "<space>e" = {
- action = "open_float";
- desc = "open float for the symbol";
- };
- "<space>gq" = {
- action = "setloclist";
- desc = "add buffer diagnostic to the location list (quick-fix)";
- };
- };
- lspBuf = {
- "<space>gD" = {
- action = "declaration";
- desc = "[G]o to [d]eclaration";
- };
- "<space>hi" = {
- action = "hover";
- desc = "Display [h]over [i]nformation";
- };
- "<space>sh" = {
- action = "signature_help";
- desc = "Display [s]ignature [h]elp";
- };
- "<space>wa" = {
- action = "add_workspace_folder";
- desc = "[W]orkspace folder [a]dd";
- };
- "<space>wr" = {
- action = "remove_workspace_folder";
- desc = "[W]orkspace folder [r]emove";
- };
- "<space>rn" = {
- action = "rename";
- desc = "[R]e[n]ame the item under the cursor";
- };
- "<space>ca" = {
- action = "code_action";
- desc = "Open the [c]ode [a]ction menu";
- };
- };
- };
- keymaps = [
- {
- key = "<space>f";
- action.__raw = "function() vim.lsp.buf.format { async = true } end";
- options.desc = "[F]ormat the current buffer (asynchronously)";
- }
- {
- key = "<space>wl";
- action.__raw = ''
- function()
- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
- end
- '';
- options.desc = "[W]orkspace folders [l]ist";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix
deleted file mode 100644
index 605046d4..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{...}: {
- imports = [
- # ./servers/pylyzer.nix
- ./servers/bashls.nix
- ./servers/ccls.nix
- ./servers/quick-lint-js.nix
- ./servers/ltex.nix
- ./servers/lua-ls.nix
- ./servers/nil-ls.nix
- ./servers/openscad.nix
- ./servers/ruff-lsp.nix
- ./servers/rust-analyzer.nix
- ./servers/texlab.nix
- ];
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/bashls.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/bashls.nix
deleted file mode 100644
index 0577a335..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/bashls.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- bashls.enable = true;
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ccls.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ccls.nix
deleted file mode 100644
index 0698bcce..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ccls.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- ccls.enable = true;
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix
deleted file mode 100644
index 3224bc41..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- ltex = let
- filetypes = [
- "java"
- "cpp"
- "shell"
- "bash"
-
- "bibtex"
- "context"
- "context.tex"
- "latex"
- "tex"
-
- "markdown"
- "org"
- "restructuredtext"
- "rsweave"
-
- "git-commit"
- "gitcommit"
-
- "mail"
- ];
- in {
- enable = true;
- inherit filetypes;
- settings = {
- enabled = filetypes;
- completionEnabled = false;
- language = "en-CA";
- additionalRules = {
- enablePickyRules = true;
- };
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix
deleted file mode 100644
index 4f20558c..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- lua_ls = {
- enable = true;
- settings.telemetry.enable = false;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/nil-ls.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/nil-ls.nix
deleted file mode 100644
index f0cccbdc..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/nil-ls.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- nil_ls = {
- enable = true;
- settings = {
- formatting.command = ["alejandra"];
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix
deleted file mode 100644
index a0221cc4..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- extraConfigLuaPost =
- /*
- lua
- */
- ''
- require('lspconfig').openscad_lsp.setup{
- cmd = {"openscad-lsp", "--stdio", "--fmt-style", "WebKit"},
- }
- '';
- extraPackages = with pkgs; [
- openscad-lsp
- clang-tools # Need to satisfy `clang-format` (which is used by openscad-lsp)
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix
deleted file mode 100644
index b1042221..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- extraConfigLuaPost =
- /*
- lua
- */
- ''
- require('lspconfig').pylyzer.setup{}
- '';
- extraPackages = with pkgs; [pylyzer];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
deleted file mode 100644
index 23c3054a..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- extraConfigLuaPost =
- /*
- lua
- */
- ''
- require('lspconfig').quick_lint_js.setup{
- }
- '';
- extraPackages = with pkgs; [
- quick-lint-js
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix
deleted file mode 100644
index 6fbdc998..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- plugins.lsp.servers = {
- ruff_lsp = {
- enable = true;
- };
- };
- extraPackages = with pkgs; [ruff];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix
deleted file mode 100644
index 5da61a71..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- rust_analyzer = {
- enable = true;
- settings = {
- typing.autoClosingAngleBrackets.enable = true;
-
- # Check with `cargo clippy` instead of just `cargo check`
- check.command = "clippy";
- };
- # NOTE: These should be provided by the devenv, to support nightly and
- # such things <2023-11-25>
- installCargo = false;
- installRustc = false;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/texlab.nix b/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/texlab.nix
deleted file mode 100644
index 59af8d39..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/texlab.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lsp.servers = {
- texlab = {
- enable = true;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/lspkind/default.nix b/modules/home.legacy/conf/nvim/plgs/lspkind/default.nix
deleted file mode 100644
index ed7d411b..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lspkind/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lspkind = {
- enable = true;
- preset = "default"; # "codicons" is only for a font patched with vscode-codeicons.
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix b/modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix
deleted file mode 100644
index af78c7a5..00000000
--- a/modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- # TODO: package ltex_extra though a module
- extraPlugins = [
- pkgs.vimPlugins.ltex_extra-nvim
- ];
- plugins.lsp.servers.ltex.onAttach.function = builtins.readFile ./lua/ltex_extra.lua;
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua b/modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua
deleted file mode 100644
index d532428a..00000000
--- a/modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-require("ltex_extra").setup({
- -- table <string> : languages for witch dictionaries will be loaded, e.g. { "es-AR", "en-US" }
- -- https://valentjn.github.io/ltex/supported-languages.html#natural-languages
- load_langs = { "en-CA", "de-DE", "sv-SE" }, -- en-US as default
- -- boolean : whether to load dictionaries on startup
- init_check = true,
- -- string : relative or absolute path to store dictionaries
- -- e.g. subfolder in the project root or the current working directory: ".ltex"
- -- e.g. shared files for all projects: vim.fn.expand("~") .. "/.local/share/ltex"
- path = vim.fn.expand("~") .. "/.local/state/nvim/ltex", -- project root or current working directory
- -- string : "none", "trace", "debug", "info", "warn", "error", "fatal"
- log_level = "warn",
- -- table : configurations of the ltex language server.
- -- Only if you are calling the server from ltex_extra
- server_opts = nil,
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/lualine/default.nix b/modules/home.legacy/conf/nvim/plgs/lualine/default.nix
deleted file mode 100644
index 54d20380..00000000
--- a/modules/home.legacy/conf/nvim/plgs/lualine/default.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{...}: {
- programs.nixvim.plugins.lualine = let
- get_location_of_file = {
- __raw = ''
- function()
- local file_lines = vim.fn.line('$');
- local file_current_cursor_positon = vim.fn.getcurpos();
- return file_current_cursor_positon[3] .. ":" .. file_current_cursor_positon[2] .. "/" .. file_lines
- end
- '';
- };
-
- get_trailing_whitespace = {
- __raw = ''
- function()
- local space = vim.fn.search([[\s\+$]], 'nwc')
- return space ~= 0 and "TW:" .. space or ""
- end
- '';
- };
- get_mixed_indent = {
- __raw =
- /*
- lua
- */
- ''
- function()
- local space_pat = [[\v^ +]]
- local tab_pat = [[\v^\t+]]
- local space_indent = vim.fn.search(space_pat, 'nwc')
- local tab_indent = vim.fn.search(tab_pat, 'nwc')
- local mixed = (space_indent > 0 and tab_indent > 0)
- local mixed_same_line
- if not mixed then
- mixed_same_line = vim.fn.search([[\v^(\t+ | +\t)]], 'nwc')
- mixed = mixed_same_line > 0
- end
- if not mixed then return "" end
- if mixed_same_line ~= nil and mixed_same_line > 0 then
- return 'MI:' .. mixed_same_line
- end
- local space_indent_cnt = vim.fn.searchcount({ pattern = space_pat, max_count = 1e3 }).total
- local tab_indent_cnt = vim.fn.searchcount({ pattern = tab_pat, max_count = 1e3 }).total
- if space_indent_cnt > tab_indent_cnt then
- return 'MI:' .. tab_indent
- else
- return 'MI:' .. space_indent
- end
- end
- '';
- };
- in {
- enable = true;
-
- settings = {
- options = {
- iconsEnabled = true;
- theme = "nightfox";
- };
-
- # TODO: add all installed and supported extensions here
- extensions = [
- "toggleterm"
- #"fugitive" # TODO: maybe add this?
- ];
-
- componentSeparators = {
- left = "";
- right = "";
- };
- sectionSeparators = {
- left = "";
- right = "";
- };
- disabledFiletypes = {
- statusline = [];
- winbar = [];
- };
- ignoreFocus = [];
- alwaysDivideMiddle = true;
- globalstatus = false;
- refresh = {
- statusline = 1000;
- tabline = 1000;
- winbar = 1000;
- };
- sections = {
- lualine_a = ["mode"];
- lualine_b = [
- {
- __raw = ''
- {'FugitiveHead', icon = ""}
- '';
- }
- "diff"
- "diagnostics"
- ];
- lualine_c = ["filename"];
- lualine_x = ["searchcount" "filetype"];
- lualine_y = [
- "encoding"
- "fileformat"
- get_mixed_indent
- get_trailing_whitespace
- ];
- lualine_z = [get_location_of_file];
- };
- inactiveSections = {
- lualine_a = [];
- lualine_b = [];
- lualine_c = ["filename"];
- lualine_x = [get_location_of_file];
- lualine_y = [];
- lualine_z = [];
- };
- tabline = {};
- winbar = {};
- inactiveWinbar = {};
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/default.nix b/modules/home.legacy/conf/nvim/plgs/luasnip/default.nix
deleted file mode 100644
index 130fafee..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- lib,
- pkgs,
- ...
-}: {
- programs.nixvim = {
- plugins.luasnip = {
- enable = true;
- };
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/luasnip.lua};
- require("luasnip.loaders.from_lua").load({paths = "${./lua/snippets}"});
- require("luasnip.loaders.from_lua").lazy_load({paths = "${./lua/snippets}"});
- '';
- extraPlugins = [
- # needed for the todo-comments snippets
- pkgs.vimPlugins.comment-nvim
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua b/modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua
deleted file mode 100644
index a05fa57f..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-require("luasnip").config.set_config({
- -- Enable auto triggered snippets
- enable_autosnippets = true,
-
- -- Use Tab (or some other key if you prefer) to trigger visual selection
- store_selection_keys = "<Tab>",
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua b/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua
deleted file mode 100644
index 2b923f20..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua
+++ /dev/null
@@ -1,211 +0,0 @@
-local ls = require("luasnip")
--- auto_pairs {{{
-local get_visual = function(args, parent)
- if #parent.snippet.env.SELECT_RAW > 0 then
- return sn(nil, i(1, parent.snippet.env.SELECT_RAW))
- else
- return sn(nil, i(1, ""))
- end
-end
-local function char_count_same(c1, c2)
- local line = vim.api.nvim_get_current_line()
- -- '%'-escape chars to force explicit match (gsub accepts patterns).
- -- second return value is number of substitutions.
- local _, ct1 = string.gsub(line, "%" .. c1, "")
- local _, ct2 = string.gsub(line, "%" .. c2, "")
- return ct1 == ct2
-end
-
-local function even_count(c, ...)
- local line = vim.api.nvim_get_current_line()
- local _, ct = string.gsub(line, c, "")
- return ct % 2 == 0
-end
-
--- This makes creation of pair-type snippets easier.
-local function pair(pair_begin, pair_end, file_types, condition_function)
- -- FIXME(@Soispha): This only works if file_types == nil, otherwise the snippet does not expand.
- -- It would be nice, if it would support both an empty array (`{}`) and nil <2023-08-27>
- -- file_types = file_types or {};
-
- return s(
- { trig = pair_begin, wordTrig = false, snippetType = "autosnippet" },
- { t({ pair_begin }), d(1, get_visual), t({ pair_end }) },
- {
- condition = function()
- local filetype_check = true
- if file_types ~= nil then filetype_check = file_types[vim.bo.filetype] or false end
- return (not condition_function(pair_begin, pair_end)) and filetype_check
- end,
- }
- )
-end
-
-local auto_pairs = {
- pair("(", ")", nil, char_count_same),
- pair("{", "}", nil, char_count_same),
- pair("[", "]", nil, char_count_same),
- pair("<", ">", { ["rust"] = true, ["tex"] = true }, char_count_same),
- pair("'", "'", nil, even_count),
- pair("\"", "\"", nil, even_count),
- pair("`", "`", nil, even_count),
-}
-
-ls.add_snippets("all", auto_pairs, { type = "snippets", key = "auto_pairs" })
--- }}}
-
--- todo_comments {{{
-local calculate_comment_string = require("Comment.ft").calculate
-local utils = require("Comment.utils")
-
-local read_git_config = function(config_value)
- local command = string.format("git config \"%s\"", config_value)
- local handle = io.popen(command)
- if handle == nil then return error(string.format("Failed to call `%s`.", command)) end
- local result = handle:read("*a")
- handle:close()
- -- stripped = string.gsub(str, '%s+', '')
- return string.gsub(result, "\n", "")
-end
-
-local name_to_handle = function(name)
- -- from: https://stackoverflow.com/a/7615129
- local split = function(inputstr, sep)
- local t = {}
- for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
- table.insert(t, str)
- end
- return t
- end
-
- local parts = split(name, "%s")
-
- local output_name = ""
- if #parts > 2 then
- for _, val in ipairs(parts) do
- output_name = string.format("%s%s", output_name, val:sub(1, 1))
- end
- elseif #parts == 2 then
- output_name = string.format("%s%s", parts[1]:sub(1, 1), parts[2])
- elseif #parts == 1 then
- output_name = parts[1]
- else
- -- parts is 0
- output_name = "<NoName>"
- end
- return string.format("@%s", output_name:lower())
-end
-
-_G.luasnip = {}
-_G.luasnip.vars = {
- username = function() return name_to_handle(read_git_config("user.name")) end,
- email = function() return read_git_config("user.email") end,
-}
-
---- Get the comment string {beg,end} table
----@param ctype integer 1 for `line`-comment and 2 for `block`-comment
----@return table comment_strings {begcstring, endcstring}
-local get_cstring = function(ctype)
- -- use the `Comments.nvim` API to fetch the comment string for the region (eq. '--%s' or '--[[%s]]' for `lua`)
- local cstring = calculate_comment_string({ ctype = ctype, range = utils.get_region() }) or vim.bo.commentstring
- -- as we want only the strings themselves and not strings ready for using `format` we want to split the left and right side
- local left, right = utils.unwrap_cstr(cstring)
- -- create a `{left, right}` table for it
- return { left, right }
-end
-
---- Options for marks to be used in a TODO comment
----@return table,table: The first table contains a node for the date, the second for the signature
-local marks = {
- signature = function() return t("(" .. _G.luasnip.vars:username() .. ")"), t("") end,
- date_signature = function() return t("<" .. os.date("%Y-%m-%d") .. ">"), t("(" .. _G.luasnip.vars:username() .. ")") end,
- date = function() return t("<" .. os.date("%Y-%m-%d") .. ">"), t("") end,
- empty = function() return t(""), t("") end,
-}
-
----@param alias string
----@param opts table
----@param mark_function function: This function should return two nodes
----@return table: Returns the comment node
-local todo_snippet_nodes = function(alias, opts, mark_function)
- local date_node, signature_node = mark_function()
- -- format them into the actual snippet
- local comment_node = fmta("<> <><>: <> <> <>", {
- f(function()
- return get_cstring(opts.ctype)[1] -- get <comment-string[1]>
- end),
- t(alias), -- [name-of-comment]
- signature_node,
- i(0), -- {comment-text}
- date_node,
- f(function()
- return get_cstring(opts.ctype)[2] -- get <comment-string[2]>
- end),
- })
- return comment_node
-end
-
---- Generate a TODO comment snippet with an automatic description and docstring
----@param context table merged with the generated context table `trig` must be specified
----@param alias string of aliases for the todo comment (ex.: {FIX, ISSUE, FIXIT, BUG})
----@param opts table merged with the snippet opts table
----@param mark_function function: The function used to get the marks
-local todo_snippet = function(context, alias, opts, mark_function)
- opts = opts or {}
- context = context or {}
- if not context.trig then
- return error("context doesn't include a `trig` key which is mandatory", 2) -- all we need from the context is the trigger
- end
- opts.ctype = opts.ctype or 1 -- comment type can be passed in the `opts` table, but if it is not, we have to ensure, it is defined
- local alias_string = alias -- `choice_node` documentation
- context.name = context.name or (alias_string .. " comment") -- generate the `name` of the snippet if not defined
- context.dscr = context.dscr or (alias_string .. " comment with a signature-mark") -- generate the `dscr` if not defined
- context.docstring = context.docstring or (" {1:" .. alias_string .. "}: {3} <{2:mark}>{0} ") -- generate the `docstring` if not defined
- local comment_node = todo_snippet_nodes(alias, opts, mark_function)
- return s(context, comment_node, opts) -- the final todo-snippet constructed from our parameters
-end
-
----@param context table: The luasnip context
----@param opts table: The luasnip opts table, needs to have a ctype set
----@param aliases string: All aliases for a name
----@param marks table: Possible marks to account in snipped generation
----@return table: All possible snippets build from the marks
-local process_marks = function(context, aliases, opts, marks)
- local output = {}
- for mark_name, mark_function in pairs(marks) do
- local contex_trig_local = context.trig
- context.trig = context.trig .. "-" .. mark_name
- output[#output + 1] = todo_snippet(context, aliases, opts, mark_function)
- context.trig = contex_trig_local
- end
- return output
-end
-
-local todo_snippet_specs = {
- { { trig = "todo" }, { "TODO" }, { ctype = 1 } },
- { { trig = "fix" }, { "FIXME", "ISSUE" }, { ctype = 1 } },
- { { trig = "hack" }, { "HACK" }, { ctype = 1 } },
- { { trig = "warn" }, { "WARNING" }, { ctype = 1 } },
- { { trig = "perf" }, { "PERFORMANCE", "OPTIMIZE" }, { ctype = 1 } },
- { { trig = "note" }, { "NOTE", "INFO" }, { ctype = 1 } },
-
- -- NOTE: Block commented todo-comments
- { { trig = "todob" }, { "TODO" }, { ctype = 2 } },
- { { trig = "fixb" }, { "FIXME", "ISSUE" }, { ctype = 2 } },
- { { trig = "hackb" }, { "HACK" }, { ctype = 2 } },
- { { trig = "warnb" }, { "WARNING" }, { ctype = 2 } },
- { { trig = "perfb" }, { "PERF", "PERFORMANCE", "OPTIM", "OPTIMIZE" }, { ctype = 2 } },
- { { trig = "noteb" }, { "NOTE", "INFO" }, { ctype = 2 } },
-}
-
-local todo_comment_snippets = {}
-for _, v in ipairs(todo_snippet_specs) do
- local snippets = process_marks(v[1], v[2][1], v[3], marks)
- for _, value in pairs(snippets) do
- table.insert(todo_comment_snippets, value)
- end
-end
-
-ls.add_snippets("all", todo_comment_snippets, { type = "snippets", key = "todo_comments" })
-
--- }}}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua b/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua
deleted file mode 100644
index 568c97ec..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua
+++ /dev/null
@@ -1,102 +0,0 @@
-local get_visual = function(args, parent)
- if #parent.snippet.env.SELECT_RAW > 0 then
- return sn(nil, i(1, parent.snippet.env.SELECT_RAW))
- else
- return sn(nil, i(1))
- end
-end
-
-local line_begin = require("luasnip.extras.expand_conditions").line_begin
-
-return {
- -- HEADER
- s(
- {
- trig = "h([123456])",
- regTrig = true,
- wordTrig = false,
- snippetType = "autosnippet",
- },
- fmt(
- [[
- <h{}>{}</h{}>
- ]],
- {
- f(function(_, snip) return snip.captures[1] end),
- d(1, get_visual),
- f(function(_, snip) return snip.captures[1] end),
- }
- ),
- { condition = line_begin }
- ), -- PARAGRAPH
- s(
- { trig = "pp", snippetType = "autosnippet" },
- fmt(
- [[
- <p>{}</p>
- ]],
- { d(1, get_visual) }
- ),
- { condition = line_begin }
- ), -- UNORDERED LIST
- s(
- { trig = "itt", snippetType = "autosnippet" },
- fmt(
- [[
- <ul>
- <li>{}</li>{}
- </ul>
- ]],
- { i(1), i(0) }
- ),
- { condition = line_begin }
- ), -- LIST ITEM
- s(
- { trig = "ii", snippetType = "autosnippet" },
- fmt(
- [[
- <li>{}</li>
- ]],
- { d(1, get_visual) }
- ),
- { condition = line_begin }
- ),
- -- DOCUMENT TEMPLATE
- s(
- { trig = "base" },
- fmt(
- [[
- <!doctype HTML>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>{}</title>
- </head>
- <body>
- {}
- </body>
- </html>
- ]],
- { i(1, "FooBar"), i(0) }
- ),
- { condition = line_begin }
- ), -- ANCHOR TAG
- s(
- {
- trig = "([^%l])aa",
- regTrig = true,
- wordTrig = false,
- snippetType = "autosnippet",
- },
- fmt(
- [[
- {}<a href="{}">{}</a>
- ]],
- {
- f(function(_, snip) return snip.captures[1] end),
- i(1),
- d(2, get_visual),
- }
- )
- ),
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua b/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua
deleted file mode 100644
index ef453973..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua
+++ /dev/null
@@ -1,28 +0,0 @@
-local get_visual = function(args, parent)
- if #parent.snippet.env.SELECT_RAW > 0 then
- return sn(nil, i(1, parent.snippet.env.SELECT_RAW))
- else
- return sn(nil, i(1, ""))
- end
-end
-
-local translation_table = { ["("] = ")", ["{"] = "}", ["["] = "]" }
-
--- Return snippet tables
-return {
- -- LEFT/RIGHT ALL BRACES
- s(
- {
- trig = "([^%a])l([%(%[%{])",
- regTrig = true,
- wordTrig = false,
- snippetType = "autosnippet",
- },
- fmta("<>\\left<><>\\right<>", {
- f(function(_, snip) return snip.captures[1] end),
- f(function(_, snip) return snip.captures[2] end),
- d(1, get_visual),
- f(function(_, snip) return translation_table[snip.captures[2]] end),
- })
- ),
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua b/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua
deleted file mode 100644
index ebf4f9d7..00000000
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua
+++ /dev/null
@@ -1,37 +0,0 @@
--- Return snippet tables
-return {
- s({ trig = ";a", snippetType = "autosnippet" }, { t("\\alpha") }),
- s({ trig = ";b", snippetType = "autosnippet" }, { t("\\beta") }),
- s({ trig = ";g", snippetType = "autosnippet" }, { t("\\gamma") }),
- s({ trig = ";G", snippetType = "autosnippet" }, { t("\\Gamma") }),
- s({ trig = ";d", snippetType = "autosnippet" }, { t("\\delta") }),
- s({ trig = ";D", snippetType = "autosnippet" }, { t("\\Delta") }),
- s({ trig = ";e", snippetType = "autosnippet" }, { t("\\epsilon") }),
- s({ trig = ";ve", snippetType = "autosnippet" }, { t("\\varepsilon") }),
- s({ trig = ";z", snippetType = "autosnippet" }, { t("\\zeta") }),
- s({ trig = ";h", snippetType = "autosnippet" }, { t("\\eta") }),
- s({ trig = ";o", snippetType = "autosnippet" }, { t("\\theta") }),
- s({ trig = ";vo", snippetType = "autosnippet" }, { t("\\vartheta") }),
- s({ trig = ";O", snippetType = "autosnippet" }, { t("\\Theta") }),
- s({ trig = ";k", snippetType = "autosnippet" }, { t("\\kappa") }),
- s({ trig = ";l", snippetType = "autosnippet" }, { t("\\lambda") }),
- s({ trig = ";L", snippetType = "autosnippet" }, { t("\\Lambda") }),
- s({ trig = ";m", snippetType = "autosnippet" }, { t("\\mu") }),
- s({ trig = ";n", snippetType = "autosnippet" }, { t("\\nu") }),
- s({ trig = ";x", snippetType = "autosnippet" }, { t("\\xi") }),
- s({ trig = ";X", snippetType = "autosnippet" }, { t("\\Xi") }),
- s({ trig = ";i", snippetType = "autosnippet" }, { t("\\pi") }),
- s({ trig = ";I", snippetType = "autosnippet" }, { t("\\Pi") }),
- s({ trig = ";r", snippetType = "autosnippet" }, { t("\\rho") }),
- s({ trig = ";s", snippetType = "autosnippet" }, { t("\\sigma") }),
- s({ trig = ";S", snippetType = "autosnippet" }, { t("\\Sigma") }),
- s({ trig = ";t", snippetType = "autosnippet" }, { t("\\tau") }),
- s({ trig = ";f", snippetType = "autosnippet" }, { t("\\phi") }),
- s({ trig = ";vf", snippetType = "autosnippet" }, { t("\\varphi") }),
- s({ trig = ";F", snippetType = "autosnippet" }, { t("\\Phi") }),
- s({ trig = ";c", snippetType = "autosnippet" }, { t("\\chi") }),
- s({ trig = ";p", snippetType = "autosnippet" }, { t("\\psi") }),
- s({ trig = ";P", snippetType = "autosnippet" }, { t("\\Psi") }),
- s({ trig = ";w", snippetType = "autosnippet" }, { t("\\omega") }),
- s({ trig = ";W", snippetType = "autosnippet" }, { t("\\Omega") }),
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/neorg/default.nix b/modules/home.legacy/conf/nvim/plgs/neorg/default.nix
deleted file mode 100644
index 7d61ce09..00000000
--- a/modules/home.legacy/conf/nvim/plgs/neorg/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{pkgsStable, ...}: {
- programs.nixvim.plugins.neorg = {
- package = pkgsStable.vimPlugins.neorg;
- enable = true;
- lazyLoading = true;
-
- modules = {
- "core.defaults" = {
- __empty = null;
- };
- "core.esupports.metagen".config = {
- type = "auto";
- };
- "core.journal".config = {
- workspace = "journal";
- };
- "core.keybinds".config = {
- hook = {
- __raw = ''
- function(keybinds)
- -- remap the looking glas to the same key, femaco is also mapped to.
- keybinds.remap_event("norg", "n", "<space>cc", "core.looking-glass.magnify-code-block")
-
- keybinds.remap_event("norg", "n", "<C-s>", "core.integrations.telescope.find_linkable")
- keybinds.remap_event("norg", "i", "<C-i>", "core.integrations.telescope.insert_link")
- end,
- '';
- };
- };
- "core.completion".config = {
- engine = "nvim-cmp";
- };
- "core.concealer".config = {
- __empty = null;
- };
- "core.dirman".config = {
- workspaces = {
- general = "~/repos/notes/general";
- journal = "~/repos/notes/journal";
- projects = "~/repos/notes/projects";
- };
- };
- "core.export".config = {
- __empty = null;
- };
- "core.integrations.telescope".config = {
- __empty = null;
- };
-
- # TODO: Add this when the nvim version in nixpkgs is >= 0.10 <2023-08-29>
- #
- # "core.ui.calendar".config = {
- # __empty = null;
- # };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix b/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix
deleted file mode 100644
index ed0e57c3..00000000
--- a/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{config, ...}: {
- programs.nixvim.plugins.cmp = let
- neorg_source =
- if config.programs.nixvim.plugins.neorg.modules."core.completion".config.engine == "nvim-cmp"
- then [{name = "neorg";}]
- else [];
- in {
- /*
- TODO: integrate this:
- ```lua
- enabled = {
- function()
- -- disable completion in comments
- local context = require 'cmp.config.context'
- -- keep command mode completion enabled when cursor is in a comment
- -- te
- if vim.api.nvim_get_mode().mode == 'c' then
- return true
- else
- return not context.in_treesitter_capture("comment")
- and not context.in_syntax_group("Comment")
- end
- end
- },
- ```
- */
- enable = true;
- autoEnableSources = true;
- settings = {
- mapping = {
- # TODO: add support for desc and which key here
- "<C-d>" = "cmp.mapping.scroll_docs(-4)"; # desc = "Scroll up by four lines"
- "<C-f>" = "cmp.mapping.scroll_docs(4)"; # desc = "Scroll down by four lines"
- "HH" = "cmp.mapping.complete()"; # desc = "Confirm snipped"
- };
-
- snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
-
- sources =
- [
- {name = "nvim_lsp";}
- {name = "luasnip";}
- {name = "path";}
- {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16>
- # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16>
- # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16>
- # {name = "buffer";}
- # {name = "digraphs";}
- {name = "calc";}
- ]
- ++ neorg_source;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix b/modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix
deleted file mode 100644
index f5cb9acf..00000000
--- a/modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- # TODO: package nvim-lint though a module
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/nvim-lint.lua}
- '';
- extraPlugins = [
- pkgs.vimPlugins.nvim-lint
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua b/modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua
deleted file mode 100644
index 770c3bb5..00000000
--- a/modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-require("lint").linters_by_ft = {
- -- text
- markdown = {},
- -- tex = {'chktex'}, -- maybe add some text linters ?
-
- -- shell (already covered by the bash language sever)
- -- sh = { "shellcheck"; };
- -- bash = { "shellcheck"; };
- -- zsh = { "shellcheck"; };
- -- dash = { "shellcheck"; };
-
- yaml = { "yamllint" },
- nix = { "nix", "statix" },
-}
-
-vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost" }, {
- callback = function() require("lint").try_lint() end,
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix b/modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix
deleted file mode 100644
index 941cb7cb..00000000
--- a/modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{...}: {
- programs.nixvim = {
- # Not all plugins have own modules
- # You can add missing plugins here
- # `pkgs.vimExtraPlugins` is added by the overlay you added at the beginning
- # For a list of available plugins, look here:
- # https://github.com/jooooscha/nixpkgs-vim-extra-plugins/blob/main/plugins.md
- extraPlugins = [
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/default.nix
deleted file mode 100644
index c32e139c..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{...}: {
- imports = [
- ./defaults
- ./keymaps
- ./extensions
- ];
- programs.nixvim.plugins = {
- telescope = {
- enable = true;
- };
-
- # This is a dependency of telescope
- web-devicons = {
- enable = true;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix
deleted file mode 100644
index 933089ef..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{...}: {
- programs.nixvim.plugins.telescope.settings.defaults = {
- mappings = let
- insert_and_normal_mappings = {
- # map actions.which_key to <c-h> (default: <c-/>)
- # actions.which_key shows the mappings for your picker,
- # e.g. git_{create, delete, ...}_branch for the git_branches picker
- "<C-h>" = "which_key";
- };
- in {
- i =
- insert_and_normal_mappings;
- n =
- {
- "t" = "move_selection_next";
- "n" = "move_selection_previous";
- "<Space>" = "toggle_all";
-
- "<C-d>" = "preview_scrolling_up";
- "<C-u>" = "preview_scrolling_down";
- "<Left>" = "preview_scrolling_left";
- "<Right>" = "preview_scrolling_right";
-
- "<Esc>" = "close";
- "q" = "close";
- }
- // insert_and_normal_mappings;
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix
deleted file mode 100644
index 6f3cc2ea..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{pkgs, ...}: {
- # WARNING: This is only activated in tex files via the ftplugin.
- programs.nixvim = {
- extraPlugins = [
- pkgs.vimExtraPlugins.telescope-bibtex-nvim
- ];
- keymaps = [
- {
- key = "<space>ib";
- # This is registered in the ftplugin file, so we set this to null here
- action = "<Nop>";
- mode = "n";
- options.desc = "[i]nsert a [b]atex citation";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix
deleted file mode 100644
index 0b1e033a..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{...}: {
- imports = [
- ./bibtex
- ./frecency
- ./fzy-native
- ./rooter
- ./symbols
- ];
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix
deleted file mode 100644
index 0e007b80..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{...}: {
- programs.nixvim = {
- keymaps = [
- {
- key = "gff";
- mode = "n";
- action.__raw = "function() require('telescope').extensions.frecency.frecency() end";
- options.desc = "activate the frecency file selection";
- }
- ];
- plugins.telescope = {
- extensions.frecency = {
- enable = true;
- settings = {
- show_scores = true;
- db_safe_mode = false;
- default_workspace = "CWD"; # or 'LSP'
- };
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/fzy-native/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/fzy-native/default.nix
deleted file mode 100644
index ce0bdccc..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/fzy-native/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{...}: {
- programs.nixvim.plugins.telescope.extensions.fzy-native = {
- enable = true;
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/default.nix
deleted file mode 100644
index 779448cc..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{lib, ...}: {
- programs.nixvim = {
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/rooter.lua}
- '';
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua
deleted file mode 100644
index 48a8588d..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua
+++ /dev/null
@@ -1,76 +0,0 @@
--- Taken from: https://github.com/desdic/telescope-rooter.nvim/blob/69423216c75a5f1f1477bbf8faf6b0dc8af04099/lua/telescope/_extensions/rooter.lua
-local has_telescope, telescope = pcall(require, "telescope")
-if not has_telescope then
- error("This extension requires telescope.nvim")
- return
-end
-
-local has_plenary, plenary = pcall(require, "plenary")
-if not has_plenary then
- error("This extension requires plenary")
- return
-end
-
-local log = plenary.log.new({ plugin = "telescope_rooter", level = "info" })
-
--- TODO: expose this function
-local toggle = function(_)
- vim.g["Telescope#rooter#enabled"] = not vim.g["Telescope#rooter#enabled"]
- print("Telescope#rooter#enabled=" .. vim.inspect(vim.g["Telescope#rooter#enabled"]))
-end
-
-local config = { patterns = { ".git" }, enable = true, debug = false }
-
--- default enabled
-vim.g["Telescope#rooter#enabled"] = vim.F.if_nil(config.enable, true)
-
--- redefine log if debug enabled
-if vim.F.if_nil(config.debug, false) then log = plenary.log.new({ plugin = "telescope_rooter", level = "debug" }) end
-
-local group = vim.api.nvim_create_augroup("TelescopeRooter", { clear = true })
-
-vim.api.nvim_create_autocmd({ "DirChangedPre" }, {
- callback = function()
- if vim.g["Telescope#rooter#enabled"] ~= true then return end
-
- if vim.g["Telescope#rooter#oldpwd"] == nil then
- vim.g["Telescope#rooter#oldpwd"] = vim.loop.cwd()
- log.debug("before " .. vim.inspect(vim.loop.cwd()))
- end
- end,
- group = group,
-})
-
-vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
- callback = function()
- if vim.g["Telescope#rooter#enabled"] ~= true then return end
-
- vim.schedule(function()
- if vim.bo.filetype == "TelescopePrompt" then
- local rootdir = vim.fs.dirname(vim.fs.find(config.patterns, { upward = true })[1])
- if rootdir ~= nil then
- vim.api.nvim_set_current_dir(rootdir)
- log.debug("changing dir to " .. rootdir)
- end
- end
- end)
- end,
- group = group,
-})
-
-vim.api.nvim_create_autocmd({ "BufWinLeave" }, {
- callback = function()
- if vim.g["Telescope#rooter#enabled"] ~= true then return end
-
- vim.schedule(function()
- if vim.bo.filetype ~= "TelescopePrompt" then
- if vim.g["Telescope#rooter#oldpwd"] ~= nil then
- log.debug("restoring " .. vim.g["Telescope#rooter#oldpwd"])
- vim.api.nvim_set_current_dir(vim.g["Telescope#rooter#oldpwd"])
- vim.g["Telescope#rooter#oldpwd"] = nil
- end
- end
- end)
- end,
- group = group,
-})
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix
deleted file mode 100644
index 05b4a4f2..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{pkgs, ...}: {
- programs.nixvim = {
- extraPlugins = [
- # Source of symbols for telescope symbols
- pkgs.vimPlugins.telescope-symbols-nvim
- ];
- keymaps = [
- {
- key = "<space>il";
- mode = "n";
- action.__raw = ''
- function()
- require('telescope.builtin').symbols{ sources = {
- 'latex'
- }}
- end
- '';
- options.desc = "[i]nsert a [l]atex symbol";
- }
- {
- key = "<space>ie";
- mode = "n";
- action.__raw = ''
- function()
- require('telescope.builtin').symbols{ sources = {
- 'emoji',
- }}
- end
- '';
- options.desc = "[i]nsert a [e]moji";
- }
- {
- key = "<space>is";
- mode = "n";
- action.__raw = ''
- function()
- require('telescope.builtin').symbols{ sources = {
- 'emoji',
- 'gitmoji',
- 'julia',
- 'kaomoji',
- 'latex',
- 'math',
- 'nerd',
- }}
- end
- '';
- options.desc = "[i]nsert a [s]ymbol (like emojis)";
- }
- ];
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/keymaps/default.nix b/modules/home.legacy/conf/nvim/plgs/telescope/keymaps/default.nix
deleted file mode 100644
index e551cc5a..00000000
--- a/modules/home.legacy/conf/nvim/plgs/telescope/keymaps/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{...}: {
- programs.nixvim.plugins.telescope.keymaps = {
- "<space>rg" = {
- action = "live_grep";
- options = {
- desc = "[rg] in a live session";
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix b/modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix
deleted file mode 100644
index e33f961b..00000000
--- a/modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{...}: {
- programs.nixvim.plugins.todo-comments = {
- enable = true;
- settings = {
- guiStyle = {
- fg = "BOLD";
- bg = "NONE";
- };
- highlight = {
- keyword = "wide_fg";
- };
- keywords = {
- /*
- # Defaults:
- FIX = {
- icon = " "; # Icon used for the sign, and in search results.
- color = "error"; # Can be a hex color, or a named color.
- alt = ["FIXME" "BUG" "FIXIT" "ISSUE"]; # A set of other keywords that all map to this FIX keywords.
- };
- TODO = {
- icon = " ";
- color = "info";
- };
- HACK = {
- icon = " ";
- color = "warning";
- };
- WARN = {
- icon = " ";
- color = "warning";
- alt = ["WARNING" "XXX"];
- };
- PERF = {
- icon = "󰅒 ";
- alt = ["OPTIM" "PERFORMANCE" "OPTIMIZE"];
- };
- NOTE = {
- icon = "󰍨 ";
- color = "hint";
- alt = ["INFO"];
- };
- TEST = {
- icon = "⏲ ";
- color = "test";
- alt = ["TESTING" "PASSED" "FAILED"];
- };
- */
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix b/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix
deleted file mode 100644
index b4b20388..00000000
--- a/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}: {
- programs.nixvim = {
- plugins.treesitter = {
- enable = true;
-
- # NOTE: These are required to build grammars, but I already use the nix grammars <2024-07-13>
- gccPackage = null;
- nodejsPackage = null;
- treesitterPackage = null;
-
- # inject nixvim specific highlighting (eg in extraConfigLua).
- nixvimInjections = true;
-
- nixGrammars = true;
- grammarPackages =
- config.programs.nixvim.plugins.treesitter.package.passthru.allGrammars
- ++ [pkgs.tree-sitter-yts];
-
- settings = {
- auto_install = false;
- ensureInstalled = "all";
- indent.enable = true;
- disabledLanguages = [];
-
- highlight = {
- enable = true;
- disable = [];
-
- # Setting this to true will run `:h syntax` and tree-sitter at the same time.
- # Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
- # Using this option may slow down your editor; and you may see some duplicate highlights.
- # Instead of true it can also be a list of languages
- additionalVimRegexHighlighting = ["latex"];
- };
-
- incrementalSelection = {
- enable = true;
- keymaps = {
- # TODO: include these in the which-key description
- initSelection = "gnn"; # set to `false` to disable one of the mappings
- nodeIncremental = "grn";
- scopeIncremental = "grc";
- nodeDecremental = "grm";
- };
- };
- };
- };
- extraFiles = {
- "queries/yts/highlights.scm".text = ''
- ${lib.strings.fileContents "${pkgs.tree-sitter-yts}/queries/highlights.scm"}
- '';
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix b/modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix
deleted file mode 100644
index 0b92c429..00000000
--- a/modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{...}: {
- programs.nixvim = {
- opts.conceallevel = 0;
-
- plugins.vimtex = {
- enable = true;
- settings = {
- view_method = "zathura";
- quickfix_mode = -1;
- view_enabled = -1;
- tex_conceal = "abdmg";
- tex_flavor = "latex";
-
- # Useful if treesitter is the highlighter
- syntax_enabled = 0;
- syntax_conceal_disable = 1;
-
- mappings_disable = {
- n = [
- "ts$"
- "tsD"
- "tsb"
- "tsc"
- "tsd"
- "tse"
- "tsf"
- ];
- x = [
- "tsD"
- "tsd"
- "tsf"
- ];
- };
-
- toc_config = {
- name = "TOC";
- layers = ["content" "todo" "include"];
- resize = false;
- split_width = 49;
- todo_sorted = -1;
- show_help = false;
- show_numbers = false;
- mode = true;
- layer_keys = {
- content = "C";
- label = "L";
- todo = "j";
- include = "I";
- };
- };
-
- compiler_latexmk = {
- build_dir = "build";
- callback = false;
- continuous = true;
- executable = "latexmk";
- hooks = [];
- options = [
- "-verbose"
- "-file-line-error"
- "-synctex=0"
- "-interaction=nonstopmode"
- "-outdir=build"
- ];
- };
- };
- };
- };
-}
diff --git a/modules/home.legacy/conf/nvim/plgs/which-key/default.nix b/modules/home.legacy/conf/nvim/plgs/which-key/default.nix
deleted file mode 100644
index be63f7ac..00000000
--- a/modules/home.legacy/conf/nvim/plgs/which-key/default.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{...}: {
- programs.nixvim.plugins.which-key = {
- enable = true;
- };
-}