Files
nix-config/modules/laptop/printing.nix
Amaury JOLY 6105c58cda reformat
2026-04-02 14:10:16 +02:00

36 lines
937 B
Nix

# Module: Printing Configuration
# Description: CUPS printing service with configured printers
# Services: printing (CUPS)
{
config,
lib,
...
}: {
options.custom.printing = {
enable = lib.mkEnableOption "printing support (CUPS)";
printers = lib.mkOption {
type = lib.types.listOf lib.types.attrs;
default = [];
description = "List of printers to configure";
};
defaultPrinter = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Default printer name";
};
};
config = lib.mkIf config.custom.printing.enable {
services.printing.enable = true;
hardware.printers = lib.mkIf (config.custom.printing.printers != []) {
ensurePrinters = config.custom.printing.printers;
ensureDefaultPrinter =
lib.mkIf (config.custom.printing.defaultPrinter != null)
config.custom.printing.defaultPrinter;
};
};
}