Compare commits

...

1 commit

Author SHA1 Message Date
e5d1a0751a
fix(report): use nix eval to list the components
All checks were successful
/ report-size-pr (pull_request) Successful in 3s
/ report-download-check-pr (pull_request) Successful in 1s
/ check (treefmt) (push) Successful in 3s
/ report-size (push) Successful in 2s
/ report-download-check (push) Successful in 0s
This is less error prone than parsing the information from `nix flake
show`.
2025-07-13 18:48:16 +02:00

View file

@ -7,24 +7,25 @@ util_path="${GITHUB_ACTION_PATH:-.}/scripts/utils.sh"
# shellcheck source=scripts/utils.sh
. "${util_path}"
group 'Retrieving Flake information'
flake_info=$(nix flake show --json --quiet --quiet)
endgroup
system=$(nix eval --impure --json --expr 'builtins.currentSystem')
group 'Show Packages'
packages=$(echo "$flake_info" | jq --raw-output --argjson system "$system" 'getpath(["packages", $system]) | select(. != null) | keys[]')
# Extract the names of a flake attrset
get_names() {
nix eval --json --apply builtins.attrNames "$1" 2>/dev/null | jq --raw-output '.[]'
}
group "Show Packages for $system"
packages=$(get_names .#packages."$system")
[ -z "$packages" ] || log "$packages"
endgroup
group 'Show Home Manager Configurations'
hmConfigs=$(echo "$flake_info" | jq --raw-output '.homeConfigurations | select(. != null) | keys[]')
hmConfigs=$(get_names .#homeConfigurations)
[ -z "$hmConfigs" ] || log "$hmConfigs"
endgroup
group 'Show NixOS Configurations'
nixosConfigs=$(echo "$flake_info" | jq --raw-output '.nixosConfigurations | select(. != null) | keys[]')
nixosConfigs=$(get_names .#nixosConfigurations)
[ -z "$nixosConfigs" ] || log "$nixosConfigs"
endgroup