From 755ee8bd0829475a9bb19508b174a524c2a41c00 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 6 Apr 2010 11:57:15 +0000 Subject: [PATCH] * Add a configuration option `services.printing.cupsdConf' to allow appending verbatim text to the CUPS daemon configuration file. * cupsd.conf: set ErrorLog properly. svn path=/nixos/trunk/; revision=20954 --- modules/services/printing/cupsd.nix | 147 +++++++++++++++------------- 1 file changed, 77 insertions(+), 70 deletions(-) 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 + + + ''; + }; }