{ config, pkgs, nixpkgs-nixos-unstable-and-unfree, lib, ... }: { boot.kernelModules = ["fuse"]; sound.enable = true; 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 fi if [ "$2" = "down" ]; then enable_disable_wifi fi ''; type = "basic"; } ]; }; security.rtkit.enable = true; services = { smartd.enable = true; pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; printing = { enable = true; drivers = with pkgs; [ epson-escpr nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver gutenprint ]; extraConf = '' Option pdftops-renderer hybrid ''; }; udev.packages = []; }; environment.systemPackages = with pkgs; [ghostscript poppler]; hardware = { enableRedistributableFirmware = true; cpu.intel.updateMicrocode = true; bluetooth = { enable = true; package = pkgs.bluez; settings = {General = {Enable = "Source,Sink,Media,Socket";};}; }; pulseaudio.enable = false; printers.ensurePrinters = [ { 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"; }; } { description = "Samsung SCX-4623 Series"; name = "samsung-SCX-4623"; deviceUri = "usb://Samsung/SCX-4623%20Series?serial=Z2TYBFFZC01007W&interface=1"; model = "samsung/SCX-4623FW.ppd"; ppdOptions = { PageSize = "A4"; Duplex = "DuplexNoTumble"; }; } ]; sane = { enable = true; snapshot = true; extraBackends = with pkgs; [ nixpkgs-nixos-unstable-and-unfree.samsung-unified-linux-driver sane-airscan gawk ]; }; }; powerManagement = { enable = lib.mkForce true; resumeCommands = '' ${pkgs.autorandr}/bin/autorandr -c ''; powertop.enable = true; }; }