clan-cli: use dependency flake instead of registry

This commit is contained in:
DavHau
2023-09-06 14:40:00 +02:00
parent c9bfd0a5b5
commit fcbc3ec899
6 changed files with 38 additions and 34 deletions

View File

@@ -1,3 +1,4 @@
import json
import os
import sys
from pathlib import Path
@@ -30,12 +31,15 @@ def module_root() -> Path:
return Path(__file__).parent
def flake_registry() -> Path:
return module_root() / "nixpkgs" / "flake-registry.json"
def deps_flake() -> Path:
return module_root() / "deps_flake"
def nixpkgs() -> Path:
return (module_root() / "nixpkgs" / "path").resolve()
# load the flake.lock json file from the deps_flake and return nodes.nixpkgs.path
with open(deps_flake() / "flake.lock") as f:
flake_lock = json.load(f)
return Path(flake_lock["nodes"]["nixpkgs"]["locked"]["path"])
def unfree_nixpkgs() -> Path:

View File

@@ -1,7 +1,7 @@
import os
import tempfile
from .dirs import flake_registry, unfree_nixpkgs
from .dirs import nixpkgs, unfree_nixpkgs
def nix_eval(flags: list[str]) -> list[str]:
@@ -13,8 +13,9 @@ def nix_eval(flags: list[str]) -> list[str]:
"--show-trace",
"--extra-experimental-features",
"nix-command flakes",
"--flake-registry",
str(flake_registry()),
"--override-input",
"nixpkgs",
str(nixpkgs()),
# --store is required to prevent this error:
# error: cannot unlink '/nix/store/6xg259477c90a229xwmb53pdfkn6ig3g-default-builder.sh': Operation not permitted
"--store",
@@ -41,8 +42,8 @@ def nix_shell(packages: list[str], cmd: list[str]) -> list[str]:
"shell",
"--extra-experimental-features",
"nix-command flakes",
"--flake-registry",
str(flake_registry()),
"--inputs-from",
".#",
]
+ wrapped_packages
+ ["-c"]