diff options
author | Marc Weber <marco-oweber@gmx.de> | 2009-03-06 12:26:46 +0000 |
---|---|---|
committer | Marc Weber <marco-oweber@gmx.de> | 2009-03-06 12:26:46 +0000 |
commit | d0733953e1f61f0d59beaf459ad3773413d7b767 (patch) | |
tree | e48f9547cdf9246e6148e934ef6ffb90ef8cc96f /upstart-jobs/cupsd.nix | |
parent | 4d0761beb22ef28d007ecf21b69eec01fb0568fd (diff) | |
download | nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar.gz nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar.bz2 nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar.lz nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar.xz nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.tar.zst nixpkgs-d0733953e1f61f0d59beaf459ad3773413d7b767.zip |
Convert "printing", CUPS daemon
svn path=/nixos/branches/fix-style/; revision=14384
Diffstat (limited to 'upstart-jobs/cupsd.nix')
-rw-r--r-- | upstart-jobs/cupsd.nix | 94 |
1 files changed, 63 insertions, 31 deletions
diff --git a/upstart-jobs/cupsd.nix b/upstart-jobs/cupsd.nix index ced164a1308..7f5529e6f75 100644 --- a/upstart-jobs/cupsd.nix +++ b/upstart-jobs/cupsd.nix @@ -1,4 +1,26 @@ -{config, pkgs, modprobe}: +{pkgs, config, ...}: + +###### interface +let + inherit (pkgs.lib) mkOption mkIf; + + options = { + services = { + printing = { + + enable = mkOption { + default = false; + description = " + Whether to enable printing support through the CUPS daemon. + "; + }; + + }; + }; + }; +in + +###### implementation let @@ -7,6 +29,8 @@ let inherit (pkgs) cups; + modprobe = config.system.sbin.modprobe; + # Here we can enable additional backends, filters, etc. that are not # part of CUPS itself, e.g. the SMB backend is part of Samba. Since @@ -101,37 +125,45 @@ let in -{ - name = "cupsd"; - - extraPath = [cups]; - extraEtc = [ - # CUPS expects the following files in its ServerRoot. - { source = "${cups}/etc/cups/mime.convs"; - target = "cups/mime.convs"; - } - { source = "${cups}/etc/cups/mime.types"; - target = "cups/mime.types"; - } +mkIf config.services.pulseaudio.enable { + require = [ + options ]; - - job = '' - description "CUPS printing 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 - # Make USB printers show up. - ${modprobe}/sbin/modprobe usblp || true - end script - - respawn ${cups}/sbin/cupsd -c ${cupsdConfig} -F - ''; - + services = { + extraJobs = [{ + name = "cupsd"; + + extraPath = [cups]; + + extraEtc = [ + # CUPS expects the following files in its ServerRoot. + { source = "${cups}/etc/cups/mime.convs"; + target = "cups/mime.convs"; + } + { source = "${cups}/etc/cups/mime.types"; + target = "cups/mime.types"; + } + ]; + + job = '' + description "CUPS printing 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 + + # Make USB printers show up. + ${modprobe}/sbin/modprobe usblp || true + end script + + respawn ${cups}/sbin/cupsd -c ${cupsdConfig} -F + ''; + }]; + }; } |