Compare commits

...

2 Commits

Author SHA1 Message Date
2351d799a7 opencode plan 2026-01-26 19:36:53 +00:00
8be92eda71 moar grammars 2026-01-26 19:36:53 +00:00
2 changed files with 39 additions and 18 deletions

View File

@@ -1,22 +1,40 @@
{pkgs, ...}: { {pkgs, ...}: {
programs.nixvim.plugins.treesitter = { programs.nixvim = {
plugins.treesitter = {
enable = true; enable = true;
nixGrammars = true;
grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars;
settings = { settings = {
highlight.enable = true; highlight.enable = true;
indent.enable = true; indent.enable = true;
}; };
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ };
bash
elixir # Register missing treesitter predicates for compatibility with newer grammars
fish extraConfigLuaPre = ''
heex do
json local query = require("vim.treesitter.query")
markdown local predicates = query.list_predicates()
nix if not vim.tbl_contains(predicates, "is-not?") then
toml query.add_predicate("is-not?", function(match, pattern, source, predicate)
tsx local dominated_by = predicate[2]
typescript local dominated = false
yaml for _, node in pairs(match) do
]; if type(node) == "userdata" then
local current = node:parent()
while current do
if current:type() == dominated_by then
dominated = true
break
end
current = current:parent()
end
end
end
return not dominated
end, { force = true, all = true })
end
end
'';
}; };
} }

View File

@@ -3,6 +3,9 @@
pkgs, pkgs,
... ...
}: { }: {
home.sessionVariables = {
OPENCODE_EXPERIMENTAL_PLAN_MODE = 1;
};
programs.opencode = { programs.opencode = {
enable = true; enable = true;
package = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode; package = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode;