From 0956524d0ced397d6342f435e3a78df5c59a8dd8 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 20 Jul 2025 02:14:22 +0900 Subject: [PATCH] cmd/nix-tool/resolve: build before evaluate This avoids many problems that come up when resolving on an empty store. All paths are built later on anyway. --- cmd/nix-tool/resolve.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/nix-tool/resolve.go b/cmd/nix-tool/resolve.go index 99313ec..cbad498 100644 --- a/cmd/nix-tool/resolve.go +++ b/cmd/nix-tool/resolve.go @@ -13,6 +13,11 @@ func buildAndResolve(ctx nix.Context, name string, installable *string, collecti return err } + log.Printf("building %q...", *installable) + if err := nix.Build(ctx, slices.Values([]string{*installable})); err != nil { + return commandHandlerError(fmt.Sprintf("cannot build: %v", err)) + } + log.Printf("evaluating %q...", *installable) var installables []string if v, err := nix.EvalInstantiated(ctx, *installable); err != nil {