diff --git a/modules/services/printing/cupsd.nix b/modules/services/printing/cupsd.nix
index 546eb7be396..e9e03251421 100644
--- a/modules/services/printing/cupsd.nix
+++ b/modules/services/printing/cupsd.nix
@@ -39,75 +39,6 @@ let
ln -s ${pkgs.ghostscript}/lib/cups/filter/* $out/lib/cups/filter/
${cfg.bindirCmds}
''; # */
-
-
- cupsdConfig = pkgs.writeText "cupsd.conf"
- ''
- LogLevel debug
-
- SystemGroup root
-
- Listen localhost:631
- Listen /var/run/cups/cups.sock
-
- # Note: we can't use ${cups}/etc/cups as the ServerRoot, since
- # CUPS will write in the ServerRoot when e.g. adding new printers
- # through the web interface.
- ServerRoot /etc/cups
-
- ServerBin ${bindir}/lib/cups
-
- AccessLog ${logDir}/access_log
- ErrorLog ${logDir}/access_log
- PageLog ${logDir}/page_log
-
- TempDir /tmp
-
- Browsing On
- BrowseOrder allow,deny
- BrowseAllow @LOCAL
-
- DefaultAuthType Basic
-
-
- Order allow,deny
- Allow localhost
-
-
-
- Order allow,deny
- Allow localhost
-
-
-
- AuthType Basic
- Require user @SYSTEM
- Order allow,deny
- Allow localhost
-
-
-
-
- Require user @OWNER @SYSTEM
- Order deny,allow
-
-
-
- AuthType Basic
- Require user @SYSTEM
- Order deny,allow
-
-
-
- Require user @OWNER @SYSTEM
- Order deny,allow
-
-
-
- Order deny,allow
-
-
- '';
in
@@ -134,6 +65,14 @@ in
'';
};
+ cupsdConf = mkOption {
+ default = "";
+ description = ''
+ The contents of the configuration file of the CUPS daemon
+ (cupsd.conf).
+ '';
+ };
+
};
};
@@ -173,9 +112,77 @@ in
${modprobe}/sbin/modprobe usblp || true
'';
- exec = "${cups}/sbin/cupsd -c ${cupsdConfig} -F";
+ exec = "${cups}/sbin/cupsd -c ${pkgs.writeText "cupsd.conf" cfg.cupsdConf} -F";
};
+ services.printing.cupsdConf =
+ ''
+ LogLevel debug
+
+ SystemGroup root
+
+ Listen localhost:631
+ Listen /var/run/cups/cups.sock
+
+ # Note: we can't use ${cups}/etc/cups as the ServerRoot, since
+ # CUPS will write in the ServerRoot when e.g. adding new printers
+ # through the web interface.
+ ServerRoot /etc/cups
+
+ ServerBin ${bindir}/lib/cups
+
+ AccessLog ${logDir}/access_log
+ ErrorLog ${logDir}/error_log
+ PageLog ${logDir}/page_log
+
+ TempDir /tmp
+
+ Browsing On
+ BrowseOrder allow,deny
+ BrowseAllow @LOCAL
+
+ DefaultAuthType Basic
+
+
+ Order allow,deny
+ Allow localhost
+
+
+
+ Order allow,deny
+ Allow localhost
+
+
+
+ AuthType Basic
+ Require user @SYSTEM
+ Order allow,deny
+ Allow localhost
+
+
+
+
+ Require user @OWNER @SYSTEM
+ Order deny,allow
+
+
+
+ AuthType Basic
+ Require user @SYSTEM
+ Order deny,allow
+
+
+
+ Require user @OWNER @SYSTEM
+ Order deny,allow
+
+
+
+ Order deny,allow
+
+
+ '';
+
};
}