Nixvim refactor - #31
Merged
Merged
Conversation
- Remove nixvim flake input, add nix-wrapper-modules - Remove nixvim NixOS/Darwin modules from flakeHelpers.nix - Strip neovim.nix of all nixvim references (placeholder for Phase 2) - Update flake.lock
- Rewrite neovim.nix to build wrapped neovim via wlib.wrappers.neovim.wrap - Create dotfiles/plugins.nix with plugin specs organized by category: ui (tokyonight, lualine, bufferline, noice, snacks, which-key, etc.) editor (neo-tree, telescope, gitsigns, trouble, flash, etc.) coding (treesitter, lspconfig, blink-cmp, conform, nvim-lint, mini) deps (plenary) - Add runtimePkgs: LSP servers for C/C++, Python, Nix, Bash, Lua, Rust, Go, TS - Add formatters (stylua, nixpkgs-fmt, black, gofumpt, prettier) - Add linters (shellcheck) and tools (ripgrep, fd) - Symlink dotfiles/nvim → ~/.config/nvim via mkDotfilesSymlink - Create placeholder init.lua for Phase 3
Organized into folders as requested:
config/ — options, keymaps, autocmds
plugins/
ui/ — tokyonight, lualine, bufferline, noice, snacks, which-key
editor/ — neo-tree, telescope, gitsigns, flash, trouble, todo-comments
coding/ — treesitter, blink-cmp completion, mini.nvim
lsp/ — lspconfig for clangd, pyright, nil, bashls, lua_ls,
rust_analyzer, gopls, ts_ls
formatting/ — conform.nvim (stylua, nixpkgs-fmt, black, gofumpt, prettier,
clang-format, rustfmt, shfmt)
linting/ — nvim-lint (shellcheck)
lang/ — placeholder for language-specific configs
ai/ — placeholder for AI integrations
- treesitter: use built-in vim.treesitter.start() instead of removed
nvim-treesitter.configs module
- lsp: migrate from deprecated require('lspconfig') to native
vim.lsp.config/vim.lsp.enable API
- options: remove unsupported fold fillchars
- Add wl-clipboard to runtimePkgs for Wayland clipboard support - Position noice cmdline popup at 75% from top (1/4 from bottom)
- gitsigns: enable current_line_blame by default, add toggle <leader>ghB - keymaps: use Snacks.bufdelete for <leader>bd (doesn't quit editor) - keymaps: add <leader>R to reload config without restarting - neo-tree: set fixed 30-char sidebar width
- Auto-save session on exit (closes neo-tree first) - Auto-restore session on startup (nvim or nvim .) - Closes dashboard/directory buffers before restoring - Manual save/restore: <leader>qs / <leader>qr - Sessions stored in ~/.local/share/nvim/sessions/
- Use fresh 'import inputs.nixpkgs' instead of NixOS module pkgs for nix-wrapper-modules .wrap call (fixes lib.types.pkgs check) - Remove redundant settings.config_directory (already the default) - Make window split borders brighter for contrast
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.