summary refs log tree commit diff
path: root/nixos/modules/services/printing/cupsd.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-01-17 03:34:39 +0300
committerNikolay Amiantov <ab@fmap.me>2016-01-17 15:50:40 +0300
commit06865208e8516099c5ae54cfcd0c0be24ac9d0b9 (patch)
treeb0f45e664f73fb204648fb3af4f9467aa6417dc4 /nixos/modules/services/printing/cupsd.nix
parenta8b3e686d0f1c4fe4a8836f7cbd79639fe34fede (diff)
downloadnixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar.gz
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar.bz2
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar.lz
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar.xz
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.tar.zst
nixpkgs-06865208e8516099c5ae54cfcd0c0be24ac9d0b9.zip
cupsd service: use cups-pk-helper is policykit is enabled
Diffstat (limited to 'nixos/modules/services/printing/cupsd.nix')
-rw-r--r--nixos/modules/services/printing/cupsd.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 0fe25b66da0..6f5df23f342 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -4,10 +4,13 @@ with lib;
 
 let
 
-  inherit (pkgs) cups cups_filters;
+  inherit (pkgs) cups cups-pk-helper cups_filters;
 
   cfg = config.services.printing;
 
+  avahiEnabled = config.services.avahi.enable;
+  polkitEnabled = config.security.polkit.enable;
+
   additionalBackends = pkgs.runCommand "additional-cups-backends" { }
     ''
       mkdir -p $out
@@ -204,7 +207,7 @@ in
         description = "CUPS printing services";
       };
 
-    environment.systemPackages = [ cups ];
+    environment.systemPackages = [ cups ] ++ optional polkitEnabled cups-pk-helper;
 
     environment.etc."cups/client.conf".text = cfg.clientConf;
     environment.etc."cups/cups-files.conf".text = cfg.cupsFilesConf;
@@ -212,7 +215,7 @@ in
     environment.etc."cups/cups-browsed.conf".text = cfg.browsedConf;
     environment.etc."cups/snmp.conf".text = cfg.snmpConf;
 
-    services.dbus.packages = [ cups ];
+    services.dbus.packages = [ cups ] ++ optional polkitEnabled cups-pk-helper;
 
     # Cups uses libusb to talk to printers, and does not use the
     # linux kernel driver. If the driver is not in a black list, it
@@ -242,7 +245,7 @@ in
           ];
       };
 
-    systemd.services.cups-browsed = mkIf config.services.avahi.enable
+    systemd.services.cups-browsed = mkIf avahiEnabled
       { description = "CUPS Remote Printer Discovery";
 
         wantedBy = [ "multi-user.target" ];