tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
docker: Allow package selection in module
Tim Steinbach
8 years ago
2bb57ef7
11cd027b
+13
-4
1 changed file
expand all
collapse all
unified
split
nixos
modules
virtualisation
docker.nix
+13
-4
nixos/modules/virtualisation/docker.nix
···
126
126
'';
127
127
};
128
128
};
129
129
+
130
130
+
package = mkOption {
131
131
+
default = pkgs.docker;
132
132
+
type = types.package;
133
133
+
example = pkgs.docker-edge;
134
134
+
description = ''
135
135
+
Docker package to be used in the module.
136
136
+
'';
137
137
+
};
129
138
};
130
139
131
140
###### implementation
132
141
133
142
config = mkIf cfg.enable (mkMerge [{
134
134
-
environment.systemPackages = [ pkgs.docker ];
143
143
+
environment.systemPackages = [ cfg.package ];
135
144
users.extraGroups.docker.gid = config.ids.gids.docker;
136
136
-
systemd.packages = [ pkgs.docker ];
145
145
+
systemd.packages = [ cfg.package ];
137
146
138
147
systemd.services.docker = {
139
148
wantedBy = optional cfg.enableOnBoot "multi-user.target";
···
142
151
ExecStart = [
143
152
""
144
153
''
145
145
-
${pkgs.docker}/bin/dockerd \
154
154
+
${cfg.package}/bin/dockerd \
146
155
--group=docker \
147
156
--host=fd:// \
148
157
--log-driver=${cfg.logDriver} \
···
180
189
serviceConfig.Type = "oneshot";
181
190
182
191
script = ''
183
183
-
${pkgs.docker}/bin/docker system prune -f ${toString cfg.autoPrune.flags}
192
192
+
${cfg.package}/bin/docker system prune -f ${toString cfg.autoPrune.flags}
184
193
'';
185
194
186
195
startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;