From a3bb2e838a06eee7df53ff18c6a72101b5fcbdf0 Mon Sep 17 00:00:00 2001 From: Martin Pander Date: Sun, 21 Jun 2026 19:31:00 +0200 Subject: [PATCH] Add pi --- flake.lock | 175 +++++++++++++++++++++++++++++++++++--- flake.nix | 2 + hosts/home/common.nix | 1 + modules/home/dev.nix | 7 ++ modules/home/opencode.nix | 2 +- 5 files changed, 176 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index f2216e3..27d228f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,30 @@ { "nodes": { + "blueprint": { + "inputs": { + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ], + "systems": [ + "llm-agents", + "systems" + ] + }, + "locked": { + "lastModified": 1776249299, + "narHash": "sha256-Dt9t1TGRmJFc0xVYhttNBD6QsAgHOHCArqGa0AyjrJY=", + "owner": "numtide", + "repo": "blueprint", + "rev": "56131e8628f173d24a27f6d27c0215eff57e40dd", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "blueprint", + "type": "github" + } + }, "bun2nix": { "inputs": { "flake-parts": "flake-parts", @@ -25,6 +50,39 @@ "type": "github" } }, + "bun2nix_2": { + "inputs": { + "flake-parts": [ + "llm-agents", + "flake-parts" + ], + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ], + "systems": [ + "llm-agents", + "systems" + ], + "treefmt-nix": [ + "llm-agents", + "treefmt-nix" + ] + }, + "locked": { + "lastModified": 1778446047, + "narHash": "sha256-oQvcadh2BCkrog+SGrG6YffKJrveYpjj3TdQJWaKhaM=", + "owner": "nix-community", + "repo": "bun2nix", + "rev": "f2bc12af1a6369648aac41041ceeaa0b866599c6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "bun2nix", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -60,6 +118,27 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "llm-agents", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, @@ -79,7 +158,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1681202837, @@ -173,6 +252,29 @@ "type": "github" } }, + "llm-agents": { + "inputs": { + "blueprint": "blueprint", + "bun2nix": "bun2nix_2", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs", + "systems": "systems_2", + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1781935030, + "narHash": "sha256-VbghtmBX09cL/JIm5fXSzHnI2tFE8lorxe9Fx/hE6yk=", + "owner": "numtide", + "repo": "llm-agents.nix", + "rev": "6d65e7002dd5fe407af6d989ea49f9e89619d4db", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "llm-agents.nix", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -238,16 +340,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1781577229, - "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", - "owner": "nixos", + "lastModified": 1781607440, + "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -331,6 +433,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1771369470, "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", @@ -351,10 +469,11 @@ "home-manager": "home-manager", "home-manager-wsl": "home-manager-wsl", "hunk": "hunk", + "llm-agents": "llm-agents", "nix-darwin": "nix-darwin", "nixos-vscode-server": "nixos-vscode-server", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-opencode": "nixpkgs-opencode", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-wsl-stable": "nixpkgs-wsl-stable", @@ -412,10 +531,25 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tasksquire": { "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_2" + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1771878653, @@ -453,6 +587,27 @@ "repo": "treefmt-nix", "type": "github" } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "llm-agents", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1780220602, + "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "db947814a175b7ca6ded66e21383d938df01c227", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3f603f9..dd8fa76 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,8 @@ url = "github:modem-dev/hunk"; inputs.nixpkgs.follows = "nixpkgs"; }; + + llm-agents.url = "github:numtide/llm-agents.nix"; }; outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-wsl-stable, nixpkgs-opencode, nixos-wsl, home-manager, home-manager-wsl, nix-darwin, ... }@inputs: diff --git a/hosts/home/common.nix b/hosts/home/common.nix index 681de0b..9eeebed 100644 --- a/hosts/home/common.nix +++ b/hosts/home/common.nix @@ -20,5 +20,6 @@ gemini-cli.enable = true; opencode.enable = true; opencode.enableConfig = true; + # pi.enable = true; }; } diff --git a/modules/home/dev.nix b/modules/home/dev.nix index 86fc950..476b458 100644 --- a/modules/home/dev.nix +++ b/modules/home/dev.nix @@ -21,6 +21,11 @@ in default = false; description = "Enable gemini-cli"; }; + pi.enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable pi"; + }; bubblewrap.enable = lib.mkOption { type = lib.types.bool; default = pkgs.stdenv.isLinux; @@ -50,6 +55,8 @@ in (lib.optional cfg.opencode.enable (pkgs.opencode-pinned or pkgs.unstable.opencode)) ++ (lib.optional cfg.gemini-cli.enable pkgs.unstable.gemini-cli) ++ (lib.optional (cfg.bubblewrap.enable && pkgs.stdenv.isLinux) pkgs.unstable.bubblewrap); + # environment.systemPackages = [] ++ + # (lib.optional cfg.pi.enable inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.pi); }) ]; } diff --git a/modules/home/opencode.nix b/modules/home/opencode.nix index 4d4bb50..ca4b960 100644 --- a/modules/home/opencode.nix +++ b/modules/home/opencode.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, inputs, ... }: let cfg = config.dot.llm.opencode;