Skip to content

Commit 1bc5f16

Browse files
committed
fixup! flake: add support for alternative architectures
1 parent 174668a commit 1bc5f16

File tree

4 files changed

+42
-59
lines changed

4 files changed

+42
-59
lines changed

flake.nix

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,7 @@
3636
(import ./overlays/nixpkgs.nix)
3737
];
3838

39-
# runtimePkgs is always x86_64-linux — the only supported runtime target.
40-
# On x86_64-linux this is the same as pkgs; on other systems (e.g. darwin)
41-
# the Nix daemon delegates builds to a remote x86_64-linux builder, producing
42-
# identical store paths to native x86_64-linux builds.
43-
runtimePkgs = import nixpkgs {
44-
system = "x86_64-linux";
45-
overlays = commonOverlays ++ [
46-
(import ./overlays/contrast.nix)
47-
];
48-
config.allowUnfree = true;
49-
config.nvidia.acceptLicense = true;
50-
};
39+
runtimePkgs = self.legacyPackages.x86_64-linux;
5140

5241
# mkSet creates a set of packages based on a given set of overlays.
5342
mkSet =
@@ -63,9 +52,9 @@
6352
setsFromDirectory =
6453
dir:
6554
builtins.listToAttrs (
66-
map (file: {
55+
map (file: rec {
6756
name = builtins.substring 0 (builtins.stringLength file - 4) (baseNameOf file);
68-
value = mkSet (defaultOverlays ++ [ (import (dir + "/${file}")) ]);
57+
value = mkSet ((defaultOverlays name) ++ [ (import (dir + "/${file}")) ]);
6958
}) (builtins.attrNames (builtins.readDir dir))
7059
);
7160

@@ -83,10 +72,13 @@
8372
];
8473
};
8574

86-
defaultOverlays = commonOverlays ++ [
87-
(_final: _prev: { inherit runtimePkgs; })
88-
(import ./overlays/contrast.nix)
89-
];
75+
defaultOverlays =
76+
set:
77+
commonOverlays
78+
++ [
79+
(_final: _prev: { runtimePkgs = runtimePkgs.${set}; })
80+
(import ./overlays/contrast.nix)
81+
];
9082

9183
sets = setsFromDirectory ./overlays/sets;
9284

overlays/contrast.nix

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
final: prev:
55

66
let
7-
# On x86_64-linux (inside runtimePkgs), runtimePkgs isn't in scope, use final (itself).
8-
# On other systems (inside pkgs), runtimePkgs was injected by the flake overlay.
7+
# runtimePkgs is injected by the flake overlay and provides
8+
# the x86_64-linux set (via reverseContrastNesting), including
9+
# set-specific overrides. On x86_64-linux it falls back to final.
910
runtimePkgs = prev.runtimePkgs or final;
1011

1112
baseContrastPkgs = import ../packages { pkgs = final; };
@@ -15,43 +16,33 @@ if prev.stdenv.hostPlatform.system == "x86_64-linux" then
1516
else
1617
{
1718
contrastPkgs = baseContrastPkgs.overrideScope (
18-
cFinal: cPrev: {
19-
mkNixosConfig = cPrev.mkNixosConfig.override {
20-
pkgs = runtimePkgs;
21-
};
22-
23-
kata = cPrev.kata // {
24-
# Re-evaluate image to pick up the new mkNixosConfig
25-
image = cFinal.callPackage ../packages/by-name/kata/image/package.nix { };
26-
27-
inherit (runtimePkgs.contrastPkgs.kata) contrast-node-installer-image agent kernel-uvm;
28-
};
29-
30-
contrast =
31-
let
32-
runtimeContrast = runtimePkgs.contrastPkgs.contrast;
33-
34-
nativeContrast = {
35-
cli = cFinal.callPackage ../packages/by-name/contrast/cli/package.nix {
36-
inherit (cFinal.contrast) contrast reference-values;
37-
};
38-
cli-release = cFinal.callPackage ../packages/by-name/contrast/cli-release/package.nix {
39-
inherit (cFinal.contrast) cli;
40-
};
41-
resourcegen = cFinal.callPackage ../packages/by-name/contrast/resourcegen/package.nix {
42-
inherit (cFinal.contrast) contrast reference-values;
43-
};
44-
contrast = cFinal.callPackage ../packages/by-name/contrast/contrast/package.nix {
45-
inherit (cFinal.contrast) reference-values;
46-
};
47-
e2e = cFinal.callPackage ../packages/by-name/contrast/e2e/package.nix {
48-
inherit (cFinal.contrast) contrast;
49-
};
50-
};
51-
in
52-
runtimeContrast // nativeContrast;
53-
54-
inherit (runtimePkgs.contrastPkgs)
19+
_cFinal: cPrev: {
20+
kata = cPrev.kata.overrideScope (
21+
_: _: {
22+
inherit (runtimePkgs.kata)
23+
contrast-node-installer-image
24+
agent
25+
image
26+
kernel-uvm
27+
;
28+
}
29+
);
30+
31+
contrast = cPrev.contrast.overrideScope (
32+
_: _: {
33+
inherit (runtimePkgs.contrast)
34+
coordinator
35+
docs
36+
initializer
37+
node-installer-image
38+
nodeinstaller
39+
reference-values
40+
snp-id-blocks
41+
;
42+
}
43+
);
44+
45+
inherit (runtimePkgs)
5546
debugshell
5647
tdx-tools
5748
service-mesh

packages/containers.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
}:
1111

1212
let
13-
runtimePkgs = pkgs.runtimePkgs or pkgs;
13+
runtimePkgs = pkgs.runtimePkgs.nixpkgs or pkgs;
1414

1515
pushOCIDir =
1616
name: dir: tag:

packages/scripts.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
}:
1010

1111
let
12-
runtimePkgs = pkgs.runtimePkgs or pkgs;
12+
runtimePkgs = pkgs.runtimePkgs.nixpkgs or pkgs;
1313
in
1414

1515
lib.makeScope pkgs.newScope (scripts: {

0 commit comments

Comments
 (0)