stockholm/lass/2configs/binary-cache/server.nix

40 lines
1.1 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ...}:
2016-06-25 16:56:39 +00:00
{
nixpkgs.config.packageOverrides = p: {
nix-serve = p.haskellPackages.nix-serve-ng;
};
2016-06-25 16:56:39 +00:00
# generate private key with:
# nix-store --generate-binary-cache-key my-secret-key my-public-key
services.nix-serve = {
enable = true;
secretKeyFile = toString <secrets> + "/nix-serve.key";
port = 5005;
2016-06-25 16:56:39 +00:00
};
2016-12-26 13:18:08 +00:00
services.nginx = {
2016-06-25 16:56:39 +00:00
enable = true;
2016-12-26 13:18:08 +00:00
virtualHosts.nix-serve = {
serverAliases = [ "cache.prism.r" ];
locations."/".extraConfig = ''
proxy_pass http://localhost:${toString config.services.nix-serve.port};
'';
locations."= /nix-cache-info".extraConfig = ''
alias ${pkgs.writeText "cache-info" ''
StoreDir: /nix/store
WantMassQuery: 1
Priority: 42
''};
'';
};
virtualHosts."cache.krebsco.de" = {
2018-11-30 22:12:06 +00:00
forceSSL = true;
serverAliases = [ "cache.lassul.us" ];
enableACME = true;
2016-12-26 13:18:08 +00:00
locations."/".extraConfig = ''
2016-06-25 16:56:39 +00:00
proxy_pass http://localhost:${toString config.services.nix-serve.port};
2016-12-26 13:18:08 +00:00
'';
2016-06-25 16:56:39 +00:00
};
};
}