+# nix-pin-deps: gc-pin dependencies of a partially-built derivation
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, version 3.
+
+
from contextlib import contextmanager
import json
import os
with log(f"Loading {drv}..."):
with subprocess.Popen(
["nix", "--experimental-features", "nix-command",
- "show-derivation", "/nix/store/" + drv],
+ "derivation", "show", f"/nix/store/{drv}^*"],
stdout=subprocess.PIPE) as process:
assert process.stdout
info = json.load(process.stdout)
pinBuiltThings(dep, done, deps)
-dep_graph = getDeps(sys.argv[1])
-for root in dep_graph.roots:
- pinBuiltThings(root, set(), dep_graph.deps)
+def main() -> None:
+ dep_graph = getDeps(sys.argv[1])
+ for root in dep_graph.roots:
+ pinBuiltThings(root, set(), dep_graph.deps)
+
+
+if __name__ == '__main__':
+ main()