r/o
1
{
2
description = "enbi -- NixBuild controller";
3
4
inputs = {
5
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
6
};
7
8
outputs =
9
{
10
self,
11
nixpkgs,
12
}:
13
let
14
systems = [
15
"aarch64-darwin"
16
"aarch64-linux"
17
"x86_64-darwin"
18
"x86_64-linux"
19
];
20
eachSystem = nixpkgs.lib.genAttrs systems;
21
in
22
{
23
formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
24
25
packages = eachSystem (
26
system:
27
let
28
pkgs = nixpkgs.legacyPackages.${system};
29
in
30
rec {
31
default = enbi;
32
33
enbi = pkgs.callPackage ./nix/package.nix { };
34
enbi-static = pkgs.pkgsStatic.callPackage ./nix/package.nix {
35
withStatic = true;
36
};
37
38
enbi-docker = pkgs.callPackage ./nix/docker.nix {
39
# No apparent benefit to statically linking.
40
inherit enbi;
41
enbi-rev = self.rev or "dev";
42
};
43
}
44
);
45
46
devShells = eachSystem (
47
system:
48
let
49
pkgs = nixpkgs.legacyPackages.${system};
50
in
51
{
52
default = pkgs.mkShell {
53
name = "enbi";
54
packages = (
55
with pkgs;
56
[
57
kubebuilder
58
go
59
gopls
60
shellcheck
61
]
62
);
63
};
64
}
65
);
66
};
67
}
68