lol

docker: Allow package selection in module

+13 -4
+13 -4
nixos/modules/virtualisation/docker.nix
··· 126 ''; 127 }; 128 }; 129 }; 130 131 ###### implementation 132 133 config = mkIf cfg.enable (mkMerge [{ 134 - environment.systemPackages = [ pkgs.docker ]; 135 users.extraGroups.docker.gid = config.ids.gids.docker; 136 - systemd.packages = [ pkgs.docker ]; 137 138 systemd.services.docker = { 139 wantedBy = optional cfg.enableOnBoot "multi-user.target"; ··· 142 ExecStart = [ 143 "" 144 '' 145 - ${pkgs.docker}/bin/dockerd \ 146 --group=docker \ 147 --host=fd:// \ 148 --log-driver=${cfg.logDriver} \ ··· 180 serviceConfig.Type = "oneshot"; 181 182 script = '' 183 - ${pkgs.docker}/bin/docker system prune -f ${toString cfg.autoPrune.flags} 184 ''; 185 186 startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;
··· 126 ''; 127 }; 128 }; 129 + 130 + package = mkOption { 131 + default = pkgs.docker; 132 + type = types.package; 133 + example = pkgs.docker-edge; 134 + description = '' 135 + Docker package to be used in the module. 136 + ''; 137 + }; 138 }; 139 140 ###### implementation 141 142 config = mkIf cfg.enable (mkMerge [{ 143 + environment.systemPackages = [ cfg.package ]; 144 users.extraGroups.docker.gid = config.ids.gids.docker; 145 + systemd.packages = [ cfg.package ]; 146 147 systemd.services.docker = { 148 wantedBy = optional cfg.enableOnBoot "multi-user.target"; ··· 151 ExecStart = [ 152 "" 153 '' 154 + ${cfg.package}/bin/dockerd \ 155 --group=docker \ 156 --host=fd:// \ 157 --log-driver=${cfg.logDriver} \ ··· 189 serviceConfig.Type = "oneshot"; 190 191 script = '' 192 + ${cfg.package}/bin/docker system prune -f ${toString cfg.autoPrune.flags} 193 ''; 194 195 startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;