From a600e1ca42e9f5b5b2a9e81ddf9c39afb0be4246 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Thu, 28 Aug 2025 20:59:49 -0600 Subject: [PATCH] stuff --- nix/flakes/goose/flake.nix | 76 +++++++++++++++++++++++++++++++++ nix/modules/pci-passthrough.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 nix/flakes/goose/flake.nix diff --git a/nix/flakes/goose/flake.nix b/nix/flakes/goose/flake.nix new file mode 100644 index 0000000..fb2fa5a --- /dev/null +++ b/nix/flakes/goose/flake.nix @@ -0,0 +1,76 @@ +{ + description = "OpenCode MCP dev shell"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { inherit system; }; + opencodeConfig = { + "$schema" = "https://opencode.ai/config.json"; + theme = "github"; + provider = { + ollama = { + npm = "@ai-sdk/openai-compatible"; + options = { + baseURL = "http://ai-snow.reindeer-pinecone.ts.net:11434/v1"; + }; + models = { + "llama3.1:70b" = { }; + "deepseek-r1:70b" = { }; + "mistral:latest" = { }; + "qwen3:32b" = { }; + "alibayram/Qwen3-30B-A3B-Instruct-2507" = { }; + }; + }; + }; + mcp = { + playwright = { + type = "local"; + command = [ + "npx" + "-y" + "@playwright/mcp@latest" + "--executable-path" + "${pkgs.chromium}/bin/chromium" + "--no-sandbox" + ]; + }; + # sequential_thinking = { + # type = "local"; + # command = [ + # "npx" + # "-y" + # "@modelcontextprotocol/server-sequential-thinking" + # ]; + # }; + # discord_bot = { + # type = "local"; + # command = [ + # "npx" + # "-y" + # "@pyroprompts/mcp-stdio-to-streamable-http-adapter" + # ]; + # environment = { + # URI = "http://server.alexmickelson.guru:5678/mcp/"; + # MCP_NAME = "discord_bot"; + # }; + # }; + }; + }; + configJson = pkgs.writeTextFile { + name = "config.json"; + text = builtins.toJSON opencodeConfig; + }; + in { + packages = rec { + opencode = pkgs.writeShellScriptBin "opencode" '' + mkdir -p ~/.config/opencode + cp ${configJson} ~/.config/opencode/opencode.json + ${pkgs.opencode}/bin/opencode + ''; + }; + }); +} diff --git a/nix/modules/pci-passthrough.nix b/nix/modules/pci-passthrough.nix index aecb7bd..409f5d5 100644 --- a/nix/modules/pci-passthrough.nix +++ b/nix/modules/pci-passthrough.nix @@ -4,6 +4,8 @@ let # "10de:22bb" # Audio # ]; gpuIDs = [ + "10de:2704" # Graphics + "10de:22bb" # Audio "10de:2bb1" # Graphics "10de:22e8" # Audio ];