Install pi coding agent

This commit is contained in:
Tobias Ostner 2026-06-17 11:01:05 +02:00
parent 0ae35598ad
commit 2b9387cf2a
3 changed files with 125 additions and 3 deletions

112
flake.lock generated
View file

@ -1,5 +1,33 @@
{ {
"nodes": { "nodes": {
"bun2nix": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"pi",
"nixpkgs"
],
"systems": [
"pi",
"systems"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1778446047,
"narHash": "sha256-oQvcadh2BCkrog+SGrG6YffKJrveYpjj3TdQJWaKhaM=",
"owner": "nix-community",
"repo": "bun2nix",
"rev": "f2bc12af1a6369648aac41041ceeaa0b866599c6",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "2.1.0",
"repo": "bun2nix",
"type": "github"
}
},
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -39,6 +67,28 @@
}, },
"parent": [] "parent": []
}, },
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"pi",
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1777988971,
"narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -75,12 +125,72 @@
"type": "github" "type": "github"
} }
}, },
"pi": {
"inputs": {
"bun2nix": "bun2nix",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1781657274,
"narHash": "sha256-YmocrTZgqbGTtm/2R8vb+wNYF7UnzhPBtgZWM3lnhNk=",
"owner": "lukasl-dev",
"repo": "pi.nix",
"rev": "06ce2552cb34f1a519fe1a76e97528ef97711078",
"type": "github"
},
"original": {
"owner": "lukasl-dev",
"repo": "pi.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"darwin": "darwin", "darwin": "darwin",
"emacsConfig": "emacsConfig", "emacsConfig": "emacsConfig",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs",
"pi": "pi"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"pi",
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
} }
} }
}, },

View file

@ -12,6 +12,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
pi = {
url = "github:lukasl-dev/pi.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
emacsConfig = { emacsConfig = {
url = "path:./flakes/emacs"; url = "path:./flakes/emacs";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -32,6 +37,11 @@
hostname = "TobBook"; hostname = "TobBook";
extraHomeManagerModules = [ extraHomeManagerModules = [
inputs.emacsConfig.homeManagerModules.aarch64-darwin inputs.emacsConfig.homeManagerModules.aarch64-darwin
inputs.pi.homeManagerModules.default
({ lib, pkgs, ... }: {
programs.pi.coding-agent.package =
lib.lowPrio inputs.pi.packages.${pkgs.system}.coding-agent;
})
]; ];
}; };
}; };

View file

@ -1,5 +1,4 @@
{ email }: { pkgs, ... }: { { email }: { pkgs, ... }: {
home.file.".clojure/deps.edn".source = ../config/clojure/deps.edn; home.file.".clojure/deps.edn".source = ../config/clojure/deps.edn;
targets.darwin.defaults = { targets.darwin.defaults = {
@ -42,7 +41,6 @@
noto-fonts noto-fonts
pass pass
pinentry_mac pinentry_mac
pi-coding-agent
ripgrep ripgrep
tree tree
typescript typescript
@ -86,6 +84,10 @@
enable = true; enable = true;
}; };
pi.coding-agent = {
enable = true;
};
starship = { starship = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;