{ config, pkgs, lib, ... }: let isEnabled = config.my.desktop.enablePrinting; in { options.my.desktop.enablePrinting = lib.mkEnableOption "printing"; config = lib.mkIf isEnabled { services = { # Enable CUPS to print documents. printing.enable = true; avahi = { enable = true; # runs the Avahi daemon nssmdns = true; # enables the mDNS NSS plug-in openFirewall = true; # opens the firewall for UDP port 5353 }; }; }; }