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:
+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