diff --git a/nixos/common-hardware.nix b/nixos/common-hardware.nix index 6cdc55cf..730e5b69 100644 --- a/nixos/common-hardware.nix +++ b/nixos/common-hardware.nix @@ -1,5 +1,4 @@ -{ config, pkgs, nixpkgs-nixos-unstable-and-unfree, lib, ... }: -{ +{ config, pkgs, nixpkgs-nixos-unstable-and-unfree, lib, ... }: { boot.kernelModules = [ "fuse" ]; services.smartd.enable = true; @@ -7,30 +6,28 @@ networking.networkmanager = { enable = true; - dispatcherScripts = [ - { - source = pkgs.writeText "upHook" '' - enable_disable_wifi () - { - result=$(nmcli dev | grep "ethernet" | grep -w "connected") - if [ -n "$result" ]; then - nmcli radio wifi off - else - nmcli radio wifi on - fi - } - - if [ "$2" = "up" ]; then - enable_disable_wifi + dispatcherScripts = [{ + source = pkgs.writeText "upHook" '' + enable_disable_wifi () + { + result=$(nmcli dev | grep "ethernet" | grep -w "connected") + if [ -n "$result" ]; then + nmcli radio wifi off + else + nmcli radio wifi on fi + } - if [ "$2" = "down" ]; then - enable_disable_wifi - fi - ''; - type = "basic"; - } - ]; + if [ "$2" = "up" ]; then + enable_disable_wifi + fi + + if [ "$2" = "down" ]; then + enable_disable_wifi + fi + ''; + type = "basic"; + }]; }; hardware.enableRedistributableFirmware = true; @@ -49,16 +46,22 @@ hardware.bluetooth = { enable = true; package = pkgs.bluezFull; - settings = { - General = { Enable = "Source,Sink,Media,Socket"; }; - }; + settings = { General = { Enable = "Source,Sink,Media,Socket"; }; }; }; services.blueman.enable = true; + environment.systemPackages = with pkgs; [ ghostscript poppler ]; services.printing = { enable = true; - drivers = with pkgs; [ epson-escpr nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver ]; + drivers = with pkgs; [ + epson-escpr + nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver + gutenprint + ]; + extraConf = '' + Option pdftops-renderer hybrid + ''; }; hardware.printers.ensurePrinters = [ @@ -66,21 +69,30 @@ description = "Epson XP-540 via bolty"; name = "epson_xp540_via_bolty"; deviceUri = "ipp://bolty:631/printers/epson_xp540"; - model = "epson-inkjet-printer-escpr/Epson-XP-540_Series-epson-escpr-en.ppd"; - ppdOptions = { PageSize = "A4"; Duplex = "DuplexNoTumble"; }; + model = + "epson-inkjet-printer-escpr/Epson-XP-540_Series-epson-escpr-en.ppd"; + ppdOptions = { + PageSize = "A4"; + Duplex = "DuplexNoTumble"; + }; } { description = "Samsung SCX-4623 Series"; name = "samsung-SCX-4623"; - deviceUri = "usb://Samsung/SCX-4623%20Series?serial=Z2TYBFFZC01007W&interface=1"; + deviceUri = + "usb://Samsung/SCX-4623%20Series?serial=Z2TYBFFZC01007W&interface=1"; model = "samsung/SCX-4623FW.ppd"; - ppdOptions = { PageSize = "A4"; Duplex = "DuplexNoTumble"; }; + ppdOptions = { + PageSize = "A4"; + Duplex = "DuplexNoTumble"; + }; } ]; hardware.sane = { enable = true; - extraBackends = with pkgs; [ nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver ]; + extraBackends = with pkgs; + [ nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver ]; }; powerManagement = {