109 lines
4.2 KiB
Nix
109 lines
4.2 KiB
Nix
{ nvf, ... }: {
|
|
imports = [
|
|
nvf.homeManagerModules.default
|
|
];
|
|
|
|
programs.nvf = {
|
|
enable = true;
|
|
settings = {
|
|
vim = {
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
lsp.enable = true;
|
|
treesitter.enable = true;
|
|
autocomplete.nvim-cmp.enable = true;
|
|
|
|
languages = {
|
|
rust.enable = true;
|
|
go.enable = true;
|
|
python.enable = true;
|
|
markdown.enable = true;
|
|
css.enable = true;
|
|
scss.enable = true;
|
|
tsx.enable = true;
|
|
typescript = {
|
|
enable = true;
|
|
lsp.servers = [ "typescript-language-server" "deno" ];
|
|
};
|
|
};
|
|
|
|
utility.surround.enable = true;
|
|
telescope.enable = true;
|
|
mini.icons.enable = true;
|
|
notes.obsidian = {
|
|
enable = true;
|
|
setupOpts.workspaces = [
|
|
{
|
|
name = "personal";
|
|
path = "~/Documents/Obsidian/notes";
|
|
}
|
|
];
|
|
};
|
|
|
|
terminal.toggleterm = {
|
|
enable = true;
|
|
lazygit = {
|
|
enable = true;
|
|
mappings.open = "<leader>gg";
|
|
};
|
|
};
|
|
filetree.neo-tree.enable = true;
|
|
binds.whichKey.enable = true;
|
|
|
|
clipboard = {
|
|
enable = true;
|
|
registers = "unnamedplus";
|
|
providers = {
|
|
wl-copy.enable = true;
|
|
xclip.enable = true;
|
|
};
|
|
};
|
|
|
|
lsp.null-ls = {
|
|
enable = true;
|
|
setupOpts = {};
|
|
};
|
|
lsp.trouble.enable = true;
|
|
|
|
theme = {
|
|
enable = true;
|
|
name = "catppuccin";
|
|
style = "mocha";
|
|
transparent = false;
|
|
};
|
|
|
|
dashboard.alpha.enable = true;
|
|
|
|
statusline.lualine.enable = true;
|
|
|
|
keymaps = [
|
|
{
|
|
key = "<C-s>";
|
|
mode = "n";
|
|
action = "<cmd>w<CR>";
|
|
silent = true;
|
|
noremap = true;
|
|
}
|
|
{ key = "<leader>o"; mode = "n"; action = "<cmd>Neotree toggle<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>tf"; mode = "n"; action = "<cmd>ToggleTerm direction=float<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>th"; mode = "n"; action = "<cmd>ToggleTerm direction=horizontal<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>tv"; mode = "n"; action = "<cmd>ToggleTerm direction=vertical<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>n"; mode = "n"; action = "<nop>"; desc = "Notes"; silent = true; noremap = true; }
|
|
{ key = "<leader>nd"; mode = "n"; action = "<cmd>Obsidian today<CR>"; desc = "Obsidian daily note"; silent = true; noremap = true; }
|
|
{ key = "<leader>nf"; mode = "n"; action = "<cmd>Obsidian quick_switch<CR>"; desc = "Obsidian find note"; silent = true; noremap = true; }
|
|
{ key = "<leader>ns"; mode = "n"; action = "<cmd>Obsidian search<CR>"; desc = "Obsidian search notes"; silent = true; noremap = true; }
|
|
{ key = "<leader>nn"; mode = "n"; action = "<cmd>Obsidian new<CR>"; desc = "Obsidian new note"; silent = true; noremap = true; }
|
|
{ key = "<leader>ff"; mode = "n"; action = "<cmd>Telescope find_files<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>fD"; mode = "n"; action = "<cmd>lua require('telescope.builtin').find_files({ cwd = vim.fn.input('Dir: ', vim.loop.cwd() .. '/', 'dir') })<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>fg"; mode = "n"; action = "<cmd>Telescope live_grep<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>/"; mode = "n"; action = "<cmd>Telescope current_buffer_fuzzy_find<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>gb"; mode = "n"; action = "<cmd>Telescope git_branches<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>gc"; mode = "n"; action = "<cmd>Telescope git_commits<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>gl"; mode = "n"; action = "<cmd>Telescope git_bcommits<CR>"; silent = true; noremap = true; }
|
|
{ key = "<leader>gr"; mode = "n"; action = "<cmd>Telescope git_status<CR>"; silent = true; noremap = true; }
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|