Files
nix/modules/nixos/services/printing/default.nix
2026-01-19 09:31:48 -05:00

47 lines
1.0 KiB
Nix

{ config
, lib
, pkgs
, namespace
, ...
}:
let
inherit (lib) mkIf mkEnableOption;
inherit (pkgs) writeTextDir;
cfg = config.${namespace}.services.printing;
in
{
options.${namespace}.services.printing = {
enable = mkEnableOption "enable printing service";
};
config = mkIf cfg.enable {
hardware.printers = {
ensurePrinters = [
{
name = "Canon_PIXMA_iX6820";
location = "Home";
deviceUri = "ipp://954290000000.local:631/ipp/print";
model = "Canon_PIXMA_iX6820.ppd";
ppdOptions = {
PageSize = "4x6.Fullbleed";
ColorModel = "RGB";
cupsPrintQuality = "High";
MediaType = "photographic";
};
}
];
ensureDefaultPrinter = "Canon_PIXMA_iX6820";
};
services.printing = {
enable = true;
drivers = [
(writeTextDir "share/cups/model/Canon_PIXMA_iX6820.ppd" (
builtins.readFile ./Canon_PIXMA_iX6820_AirPrint.ppd
))
];
};
};
}