about summary refs log tree commit diff
path: root/nixos/modules/services
diff options
context:
space:
mode:
authorYaya <mak@nyantec.com>2023-05-31 15:10:17 +0000
committerYureka <yuka@yuka.dev>2023-05-31 22:14:25 +0200
commit049d68051078fe4a10d7672ec5ec29c27890eb4a (patch)
treecfb56886a33a9e596e0656184c18a43488951609 /nixos/modules/services
parent82d9c2e91f88f17d75204b7819f6be533e4e93e9 (diff)
downloadnixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar.gz
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar.bz2
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar.lz
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar.xz
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.tar.zst
nixlib-049d68051078fe4a10d7672ec5ec29c27890eb4a.zip
nixos/dockerRegistry: add package option
This allows the module user to select an alternative container registry
package such as `pkgs.gitlab-container-registry` for GitLab users.
Diffstat (limited to 'nixos/modules/services')
-rw-r--r--nixos/modules/services/misc/docker-registry.nix12
1 files changed, 10 insertions, 2 deletions
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
index 98edb413f3c4..8ea81f9a7ee2 100644
--- a/nixos/modules/services/misc/docker-registry.nix
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -49,6 +49,14 @@ in {
   options.services.dockerRegistry = {
     enable = mkEnableOption (lib.mdDoc "Docker Registry");
 
+    package = mkOption {
+      type = types.package;
+      description = mdDoc "Which Docker registry package to use.";
+      default = pkgs.docker-distribution;
+      defaultText = literalExpression "pkgs.docker-distribution";
+      example = literalExpression "pkgs.gitlab-container-registry";
+    };
+
     listenAddress = mkOption {
       description = lib.mdDoc "Docker registry host or ip to bind to.";
       default = "127.0.0.1";
@@ -117,7 +125,7 @@ in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
       script = ''
-        ${pkgs.docker-distribution}/bin/registry serve ${configFile}
+        ${cfg.package}/bin/registry serve ${configFile}
       '';
 
       serviceConfig = {
@@ -136,7 +144,7 @@ in {
       serviceConfig.Type = "oneshot";
 
       script = ''
-        ${pkgs.docker-distribution}/bin/registry garbage-collect ${configFile}
+        ${cfg.package}/bin/registry garbage-collect ${configFile}
         /run/current-system/systemd/bin/systemctl restart docker-registry.service
       '';