diff --git a/pkgs/oizys/src/oizys.nim b/pkgs/oizys/src/oizys.nim index be9145d..d1c214d 100644 --- a/pkgs/oizys/src/oizys.nim +++ b/pkgs/oizys/src/oizys.nim @@ -70,8 +70,10 @@ hwylCli: ? "jobs when pushing paths" * countProcessors() - j + `dry-run`: + ? "don't actually build derivations" run: - nixBuildWithCache(name, args, service, jobs) + nixBuildWithCache(name, args, service, jobs, `dry-run`) [ci] ... "builtin ci" diff --git a/pkgs/oizys/src/oizys/nix.nim b/pkgs/oizys/src/oizys/nix.nim index dfb7a20..9951191 100644 --- a/pkgs/oizys/src/oizys/nix.nim +++ b/pkgs/oizys/src/oizys/nix.nim @@ -312,7 +312,11 @@ proc nixBuildHostDry*(minimal: bool, rest: seq[string]) = cmd.addArg "--dry-run" cmd.addArgs rest let (_, err) = - runCmdCaptWithSpinner(cmd, "evaluating derivation for: " & getHosts().join(" ").bb("bold"), {CaptStderr}) + runCmdCaptWithSpinner( + cmd, + "evaluating derivation for: " & getHosts().join(" ").bb("bold"), + {CaptStderr} + ) let output = parseDryRunOutput err display output @@ -373,7 +377,7 @@ proc prettyDerivation*(path: string): BbString = drv.name.trunc(maxLen) & " " & drv.hash.bb("faint") -proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: int) = +proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: int, dry: bool) = ## build individual derivations not cached and push to cache if findExe(service) == "": fatalQuit fmt"is {service} installed?" info bbfmt"building and pushing to cache: [b]{name}" @@ -383,7 +387,9 @@ proc nixBuildWithCache*(name: string, rest:seq[string], service: string, jobs: i info "nothing to build" quit "exiting...", QuitSuccess - info fmt("building {drvs.len} derivations:\n") & drvs.mapIt(prettyDerivation(it.drv.outputs["out"].path)).join("\n") + info fmt("need to build {drvs.len} derivations:\n") & drvs.mapIt(prettyDerivation(" " & it.drv.outputs["out"].path)).join("\n") + if dry: + quit "exiting...", QuitSuccess let results = collect: