neovim refactor
This commit is contained in:
1 parent
b12c211a69
commit
883f9d26c2
25 files changed
+1154
-880
No files matched your search
@@ -24,11 +24,33 @@ in
|
||||
hash = "sha256-RIAe30TTzZhHuXxC2VRVk/X73Qm1u2LWOW3AsnUfRzI=";
|
||||
};
|
||||
});
|
||||
nvimTreesitterWithAllGrammars = nvimTreesitter.withPlugins (
|
||||
_:
|
||||
map (
|
||||
grammar: if grammar == nvimTreesitter.builtGrammars.svelte then svelteGrammar else grammar
|
||||
) nvimTreesitter.allGrammars
|
||||
nvimTreesitterWithGrammars = nvimTreesitter.withPlugins (
|
||||
grammars: with grammars; [
|
||||
astro
|
||||
css
|
||||
html
|
||||
http
|
||||
javascript
|
||||
jsdoc
|
||||
json
|
||||
lua
|
||||
markdown
|
||||
markdown_inline
|
||||
nix
|
||||
python
|
||||
query
|
||||
regex
|
||||
rust
|
||||
sql
|
||||
svelteGrammar
|
||||
toml
|
||||
tsx
|
||||
typescript
|
||||
typst
|
||||
vim
|
||||
vimdoc
|
||||
yaml
|
||||
]
|
||||
);
|
||||
in
|
||||
{
|
||||
@@ -41,118 +63,148 @@ in
|
||||
|
||||
wrappers.neovim = {
|
||||
enable = true;
|
||||
|
||||
settings.config_directory = ./lua-config;
|
||||
|
||||
runtimePkgs = with pkgs; [
|
||||
ripgrep
|
||||
fd
|
||||
wl-clipboard
|
||||
|
||||
stylua
|
||||
nixfmt
|
||||
oxfmt
|
||||
taplo
|
||||
yamlfmt
|
||||
lua-language-server
|
||||
nixd
|
||||
nixfmt
|
||||
dafny
|
||||
vscode-langservers-extracted
|
||||
tailwindcss-language-server
|
||||
rust-analyzer
|
||||
rustfmt
|
||||
astro-language-server
|
||||
tinymist
|
||||
typstyle
|
||||
websocat
|
||||
ty
|
||||
ruff
|
||||
|
||||
lua-language-server
|
||||
nixd
|
||||
vscode-langservers-extracted
|
||||
yaml-language-server
|
||||
vtsls
|
||||
oxlint
|
||||
oxfmt
|
||||
emmet-language-server
|
||||
svelteLanguageServer
|
||||
tailwindcss-language-server
|
||||
emmet-language-server
|
||||
oxlint
|
||||
rust-analyzer
|
||||
astro-language-server
|
||||
tinymist
|
||||
ty
|
||||
|
||||
postgresql
|
||||
mariadb
|
||||
mongosh
|
||||
|
||||
kulala-core
|
||||
kulala-fmt
|
||||
curl
|
||||
jq
|
||||
openssl
|
||||
|
||||
zk
|
||||
];
|
||||
|
||||
specs = {
|
||||
lz-n = {
|
||||
data = pkgs.vimPlugins.lz-n;
|
||||
};
|
||||
lz-n.data = pkgs.vimPlugins.lz-n;
|
||||
|
||||
support = {
|
||||
data = with pkgs.vimPlugins; [
|
||||
plenary-nvim
|
||||
kanagawa-nvim
|
||||
nvimTreesitterWithAllGrammars
|
||||
nvim-treesitter-textobjects
|
||||
rainbow-delimiters-nvim
|
||||
];
|
||||
};
|
||||
|
||||
completion = {
|
||||
editing = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
blink-cmp
|
||||
luasnip
|
||||
friendly-snippets
|
||||
colorful-menu-nvim
|
||||
mini-nvim
|
||||
guess-indent-nvim
|
||||
nvimTreesitterWithGrammars
|
||||
nvim-treesitter-textobjects
|
||||
rainbow-delimiters-nvim
|
||||
nvim-ts-autotag
|
||||
grug-far-nvim
|
||||
];
|
||||
};
|
||||
|
||||
navigation = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
plenary-nvim
|
||||
telescope-nvim
|
||||
telescope-fzf-native-nvim
|
||||
telescope-ui-select-nvim
|
||||
{
|
||||
data = oil-nvim;
|
||||
lazy = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
diagnostics = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [ trouble-nvim ];
|
||||
};
|
||||
|
||||
lsp = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
nvim-lspconfig
|
||||
lazydev-nvim
|
||||
nvim-navic
|
||||
trouble-nvim
|
||||
typst-preview-nvim
|
||||
SchemaStore-nvim
|
||||
];
|
||||
};
|
||||
|
||||
completion = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
blink-cmp
|
||||
colorful-menu-nvim
|
||||
friendly-snippets
|
||||
{
|
||||
data = blink-compat;
|
||||
lazy = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
formatting = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
conform-nvim
|
||||
];
|
||||
};
|
||||
|
||||
core = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
mini-nvim
|
||||
guess-indent-nvim
|
||||
direnv-vim
|
||||
];
|
||||
data = with pkgs.vimPlugins; [ conform-nvim ];
|
||||
};
|
||||
|
||||
ui = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
{
|
||||
data = kanagawa-nvim;
|
||||
lazy = false;
|
||||
}
|
||||
lualine-nvim
|
||||
gitsigns-nvim
|
||||
zen-mode-nvim
|
||||
which-key-nvim
|
||||
kulala-nvim
|
||||
];
|
||||
};
|
||||
|
||||
project = {
|
||||
database = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
project-nvim
|
||||
vim-dadbod
|
||||
vim-dadbod-completion
|
||||
vim-dadbod-ui
|
||||
];
|
||||
};
|
||||
|
||||
telescope = {
|
||||
http = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [
|
||||
telescope-nvim
|
||||
telescope-fzf-native-nvim
|
||||
telescope-ui-select-nvim
|
||||
];
|
||||
data = with pkgs.vimPlugins; [ kulala-nvim ];
|
||||
};
|
||||
|
||||
notes = {
|
||||
lazy = true;
|
||||
data = with pkgs.vimPlugins; [ zk-nvim ];
|
||||
};
|
||||
};
|
||||
|
||||
env.ZK_NOTEBOOK_DIR = "${config.home.homeDirectory}/sync/notes";
|
||||
|
||||
settings = {
|
||||
nixdExtras = {
|
||||
nixpkgs = "import ${pkgs.path} {}";
|
||||
@@ -160,18 +212,9 @@ in
|
||||
home_manager_options = ''(builtins.getFlake "path://${account.nixosConfigurationPath}").nixosConfigurations.${osConfig.facts.machine.name}.options.home-manager.users.type.getSubOptions []'';
|
||||
};
|
||||
|
||||
themeSetup = import ./_kanagawa-theme.nix {
|
||||
themeName = "kanagawa-wave";
|
||||
};
|
||||
|
||||
typstPreviewDependencies = {
|
||||
tinymist = "${pkgs.tinymist}/bin/tinymist";
|
||||
websocat = "${pkgs.websocat}/bin/websocat";
|
||||
};
|
||||
kulalaCorePath = "${pkgs.kulala-core}/bin/kulala-core";
|
||||
};
|
||||
|
||||
hosts.python3.nvim-host.enable = true;
|
||||
hosts.node.nvim-host.enable = true;
|
||||
binName = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user