_: { 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')"; }; }; }