Files
dev/third_party/pi/flake.nix
alexion 6081e3e325 chore(vendor): import pi 1.3.0
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
2026-10-15 17:58:48 -04:00

55 lines
1.4 KiB
Nix

{
description = "Pi coding agent";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs unstable no longer supports Intel macOS. Keep using the final
# Darwin branch that does so for pi's x86_64-darwin package.
nixpkgs-darwin-x64.url = "github:NixOS/nixpkgs/nixpkgs-26.05-darwin";
};
outputs =
{
self,
nixpkgs,
nixpkgs-darwin-x64,
}:
let
systems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
nixpkgsFor = system: if system == "x86_64-darwin" then nixpkgs-darwin-x64 else nixpkgs;
packageFor =
system:
let
pkgs = import (nixpkgsFor system) { inherit system; };
in
pkgs.callPackage ./nix/package.nix { source = self; };
in
{
packages = forAllSystems (system: {
default = packageFor system;
pi = packageFor system;
});
apps = forAllSystems (system: {
default = {
type = "app";
program = "${self.packages.${system}.default}/bin/pi";
meta.description = "Pi coding agent";
};
pi = self.apps.${system}.default;
});
overlays.default = final: _previous: {
pi = final.callPackage ./nix/package.nix { source = self; };
};
};
}