Add host printer configs and refactor printing
Add printers.nix for Garand‑Desktop, Garand‑Laptop, and default hosts with printer definitions and a printEnable flag. Disable NFS by default in the host variables. Rewrite modules/core/printing.nix to import printer settings, enable services only when printing is enabled, and add more CUPS/Avahi options plus hardware.printers configuration. Add the lpadmin group to the main user. Update the Messenger desktop entry URL to the Facebook Messages page.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
{
|
||||
printEnable = true;
|
||||
|
||||
ensureDefaultPrinter = "Brother-T525W";
|
||||
|
||||
ensurePrinters = [
|
||||
{
|
||||
deviceUri = "ipp://192.168.1.110/ipp";
|
||||
location = "home";
|
||||
name = "Brother-T525W";
|
||||
model = "everywhere";
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
nvidiaID = "PCI:0:2:0";
|
||||
|
||||
# Enable NFS
|
||||
enableNFS = true;
|
||||
enableNFS = false;
|
||||
|
||||
# Enable Printing Support
|
||||
printEnable = true;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
printEnable = true;
|
||||
|
||||
ensureDefaultPrinter = "Brother-T525W";
|
||||
|
||||
ensurePrinters = [
|
||||
{
|
||||
deviceUri = "ipp://192.168.1.110/ipp";
|
||||
location = "home";
|
||||
name = "Brother-T525W";
|
||||
model = "everywhere";
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -35,7 +35,7 @@
|
||||
nvidiaID = "PCI:0:2:0";
|
||||
|
||||
# Enable NFS
|
||||
enableNFS = true;
|
||||
enableNFS = false;
|
||||
|
||||
# Enable Printing Support
|
||||
printEnable = false;
|
||||
|
||||
+31
-11
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ in {
|
||||
"wheel" # sudo access
|
||||
"vboxusers" # Virtual Box
|
||||
"gamemode"
|
||||
"lpadmin"
|
||||
];
|
||||
shell = pkgs.bash;
|
||||
ignoreShellProgramCheck = true;
|
||||
|
||||
@@ -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=";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user