{ pkgs, lib, nixvim, ... }: { imports = [ /*inputs.nixvim.nixosModules.nixvim*/ ]; programs.nixvim = { enable = true; defaultEditor = true; enableMan = true; globals.mapleader = "`"; viAlias = true; vimAlias = true; opts = { tabstop = 4; softtabstop = 0; shiftwidth = 4; expandtab = false; autoindent = true; number = true; relativenumber = true; ignorecase = true; smartcase = true; }; plugins.lsp = { enable = true; servers = { rust_analyzer = { enable = true; installCargo = false; installRustc = false; }; nixd = { enable = true; # settings.formatting.command = [ "alejandra" ]; }; }; }; plugins.treesitter = { enable = true; nixvimInjections = true; # ensure_installed = "all"; settings = { highlight = { enable = true; disable = [ "org" ]; }; }; grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars; }; extraPlugins = with pkgs.vimPlugins; [ orgmode vim-nix ]; extraConfigLua = '' -- Tree-sitter configuration require'nvim-treesitter.configs'.setup { -- If TS highlights are not enabled at all, or disabled via ``disable`` prop, highlighting will fallback to default Vim syntax highlighting highlight = { -- enable = true, -- disable = {'org'}, -- Remove this to use TS highlighter for some of the highlights (Experimental) additional_vim_regex_highlighting = {'org'}, -- Required since TS highlighter doesn't support all syntax features (conceal) }, -- ensure_installed = {'org'}, -- Or run :TSUpdate org } require('orgmode').setup({ org_agenda_files = {'~/Org/Agenda/agenda.org', '~/Public/Org/Agenda/agenda.org'}, org_default_notes_file = '~/Dropbox/org/refile.org', }) ''; extraConfigVim = '' filetype indent off set noexpandtab set list set listchars=tab:▸\ ,trail:· autocmd FileType nix setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0 ''; colorschemes.base16.enable = true; }; }