mirror of
https://github.com/NixOS/nix
synced 2024-09-19 10:50:24 -04: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 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)
|
if (json)
|
||||||
logger->cout("%s", j.dump());
|
logger->cout("%s", j.dump());
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,25 @@ mkdir -p "$flakeDir"
|
||||||
writeSimpleFlake "$flakeDir"
|
writeSimpleFlake "$flakeDir"
|
||||||
cd "$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
|
# By default: Only show the packages content for the current system and no
|
||||||
# legacyPackages at all
|
# 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 '
|
nix eval --impure --expr '
|
||||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||||
in
|
in
|
||||||
|
@ -20,7 +35,7 @@ true
|
||||||
'
|
'
|
||||||
|
|
||||||
# With `--all-systems`, show the packages for all systems
|
# 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 '
|
nix eval --impure --expr '
|
||||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||||
in
|
in
|
||||||
|
@ -30,7 +45,7 @@ true
|
||||||
'
|
'
|
||||||
|
|
||||||
# With `--legacy`, show the legacy packages
|
# 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 '
|
nix eval --impure --expr '
|
||||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||||
in
|
in
|
||||||
|
@ -57,7 +72,7 @@ cat >flake.nix <<EOF
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
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 '
|
nix eval --impure --expr '
|
||||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||||
in
|
in
|
||||||
|
@ -77,7 +92,7 @@ cat >flake.nix <<EOF
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
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 '
|
nix eval --impure --expr '
|
||||||
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
let show_output = builtins.fromJSON (builtins.readFile ./show-output.json);
|
||||||
in
|
in
|
||||||
|
|
Loading…
Reference in a new issue