docker: Allow package selection in module
This commit is contained in:
parent
11cd027b30
commit
2bb57ef776
@ -126,14 +126,23 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
default = pkgs.docker;
|
||||||
|
type = types.package;
|
||||||
|
example = pkgs.docker-edge;
|
||||||
|
description = ''
|
||||||
|
Docker package to be used in the module.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = mkIf cfg.enable (mkMerge [{
|
config = mkIf cfg.enable (mkMerge [{
|
||||||
environment.systemPackages = [ pkgs.docker ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
users.extraGroups.docker.gid = config.ids.gids.docker;
|
users.extraGroups.docker.gid = config.ids.gids.docker;
|
||||||
systemd.packages = [ pkgs.docker ];
|
systemd.packages = [ cfg.package ];
|
||||||
|
|
||||||
systemd.services.docker = {
|
systemd.services.docker = {
|
||||||
wantedBy = optional cfg.enableOnBoot "multi-user.target";
|
wantedBy = optional cfg.enableOnBoot "multi-user.target";
|
||||||
@ -142,7 +151,7 @@ in
|
|||||||
ExecStart = [
|
ExecStart = [
|
||||||
""
|
""
|
||||||
''
|
''
|
||||||
${pkgs.docker}/bin/dockerd \
|
${cfg.package}/bin/dockerd \
|
||||||
--group=docker \
|
--group=docker \
|
||||||
--host=fd:// \
|
--host=fd:// \
|
||||||
--log-driver=${cfg.logDriver} \
|
--log-driver=${cfg.logDriver} \
|
||||||
@ -180,7 +189,7 @@ in
|
|||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
${pkgs.docker}/bin/docker system prune -f ${toString cfg.autoPrune.flags}
|
${cfg.package}/bin/docker system prune -f ${toString cfg.autoPrune.flags}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;
|
startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;
|
||||||
|
Loading…
Reference in New Issue
Block a user