summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2021-12-04 04:39:06 +0200
committerGitHub <noreply@github.com>2021-12-04 04:39:06 +0200
commit6318fe078078c94cb0ca8b5092683aa1eaa98e8d (patch)
tree1fd5f9839340766395e10e5ffc2d4c3d40bf7ec2
parentMerge pull request #148451 from NixOS/backport-148108-to-release-21.11 (diff)
parentnixos/tests: fix nix-serve path (diff)
downloadnixpkgs-6318fe078078c94cb0ca8b5092683aa1eaa98e8d.tar.gz
Merge pull request #148485 from NixOS/backport-148201-to-release-21.11
-rw-r--r--nixos/modules/services/networking/nix-serve.nix14
-rw-r--r--nixos/tests/all-tests.nix4
-rw-r--r--nixos/tests/nix-serve-ssh.nix (renamed from nixos/tests/nix-ssh-serve.nix)0
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix5
4 files changed, 15 insertions, 8 deletions
diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix
index 7fc145f2303d..390f0ddaee83 100644
--- a/nixos/modules/services/networking/nix-serve.nix
+++ b/nixos/modules/services/networking/nix-serve.nix
@@ -37,8 +37,6 @@ in
nix-store --generate-binary-cache-key key-name secret-key-file public-key-file
```
- Make sure user `nix-serve` has read access to the private key file.
-
For more details see <citerefentry><refentrytitle>nix-store</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
'';
};
@@ -61,16 +59,22 @@ in
path = [ config.nix.package.out pkgs.bzip2.bin ];
environment.NIX_REMOTE = "daemon";
- environment.NIX_SECRET_KEY_FILE = cfg.secretKeyFile;
+
+ script = ''
+ ${lib.optionalString (cfg.secretKeyFile != null) ''
+ export NIX_SECRET_KEY_FILE="$CREDENTIALS_DIRECTORY/NIX_SECRET_KEY_FILE"
+ ''}
+ exec ${pkgs.nix-serve}/bin/nix-serve --listen ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}
+ '';
serviceConfig = {
Restart = "always";
RestartSec = "5s";
- ExecStart = "${pkgs.nix-serve}/bin/nix-serve " +
- "--listen ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}";
User = "nix-serve";
Group = "nix-serve";
DynamicUser = true;
+ LoadCredential = lib.optionalString (cfg.secretKeyFile != null)
+ "NIX_SECRET_KEY_FILE:${cfg.secretKeyFile}";
};
};
};
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index ab107dfdcff7..9172a7996434 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -315,8 +315,8 @@ in
nginx-sso = handleTest ./nginx-sso.nix {};
nginx-variants = handleTest ./nginx-variants.nix {};
nitter = handleTest ./nitter.nix {};
- nix-serve = handleTest ./nix-ssh-serve.nix {};
- nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
+ nix-serve = handleTest ./nix-serve.nix {};
+ nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
nixops = handleTest ./nixops/default.nix {};
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
node-red = handleTest ./node-red.nix {};
diff --git a/nixos/tests/nix-ssh-serve.nix b/nixos/tests/nix-serve-ssh.nix
index 03f83542c7c1..03f83542c7c1 100644
--- a/nixos/tests/nix-ssh-serve.nix
+++ b/nixos/tests/nix-serve-ssh.nix
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
index 93e240ad3463..d9faea9cea4d 100644
--- a/pkgs/tools/package-management/nix-serve/default.nix
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -37,7 +37,10 @@ stdenv.mkDerivation {
--add-flags $out/libexec/nix-serve/nix-serve.psgi
'';
- passthru.tests.nix-serve = nixosTests.nix-serve;
+ passthru.tests = {
+ nix-serve = nixosTests.nix-serve;
+ nix-serve-ssh = nixosTests.nix-serve-ssh;
+ };
meta = {
homepage = "https://github.com/edolstra/nix-serve";