vibe-proxy/flake.nix
2026-08-27 15:02:32 +02:00

73 lines
1.8 KiB
Nix

{
description = "Lightweight Codex OAuth proxy with an OpenAI-compatible API";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs =
{ self, nixpkgs }:
let
systems = [
"x86_64-linux"
"aarch64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
in
{
packages = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
built = pkgs.callPackage ./nix/package.nix { };
in
{
default = built.combined;
vibe-proxy = built.combined;
backend = built.backend;
frontend = built.frontend;
}
);
apps = forAllSystems (system: {
default = self.apps.${system}.vibe-proxy;
vibe-proxy = {
type = "app";
program = "${self.packages.${system}.default}/bin/vibe-proxy";
};
});
checks = forAllSystems (system: {
package = self.packages.${system}.default;
backend = self.packages.${system}.backend;
frontend = self.packages.${system}.frontend;
});
devShells = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
packages = with pkgs; [
git
go_1_26
golangci-lint
gopls
gotools
nodejs_24
nixfmt
pnpm
yaml-language-server
];
};
}
);
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt);
nixosModules = {
default = self.nixosModules.vibe-proxy;
vibe-proxy = import ./nix/module.nix { inherit self; };
};
};
}