aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home/.config/nvim
Commit message (Collapse)AuthorAgeFilesLines
* chore: remove stale and outdated configuration filesLibravatar sommerfeld47 hours2-14/+0
| | | | | | | | | | | | | | | | Delete 17 items confirmed unused/superseded: - pulse/ (4 files): PulseAudio configs, superseded by PipeWire - pipewire/media-session.d/: deprecated, superseded by WirePlumber - neofetch/config.conf: neofetch is abandoned/archived - .urlview: mutt-era URL viewer config - nvim ftplugin xdefaults.lua, xmodmap.lua: X11-only (xrdb/xmodmap) - Steam CS:GO + L4D2 configs: CS:GO replaced by CS2, L4D2 untracked - fakecam/ + service: abandoned virtual webcam project - noisetorch.service: project abandoned, PipeWire has built-in noise cancellation - gtk-2.0/: GTK2 is legacy - spotifyd.service.d/: no longer using spotifyd - htop/htoprc: auto-generated, not worth tracking - cookiefire, terminal-benchmark, terminal-testdrive, stop, videowrapper: unused scripts
* chore: remove all X11/Xorg configs and referencesLibravatar sommerfeld47 hours2-11/+0
| | | | | | | | | | | | | | | Removed: - home/.config/{X11,bspwm,sxhkd,polybar,rofi,dunst,sxiv,sx,alacritty} - meta/{x-base,x-de,x-extra} metapackages - barscripts/ (polybar GPU scripts) - nvim sxhkdrc ftplugin and treesitter parser Updated: - mimeapps.list: sxiv → imv - ghostty config: bspwm → sway comment - .zshrc: alacritty → xterm-ghostty in TERM check - .zprofile: removed bspwm from comment - copilot-instructions.md: removed X11 references
* refactor: update nvim autocmds for sway/waybar/makoLibravatar sommerfeld47 hours1-9/+9
| | | | | - Replace bspwm/polybar/dunst auto-restart with sway/waybar/mako - Use SIGUSR2 for waybar reload, swaymsg reload for sway
* feat: add Ctrl-F to accept Copilot NES in insert modeLibravatar sommerfeld47 hours1-0/+11
|
* chore: commit nvim pack lockfile with plugin revisionsLibravatar sommerfeld47 hours1-1/+220
|
* refactor: audit and fix neovim keybindsLibravatar sommerfeld47 hours4-36/+30
| | | | | | | | | | | | - fix visual p register clobbering: use "_dP black-hole pattern - remove ; -> : mapping: restore native repeat-find motion - remove <C-a>/<C-e> -> ^/$ emacs mappings: anti-vim-philosophy - map dial.nvim to <C-a>/<C-x>/g<C-a>/g<C-x> (standard increment keys) - remove redundant <leader>oq diagnostic loclist (covered by <leader>tl) - collapse <leader>{,v,x,t}D type-def onto g{v,x,t}t pattern (0.12 grt) - move <leader>oc/<leader>ic calls to <leader>co/<leader>ci (Code group) - add gvr/gxr/gtr for references in splits - remove empty <leader>s and <leader>d which-key group declarations
* fix: replace deprecated codelens.refresh with codelens.enableLibravatar sommerfeld47 hours1-11/+1
| | | | | | vim.lsp.codelens.refresh({ bufnr }) is deprecated in 0.12. Use vim.lsp.codelens.enable(true, { bufnr }) which handles the autocmds internally.
* refactor: replace tmux.nvim with smart-splits.nvim for zellijLibravatar sommerfeld47 hours4-7/+10
| | | | | | | | | | - Swap aserowy/tmux.nvim for mrjones2014/smart-splits.nvim in init.lua - Configure Ctrl h/j/k/l navigation keymaps (same keys as before) - Add vim-zellij-navigator WASM plugin keybindings to zellij config - Remove tmux treesitter parser (no longer needed) smart-splits.nvim auto-detects zellij as the multiplexer and provides seamless split/pane navigation across neovim and zellij boundaries.
* chore: remove shadafile=NONE optionLibravatar sommerfeld47 hours1-1/+0
| | | | Re-enable shada for persistent marks, registers, and command history.
* docs: document every option in options.luaLibravatar sommerfeld47 hours1-44/+61
| | | | | | Add inline comments explaining the intent and behavior of each setting, including non-obvious choices like shadafile=NONE, scrolloff=999, and the two-phase folding setup.
* chore: remove redundant vim.diagnostic.configLibravatar sommerfeld47 hours1-5/+0
| | | | Immediately overridden by tiny-inline-diagnostic setup in lsp.lua.
* chore: remove redundant Space-to-Nop mappingLibravatar sommerfeld47 hours1-2/+0
| | | | Has no effect when mapleader is already set to Space.
* chore: remove redundant vim.loader.enable()Libravatar sommerfeld47 hours1-2/+0
| | | | Bytecode caching is enabled by default in Neovim 0.12.
* chore: remove stale filetypes from close_with_q autocmdLibravatar sommerfeld47 hours1-3/+0
| | | | grug-far, spectre_panel, tsplayground are not installed plugins.
* fix: use native treesitter indentexpr instead of plugin APILibravatar sommerfeld47 hours1-1/+1
| | | | | Neovim 0.12 provides vim.treesitter.indentexpr() natively, replacing the nvim-treesitter plugin's indentexpr function.
* fix: wrap tblgen_lsp_server enable in pcallLibravatar sommerfeld47 hours1-1/+1
| | | | | Server binary may not be installed on all machines. Wrap in pcall to prevent startup errors when tblgen_lsp_server is unavailable.
* fix: use doas instead of sudo in DoasWrite commandLibravatar sommerfeld47 hours1-6/+6
| | | | | | System uses doas for privilege escalation. Renamed SudoWrite → DoasWrite and switched from sudo -p '' -S to doas -S with newline-terminated password input.
* fix: correct inlay_hint.is_enabled API for Neovim 0.12Libravatar sommerfeld47 hours1-1/+1
| | | | | Neovim 0.12 changed the signature from a table { bufnr = N } to a plain integer bufnr parameter.
* fix: use branch for blink.download (no semver tags)Libravatar sommerfeld47 hours1-1/+1
|
* feat: migrate from lazy.nvim to vim.packLibravatar sommerfeld47 hours13-1543/+1105
| | | | | | | | | | | | | | | | Replace lazy.nvim plugin manager with Neovim 0.12's native vim.pack API. All plugin config files rewritten from lazy.nvim spec tables to imperative require/setup format with explicit vim.keymap.set() calls. Key changes: - vim.pack.add() with ~53 plugins in init.lua - blink.cmp/pairs/download pinned to version tags (vim.version.range) - PackChanged autocmd for markdown-preview build hook - Ordered requires: colorscheme → ui → treesitter → completion → lsp → rest - Plugin setup guards (gitsigns, which-key, blink.cmp) handle deferred plugin/ file loading correctly Net reduction: ~438 lines across 13 files.
* chore: remove stale codecompanion source from blink.cmpLibravatar sommerfeld47 hours1-1/+0
|
* chore: remove explicit plenary.nvim specLibravatar sommerfeld47 hours1-1/+0
| | | | | Auto-loaded as dependency by neogit, gitlinker, gitsigns, and refactoring.nvim. Standalone spec was unnecessary.
* chore: remove auto-cmdheight.nvimLibravatar sommerfeld47 hours1-5/+0
| | | | | Marginal utility (auto-sizing cmdheight) for startup cost of a lazy=false plugin with empty opts.
* chore: remove dead neotest referencesLibravatar sommerfeld47 hours2-4/+0
| | | | | Neotest plugin was removed but its which-key group and close-with-q filetypes remained as dead config.
* chore: remove codecompanion.nvim and mcphub.nvimLibravatar sommerfeld47 hours1-53/+0
| | | | | Redundant with copilot.lua (inline completions via NES) and Copilot CLI (chat/agentic workflows outside the editor).
* feat: update overseer.nvim from v1.6.0 to v2Libravatar sommerfeld47 hours1-18/+21
| | | | | | | | | | | Remove version pin and migrate to v2 API: - run_template() → run_task() - prompt="never" → disallow_prompt=true - Shell template removed → vim.cmd("OverseerShell") - list_tasks recent_first removed → sort by task id This also resolves the vim.validate deprecation warning from checkhealth, which was fixed upstream in v2.0.0.
* fix: resolve which-key overlap and wrong desc in search.luaLibravatar sommerfeld47 hours1-3/+3
| | | | | | | | Remap live_grep from <localleader>g to <localleader>/ to avoid overlapping with git fzf commands (<localleader>gc, gb, gs, etc.) which caused a timeout delay on <localleader>g. Also fix buffers mapping desc that incorrectly said [G]rep.
* refactor: rename ts.lua to treesitter.luaLibravatar sommerfeld47 hours1-0/+0
| | | | | The name ts.lua is ambiguous (TypeScript vs treesitter). Use the full name for clarity.
* chore: delete dead config/utils.luaLibravatar sommerfeld47 hours1-29/+0
| | | | format_hunks is defined but never called anywhere.
* refactor: move LspAttach handler from autocmds.lua to plugins/lsp.luaLibravatar sommerfeld47 hours2-122/+138
| | | | | | The 120-line LspAttach handler (fzf-lua navigation, document highlighting, codelens, inlay hints) belongs with the LSP plugin configuration, not in generic autocmds. This puts all LSP behavior in one file.
* refactor: extract AI plugins to plugins/ai.luaLibravatar sommerfeld47 hours3-95/+97
| | | | | Move copilot.lua from completion.lua and codecompanion from plugins/init.lua into a dedicated ai.lua file. Both are AI-related, not completion.
* refactor: extract auto-session to plugins/session.luaLibravatar sommerfeld47 hours2-86/+84
| | | | | Move auto-session config (85 lines, with overseer and dap integration) from plugins/init.lua into a dedicated session.lua file.
* refactor: extract overseer to plugins/runner.luaLibravatar sommerfeld47 hours2-142/+144
| | | | | Move the overseer task runner config (140 lines, 13 keymaps) from the plugins/init.lua junk drawer into a dedicated runner.lua file.
* refactor: extract editing plugins to plugins/editing.luaLibravatar sommerfeld47 hours2-144/+146
| | | | | Move surround, guess-indent, various-textobjs, dial, and refactoring from the 521-line plugins/init.lua junk drawer into a dedicated editing.lua file.
* refactor: move core config from after/plugin/ and cfg/ to lua/config/Libravatar sommerfeld47 hours5-1/+4
| | | | | | | | | | | | after/plugin/ runs after ALL plugins with unpredictable ordering. Explicit require() from init.lua after lazy.setup() is more predictable and standard. - after/plugin/autocmds.lua → lua/config/autocmds.lua - after/plugin/mappings.lua → lua/config/keymaps.lua - cfg/options.lua → config/options.lua - cfg/utils.lua → config/utils.lua Creates a consistent lua/config/ namespace for all non-plugin configuration.
* refactor: consolidate LspAttach handlers into single callbackLibravatar sommerfeld47 hours2-65/+40
| | | | | | | | Two separate LspAttach handlers existed in autocmds.lua and search.lua, fragmenting LSP behavior across files. Merge fzf-lua LSP navigation mappings into the main LspAttach handler in autocmds.lua using lazy require('fzf-lua'). This makes all LSP-on-attach behavior visible in one place.
* refactor: flatten custom/plugins/ to plugins/Libravatar sommerfeld47 hours9-1/+1
| | | | | | Rename lua/custom/plugins/ to lua/plugins/ following the standard lazy.nvim convention. The extra custom/ nesting added no value. Update import path in init.lua accordingly.
* refactor: remove bufresize.nvim pluginLibravatar sommerfeld47 hours1-5/+0
| | | | | | Vim's built-in equalalways option (default: true) already equalizes windows on resize. The plugin's proportional resizing logic provides negligible benefit.
* refactor: remove hover.nvim pluginLibravatar sommerfeld47 hours1-45/+0
| | | | | | Duplicates built-in K (vim.lsp.buf.hover) with marginal extras (man, dictionary, gh, fold_preview). Three keymaps for one plugin that mostly duplicates a 0.12 built-in default is low value.
* chore: remove synmaxcol, showmatch, and static cmdheightLibravatar sommerfeld47 hours1-3/+0
| | | | | | - synmaxcol=500: irrelevant with treesitter handling all highlighting - showmatch=true: redundant with blink.pairs, causes annoying cursor jump - cmdheight=2: conflicts with auto-cmdheight.nvim which manages it dynamically
* chore: remove undocumented gitsigns internals and no-op highlightsLibravatar sommerfeld47 hours1-7/+0
| | | | | | Remove _threaded_diff and _refresh_staged_on_update (internal/undocumented options prefixed with _, may break on any update). Remove highlights block where all values were nil (just uses defaults, no-op).
* chore: remove commented-out rainbow-delimiters referenceLibravatar sommerfeld47 hours1-1/+0
|
* chore: remove commented-out nvim-treesitter-pairs dependencyLibravatar sommerfeld47 hours1-1/+0
| | | | | Plugin was disabled waiting for main branch support. Remove the dead comment; can be re-added from git history when ready.
* chore: remove commented-out debug configurationsLibravatar sommerfeld47 hours1-108/+0
| | | | | | Remove ~80 lines of commented-out GDB, LLDB, dap-ui, and dap-view configs. These were alternative configurations tried and abandoned. They can be recovered from git history if needed.
* fix: remove stale vim-sneak commentLibravatar sommerfeld47 hours1-1/+0
| | | | | | Comment referenced vim-sneak plugin which is not installed. The semicolon mapping is active and has been since the plugin was removed. Also had a "to to" typo.
* fix: remove redundant config function from refactoring.nvimLibravatar sommerfeld47 hours1-4/+0
| | | | | | Both opts = {} and config calling setup({}) existed. The config function overrides opts entirely, making opts a no-op. Keep only opts = {} since lazy.nvim calls setup() automatically with opts.
* fix: use named mode field for treewalker lazy.nvim key specsLibravatar sommerfeld47 hours1-4/+4
| | | | | | The { "n", "v" } mode table was a 3rd positional element, silently ignored by lazy.nvim. Movement keys only worked in normal mode, not visual. Use named mode field to enable both modes.
* fix: use named fields for codecompanion lazy.nvim key specsLibravatar sommerfeld47 hours1-6/+12
| | | | | | | Mode and opts were positional args (positions 3+4) but lazy.nvim only uses positions 1 (lhs) and 2 (rhs). The mode and desc were silently ignored, making all mappings normal-mode only with no descriptions. Use named fields instead. Also fix [C]chat typo to [C]hat.
* fix: disambiguate duplicate localleader-gc keymapsLibravatar sommerfeld47 hours1-0/+2
| | | | | | Both git_bcommits and git_bcommits_range were bound to <localleader>gc, with the second silently shadowing the first. Split by mode: normal for buffer commits, visual for range commits.
* fix: correct undefined FzfLua global to lowercase fzfluaLibravatar sommerfeld47 hours1-1/+1
| | | | | | FzfLua.actions.file_split references undefined global. The local variable is named fzflua (lowercase). This caused a runtime error when pressing ctrl-x in any fzf-lua file picker.