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";
|
nvidiaID = "PCI:0:2:0";
|
||||||
|
|
||||||
# Enable NFS
|
# Enable NFS
|
||||||
enableNFS = true;
|
enableNFS = false;
|
||||||
|
|
||||||
# Enable Printing Support
|
# Enable Printing Support
|
||||||
printEnable = true;
|
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";
|
nvidiaID = "PCI:0:2:0";
|
||||||
|
|
||||||
# Enable NFS
|
# Enable NFS
|
||||||
enableNFS = true;
|
enableNFS = false;
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = false;
|
|
||||||
|
|
||||||
# Set Stylix Image
|
# Set Stylix Image
|
||||||
# This will set your color palette
|
# 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";
|
nvidiaID = "PCI:0:2:0";
|
||||||
|
|
||||||
# Enable NFS
|
# Enable NFS
|
||||||
enableNFS = true;
|
enableNFS = false;
|
||||||
|
|
||||||
# Enable Printing Support
|
# Enable Printing Support
|
||||||
printEnable = false;
|
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 {
|
in {
|
||||||
services = {
|
services = lib.mkIf printEnable {
|
||||||
printing = {
|
printing = {
|
||||||
enable = printEnable;
|
enable = true;
|
||||||
drivers = [
|
drivers = with pkgs; [
|
||||||
# pkgs.hplipWithPlugin
|
cups-filters
|
||||||
|
cups-browsed
|
||||||
];
|
];
|
||||||
};
|
listenAddresses = ["*:631"];
|
||||||
avahi = {
|
allowFrom = ["all"];
|
||||||
enable = printEnable;
|
browsing = true;
|
||||||
nssmdns4 = true;
|
defaultShared = true;
|
||||||
openFirewall = 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
|
"wheel" # sudo access
|
||||||
"vboxusers" # Virtual Box
|
"vboxusers" # Virtual Box
|
||||||
"gamemode"
|
"gamemode"
|
||||||
|
"lpadmin"
|
||||||
];
|
];
|
||||||
shell = pkgs.bash;
|
shell = pkgs.bash;
|
||||||
ignoreShellProgramCheck = true;
|
ignoreShellProgramCheck = true;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
{
|
{
|
||||||
name = "messenger";
|
name = "messenger";
|
||||||
displayName = "Messenger";
|
displayName = "Messenger";
|
||||||
url = "https://www.messenger.com/";
|
url = "https://www.facebook.com/messages/";
|
||||||
iconUrl = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png";
|
iconUrl = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png";
|
||||||
iconSha = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc=";
|
iconSha = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc=";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user