Files
.hive/modules/tools/follow-hive-nixpkgs/follow_hive_nixpkgs/lock.py
T

35 lines
873 B
Python

import json
from pathlib import Path
import sys
def loadNixpkgs(source: Path, nixpkgs: str) -> dict:
if not source.exists():
print(f"{source} does not exist.")
sys.exit(1)
with source.open(mode="r") as f:
src = json.load(f)
if nixpkgs not in src["nodes"]:
print(f"There is no {nixpkgs} entry in {source}")
sys.exit(1)
return src["nodes"][nixpkgs]
def writeNixpkgs(nixpkgs: dict, target: Path):
if not target.exists():
print(f"{target} does not exist.")
sys.exit(1)
with target.open(mode="r+") as f:
tgt = json.load(f)
if "nixpkgs" not in tgt["nodes"]:
print(f"There is no nixpkgs entry in {target}")
sys.exit(1)
tgt["nodes"]["nixpkgs"] = nixpkgs
f.seek(0)
json.dump(tgt, f, indent=2)
f.truncate()