diff options
author | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2010-04-25 18:27:00 +0000 |
---|---|---|
committer | Yury G. Kudryashov <urkud.urkud@gmail.com> | 2010-04-25 18:27:00 +0000 |
commit | 226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008 (patch) | |
tree | 6777bd846977122b30933052848b398a4f19e8d4 /modules/services/printing/cupsd.nix | |
parent | a5718503e5ce756caa9f1c50058fb128737276b3 (diff) | |
download | nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar.gz nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar.bz2 nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar.lz nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar.xz nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.tar.zst nixpkgs-226a9c8bbbe4be4bbd8e53cc5b55f8058c29d008.zip |
Update CUPS module
* Create symlinks in cups-progs only if they aren't already here * add tmpDir option svn path=/nixos/trunk/; revision=21309
Diffstat (limited to 'modules/services/printing/cupsd.nix')
-rw-r--r-- | modules/services/printing/cupsd.nix | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/modules/services/printing/cupsd.nix b/modules/services/printing/cupsd.nix index e2107b61cf9..cbf67d391b5 100644 --- a/modules/services/printing/cupsd.nix +++ b/modules/services/printing/cupsd.nix @@ -15,11 +15,18 @@ let additionalBackends = pkgs.stdenv.mkDerivation { name = "additional-cups-backends"; builder = pkgs.writeScript "additional-backends-builder.sh" '' - ${pkgs.coreutils}/bin/mkdir -p $out/lib/cups/backend - ${pkgs.coreutils}/bin/ln -s ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb + PATH=${pkgs.coreutils}/bin + mkdir -p $out + if [[ ! -e ${pkgs.samba}/lib/cups/backend/smb ]]; then + mkdir -p $out/lib/cups/backend + ln -s ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb + fi # Provide support for printing via HTTPS. - ${pkgs.coreutils}/bin/ln -s ipp $out/lib/cups/backend/https + if [[ ! -e ${pkgs.cups}/lib/cups/backend/https ]]; then + mkdir -p $out/lib/cups/backend + ln -s ipp $out/lib/cups/backend/https + fi ''; }; @@ -30,11 +37,9 @@ let # cupsd.conf tells cupsd to use this tree. bindir = pkgs.buildEnv { name = "cups-progs"; - paths = cfg.drivers; + paths = cfg.drivers; pathsToLink = [ "/lib/cups" "/share/cups" ]; - postBuild = '' - ${cfg.bindirCmds} - ''; + postBuild = cfg.bindirCmds; }; in @@ -44,7 +49,6 @@ in ###### interface options = { - services.printing = { enable = mkOption { @@ -82,11 +86,18 @@ in ''; }; + tempDir = mkOption { + default = "/tmp"; + example = "/tmp/cups"; + description = '' + CUPSd temporary directory. + ''; + }; }; }; - + ###### implementation config = mkIf config.services.printing.enable { @@ -116,6 +127,7 @@ in mkdir -m 0755 -p ${logDir} mkdir -m 0700 -p /var/cache/cups mkdir -m 0700 -p /var/spool/cups + mkdir -m 0755 -p ${cfg.tempDir} # Make USB printers show up. ${modprobe}/sbin/modprobe usblp || true @@ -125,7 +137,7 @@ in }; services.printing.drivers = [ pkgs.cups pkgs.ghostscript additionalBackends ]; - services.printing.cupsdConf = + services.printing.cupsdConf = '' LogLevel info @@ -146,7 +158,7 @@ in ErrorLog ${logDir}/error_log PageLog ${logDir}/page_log - TempDir /tmp + TempDir ${cfg.tempDir} Browsing On BrowseOrder allow,deny @@ -195,5 +207,4 @@ in ''; }; - } |