From a9635d3b738fda7740c817fb53a6ed3e2d2c8664 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 2 Apr 2007 17:31:58 +0000 Subject: [PATCH] * Upstart job for the CUPS daemon. svn path=/nixos/trunk/; revision=8534 --- system/options.nix | 9 ++++ upstart-jobs/cupsd.nix | 94 ++++++++++++++++++++++++++++++++++++++++ upstart-jobs/default.nix | 6 +++ 3 files changed, 109 insertions(+) create mode 100644 upstart-jobs/cupsd.nix diff --git a/system/options.nix b/system/options.nix index 2dfbca44e7e..76aebb102d0 100644 --- a/system/options.nix +++ b/system/options.nix @@ -752,6 +752,15 @@ } + { + name = ["services" "printing" "enable"]; + default = false; + description = " + Whether to enable printing support through the CUPS daemon. + "; + } + + { name = ["installer" "nixpkgsURL"]; default = ""; diff --git a/upstart-jobs/cupsd.nix b/upstart-jobs/cupsd.nix new file mode 100644 index 00000000000..1b561bec5e2 --- /dev/null +++ b/upstart-jobs/cupsd.nix @@ -0,0 +1,94 @@ +{ writeText, cups +}: + +let + + logDir = "/var/log/cups"; + + cupsdConfig = writeText "cupsd.conf" " + LogLevel info + + SystemGroup root + + Listen localhost:631 + Listen /var/run/cups/cups.sock + + ServerRoot ${cups}/etc/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 + +{ + name = "cupsd"; + + extraPath = [ + cups + ]; + + job = " +description \"CUPS daemon\" + +start on network-interfaces/started +stop on network-interfaces/stop + +start script + mkdir -m 0755 -p ${logDir} + mkdir -m 0700 -p /var/cache/cups + mkdir -m 0700 -p /var/spool/cups +end script + +respawn ${cups}/sbin/cupsd -c ${cupsdConfig} -F + "; + +} diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index c677cc3edd8..4056e27e9ec 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -146,6 +146,12 @@ import ../upstart-jobs/gather.nix { inherit (pkgs) glibc pwdutils; }) + # CUPS (printing) daemon. + ++ optional ["services" "printing" "enable"] + (import ../upstart-jobs/cupsd.nix { + inherit (pkgs) writeText cups; + }) + # ALSA sound support. ++ optional ["sound" "enable"] (import ../upstart-jobs/alsa.nix {