Files
t3code-flake/flake.nix
T

77 lines
2.1 KiB
Nix

{
description = "T3 Code packages for Nix";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
llm-agents.url = "github:numtide/llm-agents.nix";
t3code.url = "github:pingdotgg/t3code";
t3code.flake = false;
};
nixConfig = {
extra-substituters = ["https://cache.numtide.com"];
extra-trusted-public-keys = ["niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="];
};
outputs = {
self,
llm-agents,
nixpkgs,
t3code,
...
}: let
lib = nixpkgs.lib;
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = lib.genAttrs systems;
in {
packages = forAllSystems (
system: let
pkgs = import nixpkgs {inherit system;};
src = t3code;
codexPackage = llm-agents.packages.${system}.codex;
claudeCodePackage = llm-agents.packages.${system}."claude-code";
opencodePackage = llm-agents.packages.${system}.opencode;
t3code-desktop = pkgs.callPackage ./packages/t3code-desktop {
inherit src codexPackage claudeCodePackage opencodePackage;
};
t3code-server = pkgs.callPackage ./packages/t3code-server {
inherit src codexPackage claudeCodePackage opencodePackage;
};
in {
inherit t3code-desktop t3code-server;
desktop = t3code-desktop;
server = t3code-server;
default = t3code-desktop;
}
);
apps = forAllSystems (system: rec {
t3code-desktop = {
type = "app";
program = lib.getExe self.packages.${system}.t3code-desktop;
};
t3code-server = {
type = "app";
program = lib.getExe self.packages.${system}.t3code-server;
};
desktop = t3code-desktop;
server = t3code-server;
default = t3code-desktop;
});
checks = forAllSystems (
system: rec {
t3code-desktop = self.packages.${system}.t3code-desktop;
t3code-server = self.packages.${system}.t3code-server;
desktop = t3code-desktop;
server = t3code-server;
}
);
};
}