nixcfg/modules/nixos/services/homeprinter/default.nix

49 lines
1.3 KiB
Nix
Raw Normal View History

{ options, config, lib, pkgs, ... }:
with lib;
with lib.metacfg;
let cfg = config.metacfg.homeprinter;
in
{
options.metacfg.homeprinter = with types; {
enable = mkBoolOpt false "Whether or not to enable the home printers.";
};
config = mkIf cfg.enable {
services.printing.drivers = with pkgs; [
metacfg.dcpl2530dw-cups
gutenprintBin
gutenprint
];
hardware.printers.ensurePrinters = [
{
name = "Brother_DCP-L2530DW_series";
location = "Dach";
deviceUri = "dnssd://Brother%20DCP-L2530DW%20series._ipp._tcp.local/?uuid=e3248000-80ce-11db-8000-cc6b1e5cd0ea";
model = "brother-DCPL2530DW-cups-en.ppd";
ppdOptions = {
PageSize = "A4";
};
}
{
name = "Canon_MG6300_series";
location = "Dach";
deviceUri = "dnssd://Canon%20MG6300%20series._ipp._tcp.local/?uuid=00000000-0000-1000-8000-2C9EFC9C7BA5";
model = "gutenprint.5.3://bjc-PIXMA-MG6350/expert";
ppdOptions = {
PageSize = "w283h425";
# StpFullBleed = "True";
MediaType = "PhotoPlusGloss2";
ColorModel = "CMYK";
StpColorCorrection = "Accurate";
StpColorPrecision = "Best";
StpInkType = "CMYKk";
StpImageType = "Photo";
StpDitherAlgorithm = "Adaptive";
};
}
];
};
}