Files
niphas/packages/vim-kmein/default.nix
2026-02-03 17:33:53 +01:00

107 lines
2.5 KiB
Nix

{
neovim,
vimPlugins,
fetchFromGitHub,
vimUtils,
writeText,
stylixColors ? null,
colorscheme ? null,
withCopilot ? false,
lib,
...
}:
neovim.override {
configure = {
vimAlias = true;
viAlias = true;
customRC = ''
source ${./shared.vim}
source ${./init.vim}
let g:snippet_directory = '${vimPlugins.friendly-snippets}'
luafile ${./init.lua}
''
+ lib.optionalString (stylixColors != null) (
with stylixColors.withHashtag;
''
luafile ${writeText "colors.lua" ''
require('base16-colorscheme').setup({
base00 = '${base00}', base01 = '${base01}', base02 = '${base02}', base03 = '${base03}',
base04 = '${base04}', base05 = '${base05}', base06 = '${base06}', base07 = '${base07}',
base08 = '${base08}', base09 = '${base09}', base0A = '${base0A}', base0B = '${base0B}',
base0C = '${base0C}', base0D = '${base0D}', base0E = '${base0E}', base0F = '${base0F}'
})
''}
''
)
+ lib.optionalString (colorscheme != null) ''
colorscheme ${colorscheme}
'';
packages.nvim = with vimPlugins; {
start = [
base16-nvim
nvim-cmp
cmp-buffer
cmp-path
cmp-nvim-lsp
cmp-cmdline
luasnip
editorconfig-vim
fzf-vim
fzfWrapper
supertab
undotree
tabular
# vimwiki
vimPlugins.vim-colors-paramount
nvim-lspconfig
vim-commentary
vim-css-color
vim-eunuch
vimPlugins.vim-fetch
vim-fugitive
vim-gitgutter
vim-repeat
vim-sensible
vim-surround
(
let
version = "1.1.0";
pname = "vim-dim";
in
vimUtils.buildVimPlugin {
pname = "vim-dim";
version = version;
src = fetchFromGitHub {
owner = "jeffkreeftmeijer";
repo = pname;
rev = version;
sha256 = "sha256-lyTZUgqUEEJRrzGo1FD8/t8KBioPrtB3MmGvPeEVI/g=";
};
}
)
]
++ lib.optional withCopilot vimPlugins.copilot.nvim;
opt = [
csv
dhall-vim
elm-vim
emmet-vim
vim-elixir
haskell-vim
vimPlugins.jq-vim
rust-vim
typescript-vim
vim-javascript
vim-ledger
vim-nix
vimtex
vim-pandoc
vim-pandoc-syntax
vimPlugins.typst-vim
];
};
};
}