35 lines
873 B
Python
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()
|