This repository has been archived on 2026-03-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
nixos/home/editor/neovim/default.nix
Torjus Håkestad c9c14a193b
Some checks failed
Run nix flake check / flake-check (push) Successful in 1m24s
Periodic flake update / flake-update (push) Failing after 6s
neovim: overhaul plugin config and keybinds
Remove lsp-zero (replaced with native Neovim 0.11 LSP support),
vim-fugitive, and pyright. Add basedpyright, gitsigns, which-key,
trouble, todo-comments, indent-blankline, and telescope-fzf-native.
Clean up duplicate keybinds and organize under which-key groups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 18:01:27 +01:00

75 lines
1.6 KiB
Nix

{ pkgs, ... }:
{
programs = {
neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
extraPackages = with pkgs; [
nodePackages_latest.nodejs
];
plugins = with pkgs.vimPlugins; [
catppuccin-nvim
cmp-buffer
cmp-cmdline
cmp-nvim-lsp
cmp_luasnip
copilot-cmp
copilot-lua
gitsigns-nvim
indent-blankline-nvim
lualine-nvim
luasnip
nvim-cmp
nvim-lspconfig
plenary-nvim
telescope-nvim
telescope-fzf-native-nvim
todo-comments-nvim
trouble-nvim
undotree
vim-floaterm
vim-sleuth
which-key-nvim
(nvim-treesitter.withPlugins (p: [
p.tree-sitter-yaml
p.tree-sitter-nix
p.tree-sitter-go
p.tree-sitter-lua
p.tree-sitter-vim
p.tree-sitter-bash
p.tree-sitter-json
p.tree-sitter-python
p.tree-sitter-c
p.tree-sitter-cmake
p.tree-sitter-cpp
p.tree-sitter-markdown
p.tree-sitter-markdown-inline
]))
];
initLua = ''
${builtins.readFile ./plugins.lua}
${builtins.readFile ./options.lua}
${builtins.readFile ./keybinds.lua}
'';
};
};
home.packages = with pkgs; [
# nix stuff
nixfmt
statix
# LSPs
gopls
basedpyright
nodePackages.typescript-language-server
nodePackages.typescript
nil
yaml-language-server
lua-language-server
clang-tools
ruff
];
home.sessionVariables.EDITOR = "nvim";
}