tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
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
'';
127
};
128
};
0
0
0
0
0
0
0
0
0
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;