pantheon/packages/nvf.nix
2025-03-03 10:57:50 +08:00

86 lines
1.9 KiB
Nix

_: {
config.vim = {
theme = {
enable = true;
name = "catppuccin";
style = "mocha";
};
options = {
# Indentation
expandtab = true;
shiftwidth = 2;
tabstop = 2;
shiftround = true;
smarttab = true;
smartindent = true;
# Visual Settings
cursorline = true;
# signcolumn = "no";
};
# Built-Ins
autocomplete.blink-cmp.enable = true;
autopairs.nvim-autopairs.enable = true;
binds.whichKey.enable = true;
comments.comment-nvim.enable = true;
formatter.conform-nvim.enable = true;
dashboard.alpha.enable = true;
# Filetree
filetree.nvimTree = {
enable = true;
mappings.toggle = "t";
setupOpts = {
git = {
enable = true;
};
hijack_cursor = true;
view.side = "right";
disable_netrw = true;
hijack_netrw = true;
};
# TODO:
# - allow me to move files around with vim bindings
};
fzf-lua = {
enable = true;
profile = "default";
};
telescope = {
enable = true;
};
# Languages
languages = {
markdown.enable = true;
python.enable = true;
nix = {
enable = true;
format.enable = true;
lsp.enable = true;
treesitter.enable = true;
extraDiagnostics.enable = true;
};
};
# Lazy Loaded Plugins
# lazy.plugins = {
# # aerial.nvim = { package = aerial.nvim; after = "print('aerial loaded')"; };
# };
# # Load Plugins after Built-Ins
# extraPlugins =
# /*
# with pkgs.vimPlugins;
# */
# {
# #harpoon = { package = harpoon; setup = "require('harpoon').setup {}"; };
# };
# # Add directly to init.lua
# # Attribute names denote the section names
# #luaConfigRC = { aquarium = "vim.cmd('colorscheme aquarium')"; };
};
}