1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 22:11:15 +02:00
This commit is contained in:
Lorenz Leutgeb 2025-06-23 12:49:19 +02:00 committed by GitHub
commit a0f44261e5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 6 deletions

View file

@ -1459,7 +1459,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)
printJSON(j); printJSON(j);
} }

View file

@ -8,10 +8,25 @@ mkdir -p "$flakeDir"
writeSimpleFlake "$flakeDir" writeSimpleFlake "$flakeDir"
pushd "$flakeDir" pushd "$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
@ -22,7 +37,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
@ -32,7 +47,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
@ -59,7 +74,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
@ -79,7 +94,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