Files
Nix-Vibe/home-manager/modules/opencode.nix
T
petere eb08cd4282 Nix-Vibe public snapshot (squashed history)
Current state of main at 0240060 feat(hp-laptop): install TeleportFling from its flake. History intentionally
collapsed to a single commit; this repo mirrors only the latest state.
2026-09-19 13:53:39 +01:00

61 lines
1.7 KiB
Nix

{ pkgs, ... }:
{
# mcp-nixos gives opencode + VS Code real NixOS package/option data instead of
# hallucinated package names. Only installed on x1carbon (this module is only
# imported from hosts/x1carbon), so it does not leak to other machines.
home.packages = [ pkgs.mcp-nixos ];
xdg.configFile."opencode/opencode.json".text = builtins.toJSON {
"$schema" = "https://opencode.ai/config.json";
provider = {
# lmstudio = {
# npm = "@ai-sdk/openai-compatible";
# name = "LM Studio (local)";
# options = {
# baseURL = "http://127.0.0.1:1234/v1";
# };
# models = {
# "google/gemma-4-e4b" = {
# name = "Gemma 4 E4B (LM Studio)";
# limit = {
# context = 65536;
# output = 32768;
# };
# };
# };
# };
opencode-go = { };
};
model = "opencode-go/kimi-k2.6";
lsp = {
# nil (Nix language server, installed by nix-lsp.nix) as a custom LSP
# server so the agent gets Nix diagnostics. Formatter: nixfmt (stdin).
nil = {
command = [ "${pkgs.nil}/bin/nil" ];
extensions = [ ".nix" ];
initialization = {
nil = {
formatting = {
command = [
"nixfmt"
"-"
];
};
};
};
};
};
mcp = {
# NixOS packages/options MCP server (stdlib CLI; binary provided by
# pkgs.mcp-nixos). Use "the nix tool" to look up real package names,
# options and versions while editing flake/host configs.
nixos = {
type = "local";
command = [ "mcp-nixos" ];
enabled = true;
};
};
};
}