Skip to content

Commit ce48788

Browse files
committed
hosts.argon: enable docker auto prune timer
1 parent 1eff177 commit ce48788

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

hosts/argon/configuration.nix

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@
1414

1515
base.server.enable = true;
1616

17-
programs.docker.enable = true;
17+
programs.docker = {
18+
enable = true;
19+
20+
autoPrune.enable = true;
21+
};
1822

1923
services = {
2024
backup.enable = true;

nixos/programs/docker.nix

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ let
44
inherit (lib)
55
mkEnableOption
66
mkIf
7+
mkOption
8+
types
79
;
810

911
cfg = config.custom.programs.docker;
@@ -15,7 +17,21 @@ in
1517

1618
options = {
1719

18-
custom.programs.docker.enable = mkEnableOption "docker";
20+
custom.programs.docker = {
21+
enable = mkEnableOption "docker";
22+
23+
autoPrune = {
24+
enable = mkEnableOption "docker system prune cronjob";
25+
26+
interval = mkOption {
27+
type = types.str;
28+
default = "Tue *-*-* 03:30:00";
29+
description = ''
30+
Systemd calendar expression when to run docker system prune. See {manpage}`systemd.time(7)`.
31+
'';
32+
};
33+
};
34+
};
1935

2036
};
2137

@@ -26,7 +42,15 @@ in
2642

2743
users.users.tobias.extraGroups = [ "docker" ];
2844

29-
virtualisation.docker.enable = true;
45+
virtualisation.docker = {
46+
enable = true;
47+
48+
autoPrune = {
49+
inherit (cfg.autoPrune) enable;
50+
flags = [ "--all" ];
51+
dates = cfg.autoPrune.interval;
52+
};
53+
};
3054

3155
};
3256

0 commit comments

Comments
 (0)