{ config, pkgs, nixvim, ... }: { home.packages = with pkgs; [tree-sitter fd ripgrep]; programs.nvf = { enable = true; settings = { vim = { autocomplete.nvim-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; terminal = { toggleterm = { enable = true; lazygit = { enable = true; }; }; }; treesitter = { enable = true; context.enable = true; fold = true; autotagHtml.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; }; options = {conceallevel = 1;}; statusline.lualine.enable = true; telescope.enable = true; theme = { enable = true; name = "catppuccin"; style = "mocha"; }; 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"; } ]; }; }; }; }; }; }; }