VDQT5YV3DCAGV2O6NHN6AM4P4G5O3BITRGKP5EA342YWTXVMAPTQC VBDVNQXWOD6D53KSMTAWIBCDCIBFQGJ4QIUUINU4FMQ2DXIMXZYAC MHVO2C7QN3N7SPO4UQ2U4G4BF3DOOZXK4MTGAJWBWKO5WYVPMCVAC DQKRRVOVJ4MH7HHPCNQ2KWKKY2MHQLTITRVJTDZHOGYYKTJFNFAQC RNZOE2NTJYBKVHRFXVE6W6LDRCNMFI63UJ3MR6WJWZDEVPLR26GQC GT35NGAHIVA7RXCZRK6OPFIC6KRVJ7SNI2AKVYLZLMVSBIKLOIEQC YQTJKSDUZ6Y6LSJGOKBYQOPG3IG5RFMRKO2JGVUN5Q7AHPGOWFTAC RXJH46XLP6AFSIZZD4WEQA5A5YZLKHZ54ZUGCRH7TRAOH2Z4Q2VQC KXYLAJ5WZIXV5FQ4TU3IPHCO2YRKQBAZBW27LOA5EVWI2OLVPIIAC 5MVRBPXU6D5UN7IGEGOGE3OQ44RWVIRYZCZPB7KWQGKRBRK6GBLQC 526CRD2QD6NF6N6PQUNWZT6UUGNLMC25UYNIO7ZFUCPQCUALYN4QC GDI3HOMTZYAE53VRPV5ITRA5WPTPNZELJHK3TM5MCICMH6MOECLAC TCOKCTUAKA3VY42FJYXVIFI2ELCRP2ICWCGUYH4PKFJ4ESEDBT3AC ZLO5EAF53I56M6FKIHHD3F2NEHASJLTZPH6QUYPSLV5FXX4ABBIAC 2ZWNRAAEWUQBDML63NQVIAO62UHOYIQTQQP7MD52KS3WZYQIX7ZQC B7Y7XR6POBLV3EQJX6JTDV42FFBONAEUDGJ2H7HILS4XGSX5HOEQC B5CQFDTCKZCZXBWAQGTZA5V73EBNAKDDUWX5PWRCEJECYVI4M7TAC {programs.nvf.settings.vim.highlight = {TreeSitterContextLineNumberBottom = {fg = "#FFFFFF";};TreeSitterContextSeparator = {fg = "#363636";};};}
autocomplete.blink-cmp = enabled {mappings = {next = null;previous = null;scrollDocsDown = "<C-d>";scrollDocsUp = "<C-u>";};setupOpts = {keymap = {preset = "enter";};completion = {list = {selection = {preselect = false;};};documentation = {window = {border = "single";winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:CursorLine,Search:None";};auto_show = true;auto_show_delay_ms = 250;};menu = {border = "single";winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:CursorLine,Search:None";draw = {columns = lib.generators.mkLuaInline ''{{ "kind" },{ "label", gap = 1 }}'';};};};cmdline = {enabled = false;};signature = {enabled = true;};sources = {default = ["lsp""path""snippets""buffer"];providers = {buffer = {opts = lib.generators.mkLuaInline ''{get_bufnrs = function()return vim.tbl_filter(function(bufnr)return vim.bo[bufnr].buftype == ""end, vim.api.nvim_list_bufs())end,}'';};};};};};
};};};# treesittertreesitter = {enable = true;grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [javascripttypescriptsveltemarkdowncsshtmlluavimjsonyamlvimdocgohttpnurustnasmasm];fold = true;indent.enable = true;highlight.enable = true;textobjects.enable = true;# autoTagHtml = true;context = {enable = true;setupOpts = {max_lines = 3;separator = "-";};};};languages = {# rust = {# crates.enable = true;# dap.enable = true;# };markdown.extensions.render-markdown-nvim = {enable = true;setupOpts = {completions = {blink = {enabled = true;};};file_types = [ "markdown" ];
light = "function() ColorMyPencils('light') end";dark = "function() ColorMyPencils('dark') end";
light = "function() ColorMyPencils('gruvbox-material', 'light', false) end";dark = "function() ColorMyPencils('gruvbox-material', 'dark', false) end";
"blink.cmp" = {package = pkgs.vimPlugins.blink-cmp;lazy = false;setupModule = "blink-cmp";setupOpts = {keymap = {preset = "enter";};completion = {list = {selection = {preselect = false;};};documentation = {window = {border = "single";winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:CursorLine,Search:None";};auto_show = true;auto_show_delay_ms = 250;};menu = {border = "single";winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:CursorLine,Search:None";draw = {columns = lib.generators.mkLuaInline ''{{ "kind" },{ "label", gap = 1 }}'';};};};cmdline = {enabled = false;};signature = {enabled = true;};sources = {default = ["lsp""path""snippets""buffer"];providers = {buffer = {opts = lib.generators.mkLuaInline ''{get_bufnrs = function()return vim.tbl_filter(function(bufnr)return vim.bo[bufnr].buftype == ""end, vim.api.nvim_list_bufs())end,}'';};};};};};
#==============## LANG SUPPORT ##==============#languages = {html = enabled {treesitter = enabled;};css = enabled {treesitter = enabled;lsp = enabled;format = enabled {type = "prettierd";};};rust = enabled {treesitter = enabled;dap = enabled;# lsp handled in ./langs.nixcrates = enabled;format = enabled;};assembly = enabled {treesitter = enabled;lsp = enabled;};
astro = enabled {treesitter = enabled;lsp = enabled;format = enabled {type = "prettierd";};};ts = enabled {treesitter = enabled;lsp = enabled {server = "denols";};format = enabled {type = "prettierd";};};lua = enabled {treesitter = enabled;lsp = enabled;format = enabled;};nix = enabled {treesitter = enabled;lsp = enabled {server = "nixd";};format = enabled {type = "nixfmt";};};nu = enabled {treesitter = enabled;lsp = enabled;};svelte = enabled {treesitter = enabled;lsp = enabled;format = enabled {type = "prettier";};};tailwind = enabled {lsp = enabled;};yaml = enabled {treesitter = enabled;# lsp handled in ./langs.nix};go = enabled {treesitter = enabled;lsp = enabled;dap = enabled;format = enabled {type = "gofumpt";};};markdown = enabled {treesitter = enabled;lsp = enabled;extensions.render-markdown-nvim = enabled {setupOpts = {completions = {blink = {enabled = true;};};file_types = ["markdown""md"];};};};};#============## TREESITTER ##============#treesitter = {enable = true;grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [vimjsonvimdochttpnasmasm];fold = true;indent.enable = true;highlight.enable = true;textobjects.enable = true;autotagHtml = true;context = {enable = true;setupOpts = {max_lines = 3;separator = "▁";};};};#============## OTHER LSPs ##============#
"astro" = {cmd = ["astro-ls""--stdio"];filetypes = [ "astro" ];root_markers = ["package.json""bun.lock""tsconfig.json"];init_options = {typescript = {# should make this dynamic but now only care about 1 projecttsdk = mkLuaInline ''vim.fn.getcwd() .. "/node_modules/typescript/lib"'';};};};
gopls = {root_markers = ["go.mod""go.sum"];filetypes = [ "go" ];cmd = [ "gopls" ];settings = {experimentalPostfixCompletions = true;gofumpt = true;staticcheck = true;completeUnimported = true;usePlaceholders = true;semanticTokens = true;codelenses = {run_govulncheck = true;};vulncheck = "Imports";};};
};};};};lua_ls = {filetypes = [ "lua" ];cmd = [ "lua-language-server" ];settings = {Lua = {diagnostics = {globals = ["vim""wezterm"];};workspaces = {checkThirdParty = true;library = mkLuaInline ''vim.api.nvim_get_runtime_file("", true)'';
};"nixd" = {root_markers = ["flake.nix"".git"];filetypes = [ "nix" ];cmd = [ "nixd" ];};nushell = {filetypes = [ "nu" ];cmd = ["nu""--lsp"];};# now handled by rustaceanvim# "rust_analyzer" = {# root_markers = [# "Cargo.toml"# "Cargo.lock"# ];# filetypes = [ "rust" ];# cmd = [ "rust-analyzer" ];# settings = {};# };"svelteserver" = {root_markers = ["package.json""bun.lock"];filetypes = [ "svelte" ];cmd = ["svelteserver""--stdio"];};
"tailwindcss" = {root_markers = ["package.json""bun.lock"];filetypes = ["astro""svelte""tsx""jsx""html""vue"];cmd = ["tailwindcss-language-server""--stdio"];};"ts_ls" = {root_markers = ["package.json""bun.lock""package-lock.json"];filetypes = ["typescript""javascript""javascriptreact""typescriptreact""vue"];cmd = ["bunx""--bun""typescript-language-server""--stdio"];# init_options = {# plugins = mkLuaInline ''# {# {# name = "@vue/typescript-plugin",# location = vim.fn.exepath("vue-language-server"),# languages = { "vue" },# }# }# '';# };