169 lines
3.6 KiB
Nix
169 lines
3.6 KiB
Nix
{
|
|
nixvim,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
nixvim.nixosModules.nixvim
|
|
./plugins
|
|
./keymaps.nix
|
|
./lsp.nix
|
|
];
|
|
|
|
programs.nixvim = {
|
|
enable = false;
|
|
defaultEditor = true;
|
|
|
|
clipboard.register = "unnamedplus";
|
|
|
|
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 = {
|
|
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;
|
|
settings = {
|
|
options = {
|
|
show_buffer_close_icons = false;
|
|
show_close_icon = false;
|
|
};
|
|
};
|
|
};
|
|
yazi.enable = true;
|
|
cord = {
|
|
enable = true;
|
|
settings.display.theme = "atom";
|
|
};
|
|
neoscroll.enable = true;
|
|
telescope = {
|
|
enable = true;
|
|
enabledExtensions = [ "persisted" ];
|
|
};
|
|
which-key.enable = true;
|
|
flash.enable = true;
|
|
lsp.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"
|
|
];
|
|
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
}
|