{pkgs, ...}: { home.packages = with pkgs; [tree-sitter fd ripgrep]; programs.nvf = { enable = true; enableManpages = true; settings = { # https://nvf.notashelf.dev/options.html vim = { luaConfigPost = '' vim.o.tabstop = 2 vim.o.shiftwidth = 2 vim.o.expandtab = true vim.o.cursorline = true vim.o.scrolloff = 10 vim.o.sidescrolloff = 8 ''; autocomplete.blink-cmp.enable = true; binds = {cheatsheet.enable = true;}; dashboard.alpha = { enable = true; theme = "dashboard"; }; filetree.neo-tree = {enable = true;}; comments.comment-nvim.enable = true; autopairs.nvim-autopairs.enable = true; snippets.luasnip.enable = true; visuals = { fidget-nvim.enable = true; highlight-undo.enable = true; indent-blankline.enable = true; }; terminal = { toggleterm = { enable = true; lazygit = {enable = true;}; }; }; treesitter = { enable = true; context.enable = true; fold = true; autotagHtml.enable = true; indent.enable = true; }; syntaxHighlighting = true; keymaps = [ { key = ""; action = ":bnext"; mode = ["n"]; } { key = "t"; action = ":Telescope buffers"; mode = ["n"]; } { key = "T"; action = ":terminal"; mode = ["n"]; } { key = "e"; action = ":Neotree toggle"; mode = ["n"]; } { key = "ow"; action = ":ObsidianWorkspace"; mode = ["n"]; } { key = "od"; action = ":ObsidianDailies"; mode = ["n"]; } { key = "on"; action = ":ObsidianNew"; mode = ["n"]; } { key = "oN"; action = ":ObsidianNewFromTemplate"; mode = ["n"]; } ]; git = { enable = true; gitsigns.enable = true; gitsigns.codeActions.enable = false; neogit.enable = true; }; languages = { enableTreesitter = true; enableFormat = true; enableExtraDiagnostics = true; bash.enable = true; lua.enable = true; go.enable = true; python.enable = true; markdown = { enable = true; extensions.render-markdown-nvim.enable = true; }; nix.enable = true; html.enable = true; }; lsp = { enable = true; formatOnSave = true; lspkind.enable = false; lightbulb.enable = true; lspsaga.enable = false; trouble.enable = true; }; minimap = { minimap-vim.enable = false; codewindow.enable = true; }; notify = {nvim-notify.enable = true;}; options = {conceallevel = 1;}; statusline.lualine = { enable = true; theme = "catppuccin"; }; telescope.enable = true; theme = { enable = true; name = "catppuccin"; style = "mocha"; transparent = false; }; viAlias = true; vimAlias = true; notes = { obsidian = { enable = true; setupOpts = { legacy_commands = true; ui.enable = false; completion.nvim-cmp = true; templates = {subdir = "Templates";}; daily_notes = { date_format = "%Y-%m-%d"; folder = "Daily"; }; workspaces = [ { name = "main"; path = "~/.obsidian/main"; } { name = "journal"; path = "~/.obsidian/journal"; } { name = "food"; path = "~/.obsidian/Food"; } ]; }; }; }; ui = { breadcrumbs = { enable = true; navbuddy.enable = true; }; }; }; }; }; }