From 67561dcc59607fe521d4dd10a70043e13c85a2e3 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Thu, 4 May 2023 20:09:16 -0700 Subject: [PATCH] nixos/bootspec: Fix cross for nixos-system systemBuilder When `nixpkgs.hostPlatform` != `nixpkgs.buildPlatform`, building the top-level attribute fails since the bootspec portion of the system builder tries to reference the host platform's `jq`. Change this to reference the build platform's `jq`. --- nixos/modules/system/activation/bootspec.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 677bd562d17..9e1fa309d5d 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -40,7 +40,7 @@ let # This can only be done here because we *cannot* depend on $out # referring to the toplevel, except by living in the toplevel itself. toplevelInjector = lib.escapeShellArgs [ - "${pkgs.jq}/bin/jq" + "${pkgs.buildPackages.jq}/bin/jq" '' ."org.nixos.bootspec.v1".toplevel = $toplevel | ."org.nixos.bootspec.v1".init = $init @@ -60,7 +60,7 @@ let children); in lib.escapeShellArgs [ - "${pkgs.jq}/bin/jq" + "${pkgs.buildPackages.jq}/bin/jq" "--sort-keys" ''."org.nixos.specialisation.v1" = ($ARGS.named | map_values(. | first))'' ] + " ${lib.concatStringsSep " " specialisationLoader}";