* CUPS: enabled support for printing via SMB.
svn path=/nixos/trunk/; revision=13218
This commit is contained in:
parent
d1cf5f164e
commit
1573bdddfb
@ -1,11 +1,30 @@
|
|||||||
{ writeText, cups
|
{config, pkgs}:
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
logDir = "/var/log/cups";
|
logDir = "/var/log/cups";
|
||||||
|
|
||||||
cupsdConfig = writeText "cupsd.conf" "
|
|
||||||
|
inherit (pkgs) cups;
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# we can't update ${cups}/lib/cups itself, we create a symlink tree
|
||||||
|
# here and add the additional programs. The ServerBin directive in
|
||||||
|
# cupsd.conf tells cupsd to use this tree.
|
||||||
|
bindir = pkgs.runCommand "cups-progs" {} ''
|
||||||
|
ensureDir $out/lib/cups
|
||||||
|
ln -s ${cups}/lib/cups/* $out/lib/cups/
|
||||||
|
|
||||||
|
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
|
||||||
|
''; # */
|
||||||
|
|
||||||
|
|
||||||
|
cupsdConfig = pkgs.writeText "cupsd.conf" ''
|
||||||
LogLevel info
|
LogLevel info
|
||||||
|
|
||||||
SystemGroup root
|
SystemGroup root
|
||||||
@ -15,6 +34,8 @@ let
|
|||||||
|
|
||||||
ServerRoot ${cups}/etc/cups
|
ServerRoot ${cups}/etc/cups
|
||||||
|
|
||||||
|
ServerBin ${bindir}/lib/cups
|
||||||
|
|
||||||
AccessLog ${logDir}/access_log
|
AccessLog ${logDir}/access_log
|
||||||
ErrorLog ${logDir}/access_log
|
ErrorLog ${logDir}/access_log
|
||||||
PageLog ${logDir}/page_log
|
PageLog ${logDir}/page_log
|
||||||
@ -65,7 +86,7 @@ let
|
|||||||
Order deny,allow
|
Order deny,allow
|
||||||
</Limit>
|
</Limit>
|
||||||
</Policy>
|
</Policy>
|
||||||
";
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -76,19 +97,19 @@ in
|
|||||||
cups
|
cups
|
||||||
];
|
];
|
||||||
|
|
||||||
job = "
|
job = ''
|
||||||
description \"CUPS daemon\"
|
description "CUPS printing daemon"
|
||||||
|
|
||||||
start on network-interfaces/started
|
start on network-interfaces/started
|
||||||
stop on network-interfaces/stop
|
stop on network-interfaces/stop
|
||||||
|
|
||||||
start script
|
start script
|
||||||
mkdir -m 0755 -p ${logDir}
|
mkdir -m 0755 -p ${logDir}
|
||||||
mkdir -m 0700 -p /var/cache/cups
|
mkdir -m 0700 -p /var/cache/cups
|
||||||
mkdir -m 0700 -p /var/spool/cups
|
mkdir -m 0700 -p /var/spool/cups
|
||||||
end script
|
end script
|
||||||
|
|
||||||
respawn ${cups}/sbin/cupsd -c ${cupsdConfig} -F
|
respawn ${cups}/sbin/cupsd -c ${cupsdConfig} -F
|
||||||
";
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -314,7 +314,7 @@ let
|
|||||||
# CUPS (printing) daemon.
|
# CUPS (printing) daemon.
|
||||||
++ optional config.services.printing.enable
|
++ optional config.services.printing.enable
|
||||||
(import ../upstart-jobs/cupsd.nix {
|
(import ../upstart-jobs/cupsd.nix {
|
||||||
inherit (pkgs) writeText cups;
|
inherit config pkgs;
|
||||||
})
|
})
|
||||||
|
|
||||||
# Gateway6
|
# Gateway6
|
||||||
|
Loading…
x
Reference in New Issue
Block a user