DashNix/modules/programs/printing.nix

34 lines
715 B
Nix

{
lib,
config,
options,
pkgs,
...
}: {
options.mods.printing = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables the piper program and its daemon";
};
};
config = lib.mkIf config.mods.printing.enable (
lib.optionalAttrs (options ? services.printing) {
# Enable CUPS to print documents.
services = {
printing = {
enable = true;
browsing = true;
drivers = [pkgs.hplip];
startWhenNeeded = true; # optional
};
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
}
);
}