cli: use nixpkgs in nix shell in pure mode

This avoids nixpkgs config and overlay provided by the user.
Also enables caching in nix.
This commit is contained in:
Jörg Thalheim
2023-07-26 09:00:28 +02:00
parent 8e7e3845d1
commit 83005a6795
2 changed files with 7 additions and 10 deletions

View File

@@ -6,4 +6,5 @@ def nix_shell(packages: list[str], cmd: list[str]) -> list[str]:
# in unittest we will have all binaries provided
if nixpkgs is None:
return cmd
return ["nix", "shell", "-f", nixpkgs] + packages + ["-c"] + cmd
wrapped_packages = [f"path:{nixpkgs}#{p}" for p in packages]
return ["nix", "shell"] + wrapped_packages + ["-c"] + cmd

View File

@@ -39,10 +39,8 @@ def test_ssh_no_pass(fp: pytest_subprocess.fake_process.FakeProcess) -> None:
cmd: list[Union[str, utils.Any]] = [
"nix",
"shell",
"-f",
"/mocked-nixpkgs",
"tor",
"openssh",
"path:/mocked-nixpkgs#tor",
"path:/mocked-nixpkgs#openssh",
"-c",
"torify",
"ssh",
@@ -68,11 +66,9 @@ def test_ssh_with_pass(fp: pytest_subprocess.fake_process.FakeProcess) -> None:
cmd: list[Union[str, utils.Any]] = [
"nix",
"shell",
"-f",
"/mocked-nixpkgs",
"tor",
"openssh",
"sshpass",
"path:/mocked-nixpkgs#tor",
"path:/mocked-nixpkgs#openssh",
"path:/mocked-nixpkgs#sshpass",
"-c",
"torify",
"sshpass",