76 lines
1.8 KiB
Nix
76 lines
1.8 KiB
Nix
{
|
|
description = "CLI Proxy API with its Vite management frontend";
|
|
|
|
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; [
|
|
gcc
|
|
git
|
|
go_1_26
|
|
golangci-lint
|
|
gopls
|
|
gotools
|
|
nodejs_24
|
|
nixfmt
|
|
pkg-config
|
|
pnpm
|
|
yaml-language-server
|
|
];
|
|
CGO_ENABLED = "1";
|
|
};
|
|
}
|
|
);
|
|
|
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt);
|
|
|
|
nixosModules = {
|
|
default = self.nixosModules.vibe-proxy;
|
|
vibe-proxy = import ./nix/module.nix { inherit self; };
|
|
};
|
|
};
|
|
}
|