diff --git a/hosts/Garand-Desktop/printers.nix b/hosts/Garand-Desktop/printers.nix new file mode 100644 index 0000000..905dffb --- /dev/null +++ b/hosts/Garand-Desktop/printers.nix @@ -0,0 +1,14 @@ +{ + printEnable = true; + + ensureDefaultPrinter = "Brother-T525W"; + + ensurePrinters = [ + { + deviceUri = "ipp://192.168.1.110/ipp"; + location = "home"; + name = "Brother-T525W"; + model = "everywhere"; + } + ]; +} diff --git a/hosts/Garand-Desktop/variables.nix b/hosts/Garand-Desktop/variables.nix index 3223cc4..ec4da7b 100644 --- a/hosts/Garand-Desktop/variables.nix +++ b/hosts/Garand-Desktop/variables.nix @@ -33,7 +33,7 @@ nvidiaID = "PCI:0:2:0"; # Enable NFS - enableNFS = true; + enableNFS = false; # Enable Printing Support printEnable = true; diff --git a/hosts/Garand-Laptop/printers.nix b/hosts/Garand-Laptop/printers.nix new file mode 100644 index 0000000..905dffb --- /dev/null +++ b/hosts/Garand-Laptop/printers.nix @@ -0,0 +1,14 @@ +{ + printEnable = true; + + ensureDefaultPrinter = "Brother-T525W"; + + ensurePrinters = [ + { + deviceUri = "ipp://192.168.1.110/ipp"; + location = "home"; + name = "Brother-T525W"; + model = "everywhere"; + } + ]; +} diff --git a/hosts/Garand-Laptop/variables.nix b/hosts/Garand-Laptop/variables.nix index e321bae..584df0b 100644 --- a/hosts/Garand-Laptop/variables.nix +++ b/hosts/Garand-Laptop/variables.nix @@ -33,10 +33,7 @@ nvidiaID = "PCI:0:2:0"; # Enable NFS - enableNFS = true; - - # Enable Printing Support - printEnable = false; + enableNFS = false; # Set Stylix Image # This will set your color palette diff --git a/hosts/default/printers.nix b/hosts/default/printers.nix new file mode 100644 index 0000000..24c2787 --- /dev/null +++ b/hosts/default/printers.nix @@ -0,0 +1,21 @@ +{ + # Whether printing services should be enabled. + printEnable = false; + + # Name of the default printer. + ensureDefaultPrinter = "[name]"; + + # List of printers to ensure are configured. + ensurePrinters = [ + { + # URI of the printer device. + deviceUri = "ipp://[IPv4]/ipp"; + # Physical location description of the printer. + location = "[location]"; + # Human‑readable printer name. + name = "[name]"; + # Printer model; "everywhere" uses generic driver. + model = "everywhere"; + } + ]; +} diff --git a/hosts/default/variables.nix b/hosts/default/variables.nix index 2f3057d..7038db2 100644 --- a/hosts/default/variables.nix +++ b/hosts/default/variables.nix @@ -35,7 +35,7 @@ nvidiaID = "PCI:0:2:0"; # Enable NFS - enableNFS = true; + enableNFS = false; # Enable Printing Support printEnable = false; diff --git a/modules/core/printing.nix b/modules/core/printing.nix index 982126f..dfb62d5 100644 --- a/modules/core/printing.nix +++ b/modules/core/printing.nix @@ -1,18 +1,38 @@ -{host, ...}: let - inherit (import ../../hosts/${host}/variables.nix) printEnable; +{ + pkgs, + lib, + host, + ... +}: let + inherit (import ../../hosts/${host}/printers.nix) printEnable ensureDefaultPrinter ensurePrinters; in { - services = { + services = lib.mkIf printEnable { printing = { - enable = printEnable; - drivers = [ - # pkgs.hplipWithPlugin + enable = true; + drivers = with pkgs; [ + cups-filters + cups-browsed ]; - }; - avahi = { - enable = printEnable; - nssmdns4 = true; + listenAddresses = ["*:631"]; + allowFrom = ["all"]; + browsing = true; + defaultShared = true; openFirewall = true; }; - ipp-usb.enable = printEnable; + avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + publish = { + enable = true; + userServices = true; + }; + }; + ipp-usb.enable = true; + }; + + hardware.printers = lib.mkIf printEnable { + ensureDefaultPrinter = ensureDefaultPrinter; + ensurePrinters = ensurePrinters; }; } diff --git a/modules/core/user.nix b/modules/core/user.nix index be87df3..a05f5e1 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -51,6 +51,7 @@ in { "wheel" # sudo access "vboxusers" # Virtual Box "gamemode" + "lpadmin" ]; shell = pkgs.bash; ignoreShellProgramCheck = true; diff --git a/modules/home/xdg/desktop-entries.nix b/modules/home/xdg/desktop-entries.nix index b4be5c0..e1d87e6 100644 --- a/modules/home/xdg/desktop-entries.nix +++ b/modules/home/xdg/desktop-entries.nix @@ -22,7 +22,7 @@ { name = "messenger"; displayName = "Messenger"; - url = "https://www.messenger.com/"; + url = "https://www.facebook.com/messages/"; iconUrl = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png"; iconSha = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc="; }