diff --git a/collector/flake.go b/collector/flake.go index da3dc02..e76d9f5 100644 --- a/collector/flake.go +++ b/collector/flake.go @@ -3,6 +3,7 @@ package collector import ( "context" "encoding/json" + "fmt" "log/slog" "os" "os/exec" @@ -189,12 +190,15 @@ func fetchFlakeMetadata(flakeURL string) (*flakeMetadata, error) { cmd := exec.CommandContext(ctx, "nix", "flake", "metadata", "--json", flakeURL) output, err := cmd.Output() if err != nil { - return nil, err + if exitErr, ok := err.(*exec.ExitError); ok { + return nil, fmt.Errorf("nix flake metadata failed: %s", string(exitErr.Stderr)) + } + return nil, fmt.Errorf("nix flake metadata failed: %w", err) } var data flakeMetadata if err := json.Unmarshal(output, &data); err != nil { - return nil, err + return nil, fmt.Errorf("failed to parse flake metadata: %w", err) } return &data, nil