{ config, lib, pkgs, ... }: with lib; let cfg = config.fuckingprint; in { options.fuckingprint.enable = mkEnableOption "Make my fucking printer work"; config = mkIf cfg.enable { services.ezvahi.enable = lib.mkDefault true; # Enable CUPS and SANE for printing and scanning services.printing.enable = true; services.printing.browsing = true; services.printing.listenAddresses = [ "*:631" ]; services.printing.allowFrom = [ "all" ]; services.printing.defaultShared = true; services.printing.drivers = with pkgs; [ gutenprint gutenprintBin hplip samsungUnifiedLinuxDriver splix brlaser brgenml1lpr brgenml1cupswrapper cups-brother-hl1110 mfcj470dw-cupswrapper mfcj6510dw-cupswrapper mfcl3770cdwcupswrapper mfcl2700dncupswrapper mfcl2720dwcupswrapper mfcl2740dwcupswrapper mfcj470dwlpr mfcj6510dwlpr mfcl3770cdwlpr mfcl2700dnlpr mfcl2720dwlpr mfcl2740dwlpr ]; hardware.sane.enable = true; hardware.sane.brscan4.enable = true; hardware.sane.extraBackends = with pkgs; [ utsushi epkowa hplipWithPlugin ]; }; }