diff options
Diffstat (limited to 'nixos/modules/hardware')
-rw-r--r-- | nixos/modules/hardware/printers.nix | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/nixos/modules/hardware/printers.nix b/nixos/modules/hardware/printers.nix index 7bab4f7038d..ef07542950b 100644 --- a/nixos/modules/hardware/printers.nix +++ b/nixos/modules/hardware/printers.nix @@ -116,19 +116,14 @@ in { description = "Ensure NixOS-configured CUPS printers"; wantedBy = [ "multi-user.target" ]; requires = [ cupsUnit ]; - # in contrast to cups.socket, for cups.service, this is actually not enough, - # as the cups service reports its activation before clients can actually interact with it. - # Because of this, commands like `lpinfo -v` will report a bad file descriptor - # due to the missing UNIX socket without sufficient sleep time. after = [ cupsUnit ]; serviceConfig = { Type = "oneshot"; + RemainAfterExit = true; }; - # sleep 10 is required to wait until cups.service is actually initialized and has created its UNIX socket file - script = (optionalString (!config.services.printing.startWhenNeeded) "sleep 10\n") - + (concatMapStringsSep "\n" ensurePrinter cfg.ensurePrinters) + script = concatMapStringsSep "\n" ensurePrinter cfg.ensurePrinters + optionalString (cfg.ensureDefaultPrinter != null) (ensureDefaultPrinter cfg.ensureDefaultPrinter); }; }; |