mirror of
https://github.com/NixOS/nix.git
synced 2024-11-25 00:02:25 +00:00
fix: Make nix flake show --json
print flake ref
Fixes https://github.com/NixOS/nix/issues/9230 Breaking change.
This commit is contained in:
parent
f269911641
commit
f68a3023cd
@ -1315,7 +1315,8 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
|
||||
|
||||
auto cache = openEvalCache(*state, flake);
|
||||
|
||||
auto j = visit(*cache->getRoot(), {}, fmt(ANSI_BOLD "%s" ANSI_NORMAL, flake->flake.lockedRef), "");
|
||||
auto lockedRef = flake->flake.lockedRef.to_string();
|
||||
auto j = nlohmann::json::object({ {lockedRef, visit(*cache->getRoot(), {}, fmt(ANSI_BOLD "%s" ANSI_NORMAL, lockedRef), "")} });
|
||||
if (json)
|
||||
logger->cout("%s", j.dump());
|
||||
}
|
||||
|
@ -6,10 +6,25 @@ mkdir -p "$flakeDir"
|
||||
writeSimpleFlake "$flakeDir"
|
||||
cd "$flakeDir"
|
||||
|
||||
# Check the flake reference that was produced.
|
||||
nix flake show --json > output.json
|
||||
nix eval --impure --expr '
|
||||
with builtins;
|
||||
let
|
||||
flakeRef = parseFlakeRef (head (attrNames (fromJSON (readFile ./output.json))));
|
||||
narHash = if match ".*darwin" currentSystem != null
|
||||
then "sha256-MhmXWT9U41eDFezA02mAj3PxBO21icT5VvvPSC1epDU="
|
||||
else "sha256-op9gWTEmDXergxx2PojSTrxVREG7NLcrhySSun3DQd0="
|
||||
;
|
||||
in
|
||||
assert flakeRef.narHash == narHash;
|
||||
assert flakeRef.type == "path";
|
||||
true
|
||||
'
|
||||
|
||||
# By default: Only show the packages content for the current system and no
|
||||
# legacyPackages at all
|
||||
nix flake show --json > show-output.json
|
||||
nix flake show --json | jq 'to_entries[0].value' > show-output.json
|
||||
nix eval --impure --expr '
|
||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||
in
|
||||
@ -20,7 +35,7 @@ true
|
||||
'
|
||||
|
||||
# With `--all-systems`, show the packages for all systems
|
||||
nix flake show --json --all-systems > show-output.json
|
||||
nix flake show --json --all-systems | jq 'to_entries[0].value' > show-output.json
|
||||
nix eval --impure --expr '
|
||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||
in
|
||||
@ -30,7 +45,7 @@ true
|
||||
'
|
||||
|
||||
# With `--legacy`, show the legacy packages
|
||||
nix flake show --json --legacy > show-output.json
|
||||
nix flake show --json --legacy | jq 'to_entries[0].value' > show-output.json
|
||||
nix eval --impure --expr '
|
||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||
in
|
||||
@ -57,7 +72,7 @@ cat >flake.nix <<EOF
|
||||
};
|
||||
}
|
||||
EOF
|
||||
nix flake show --json --all-systems > show-output.json
|
||||
nix flake show --json --all-systems | jq 'to_entries[0].value' > show-output.json
|
||||
nix eval --impure --expr '
|
||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||
in
|
||||
@ -77,7 +92,7 @@ cat >flake.nix <<EOF
|
||||
};
|
||||
}
|
||||
EOF
|
||||
nix flake show --json --legacy --all-systems > show-output.json
|
||||
nix flake show --json --legacy --all-systems | jq 'to_entries[0].value' > show-output.json
|
||||
nix eval --impure --expr '
|
||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||
in
|
||||
|
Loading…
Reference in New Issue
Block a user