summary refs log tree commit diff
path: root/upstart-jobs/cupsd.nix
diff options
context:
space:
mode:
authorNicolas Pierron <nicolas.b.pierron@gmail.com>2009-02-22 16:07:05 +0000
committerNicolas Pierron <nicolas.b.pierron@gmail.com>2009-02-22 16:07:05 +0000
commit33445eb22172545cede0f750ff67fcf081295400 (patch)
treeb08e2e1d81f76fa0aa7fdc67752dcb0db1a52d80 /upstart-jobs/cupsd.nix
parent46f1cab80f4878c335d5b4db6650cf1374931632 (diff)
downloadnixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar.gz
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar.bz2
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar.lz
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar.xz
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.tar.zst
nixpkgs-33445eb22172545cede0f750ff67fcf081295400.zip
* CUPS daemon: modprobe usblp so that CUPS can find USB printers.
* CUPS daemon: use Ghostscript to support printing on non-Postscript
  printers.

svn path=/nixos/branches/fix-style/; revision=14163
Diffstat (limited to 'upstart-jobs/cupsd.nix')
-rw-r--r--upstart-jobs/cupsd.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/upstart-jobs/cupsd.nix b/upstart-jobs/cupsd.nix
index 1afd9aae4c2..d67fc384324 100644
--- a/upstart-jobs/cupsd.nix
+++ b/upstart-jobs/cupsd.nix
@@ -1,4 +1,4 @@
-{config, pkgs}:
+{config, pkgs, modprobe}:
 
 let
 
@@ -16,16 +16,24 @@ let
   bindir = pkgs.runCommand "cups-progs" {} ''
     ensureDir $out/lib/cups
     ln -s ${cups}/lib/cups/* $out/lib/cups/
-    
+
+    # Provide support for printing via SMB.    
     rm $out/lib/cups/backend
     ensureDir $out/lib/cups/backend
     ln -s ${cups}/lib/cups/backend/* $out/lib/cups/backend/
     ln -s ${pkgs.samba}/bin/smbspool $out/lib/cups/backend/smb
+
+    # Provide Ghostscript rasterisation, necessary for non-Postscript
+    # printers.
+    rm $out/lib/cups/filter
+    ensureDir $out/lib/cups/filter
+    ln -s ${cups}/lib/cups/filter/* $out/lib/cups/filter/
+    ln -s ${pkgs.ghostscript}/lib/cups/filter/* $out/lib/cups/filter/
   ''; # */
   
 
   cupsdConfig = pkgs.writeText "cupsd.conf" ''
-    LogLevel info
+    LogLevel debug
 
     SystemGroup root
 
@@ -96,6 +104,8 @@ in
   extraPath = [
     cups
   ];
+
+  
   
   job = ''
     description "CUPS printing daemon"
@@ -107,6 +117,9 @@ in
         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