Files
nix/hosts/common/configs/user/console/neovim/default.nix
Nikolaos Karaolidis 641d97f793 Add nvf
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-08-27 10:29:05 +00:00

137 lines
3.1 KiB
Nix

{ user, home }:
{ inputs, ... }:
{
home-manager.users.${user} = {
imports = [ inputs.nvf.homeManagerModules.default ];
programs = {
nvf = {
enable = true;
defaultEditor = true;
settings = {
vim = {
enableLuaLoader = true;
viAlias = true;
vimAlias = true;
binds = {
cheatsheet.enable = true;
hardtime-nvim.enable = true;
whichKey.enable = true;
};
clipboard = {
enable = true;
providers.wl-copy.enable = true;
};
comments = {
comment-nvim.enable = true;
};
filetree = {
neo-tree = {
enable = true;
};
};
git = {
enable = true;
gitsigns.enable = true;
};
languages = {
enableDAP = true;
enableFormat = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
assembly.enable = true;
bash.enable = true;
clang.enable = true;
csharp.enable = true;
css.enable = true;
go.enable = true;
html.enable = true;
java.enable = true;
lua.enable = true;
markdown.enable = true;
nix = {
enable = true;
format.type = "nixfmt";
};
php.enable = true;
python.enable = true;
rust.enable = true;
sql.enable = true;
svelte.enable = true;
ts.enable = true;
yaml.enable = true;
};
lsp = {
enable = true;
formatOnSave = true;
nvim-docs-view.enable = true;
otter-nvim.enable = true;
trouble.enable = true;
};
notify = {
nvim-notify.enable = true;
};
options = {
tabstop = 2;
shiftwidth = 2;
expandtab = true;
smartindent = true;
};
searchCase = "smart";
telescope = {
enable = true;
};
terminal = {
toggleterm = {
enable = true;
};
};
treesitter = {
enable = true;
context.enable = true;
fold = true;
textobjects.enable = true;
};
ui = {
colorizer.enable = true;
};
undoFile.enable = true;
utility = {
motion = {
precognition.enable = true;
};
};
visuals = {
indent-blankline.enable = true;
nvim-cursorline.enable = true;
nvim-web-devicons.enable = true;
};
};
};
};
zsh.p10k.extraRightPromptElements = [ "vim_shell" ];
};
};
}