Merge pull request #196477 from MatthewCroughan/mc/stateless-cups

Sandro e188e93b 5caef212

Changed files
+13 -2
nixos
modules
services
printing
tests
+12 -2
nixos/modules/services/printing/cupsd.nix
···
'';
};
startWhenNeeded = mkOption {
type = types.bool;
default = true;
···
path = [ cups.out ];
-
preStart =
-
''
mkdir -m 0700 -p /var/cache/cups
mkdir -m 0700 -p /var/spool/cups
mkdir -m 0755 -p ${cfg.tempDir}
···
'';
};
+
stateless = mkOption {
+
type = types.bool;
+
default = false;
+
description = lib.mdDoc ''
+
If set, all state directories relating to CUPS will be removed on
+
startup of the service.
+
'';
+
};
+
startWhenNeeded = mkOption {
type = types.bool;
default = true;
···
path = [ cups.out ];
+
preStart = lib.optionalString cfg.stateless ''
+
rm -rf /var/cache/cups /var/lib/cups /var/spool/cups
+
'' + ''
mkdir -m 0700 -p /var/cache/cups
mkdir -m 0700 -p /var/spool/cups
mkdir -m 0755 -p ${cfg.tempDir}
+1
nixos/tests/printing.nix
···
let
printingServer = startWhenNeeded: {
services.printing.enable = true;
services.printing.startWhenNeeded = startWhenNeeded;
services.printing.listenAddresses = [ "*:631" ];
services.printing.defaultShared = true;
···
let
printingServer = startWhenNeeded: {
services.printing.enable = true;
+
services.printing.stateless = true;
services.printing.startWhenNeeded = startWhenNeeded;
services.printing.listenAddresses = [ "*:631" ];
services.printing.defaultShared = true;