update nixvim config

This commit is contained in:
2026-07-31 01:20:08 +02:00
parent 0b73b99654
commit ee0447931e
7 changed files with 305 additions and 30 deletions
+132 -29
View File
@@ -1,64 +1,167 @@
{ nixvim, pkgs, ... }:
{
nixvim,
pkgs,
...
}:
{
imports = [
nixvim.nixosModules.nixvim
./plugins
./keymaps.nix
./lsp.nix
];
programs.nixvim = {
enable = true;
enable = false;
defaultEditor = true;
clipboard.register = "unnamedplus";
colorschemes.tokyonight = {
opts = {
number = true;
relativenumber = true;
expandtab = true;
shiftwidth = 2;
smartindent = true;
tabstop = 2;
softtabstop = 2;
fillchars.eob = " ";
ignorecase = true;
smartcase = true;
mouse = "a";
};
# colorschemes.nightfox = {
# enable = true;
# settings = {
# # style = "moon";
# flavor = "carbonfox";
# options.transparent = true;
# styles = {
# sidebars = "transparent";
# floats = "transparent";
# };
# };
# };
colorschemes.base16 = {
enable = true;
settings = {
transparent = true;
base00 = "11121d";
base01 = "282934";
base02 = "353747"; # slightly lighter than base01 (or reuse 282934)
base03 = "565b6b"; # comment color; you'll probably want to tweak this
base04 = "abb2bf";
base05 = "abb2bf";
base06 = "b2b9c6";
base07 = "ffffff";
base08 = "ee6d85";
base09 = "f3627a";
base0A = "dfae67";
base0B = "95c561";
base0C = "a485dd"; # no cyan in your palette, so purple works
base0D = "7199ee";
base0E = "a485dd";
base0F = "f3627a";
};
};
extraPlugins = [ pkgs.vimPlugins.boole-nvim ];
extraConfigLua = ''
require('boole').setup({
mappings = {
-- increment = '<C-a>',
decrement = '<C-x>'
},
allow_caps_additions = {
{'enable', 'disable'},
{'true', 'false'}
}
})
'';
plugins = {
lualine.enable = true;
bufferline.enable = true;
bufferline = {
enable = true;
settings = {
options = {
show_buffer_close_icons = false;
show_close_icon = false;
};
};
};
yazi.enable = true;
cord = {
enable = true;
settings.display.theme = "atom";
};
neoscroll.enable = true;
snacks = {
telescope = {
enable = true;
settings = {
bigfile.enabled = true;
dashboard.enabled = true;
explorer = {
enabled = true;
auto_close = true;
};
indent.enabled = false;
input.enabled = true;
picker.enabled = true;
notifier.enabled = true;
quickfile.enabled = true;
statuscolumn.enabled = true;
words.enabled = true;
};
enabledExtensions = [ "persisted" ];
};
telescope.enable = true;
which-key.enable = true;
flash.enable = true;
lsp.enable = true;
};
lsp = {
servers = {
lua_ls.enable = true;
nixd.enable = true;
fugitive.enable = true;
treesitter = {
enable = true;
highlight.enable = true;
indent.enable = true;
settings.ensure_installed = "all";
};
gitsigns.enable = true;
nvim-autopairs = {
enable = true;
};
cmp = {
autoEnableSources = true;
settings.sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
};
persisted.enable = true;
render-markdown.enable = true;
transparent = {
enable = true;
autoLoad = true;
settings = {
groups = [
"Normal"
"NormalNC"
"Comment"
"Constant"
"Special"
"Identifier"
"Statement"
"PreProc"
"Type"
"Underlined"
"Todo"
"String"
"Function"
"Conditional"
"Repeat"
"Operator"
"Structure"
"LineNr"
"NonText"
"SignColumn"
"CursorLine"
"CursorLineNr"
"StatusLine"
"StatusLineNC"
"EndOfBuffer"
];
};
};
inlayHints.enable = true;
};
};