use ghostscript for printing

This commit is contained in:
Cyryl Płotnicki 2022-03-08 12:50:16 +00:00
parent 69ca4953ee
commit 8e7db70de2

View file

@ -1,5 +1,4 @@
{ config, pkgs, nixpkgs-nixos-unstable-and-unfree, lib, ... }: { config, pkgs, nixpkgs-nixos-unstable-and-unfree, lib, ... }: {
{
boot.kernelModules = [ "fuse" ]; boot.kernelModules = [ "fuse" ];
services.smartd.enable = true; services.smartd.enable = true;
@ -7,30 +6,28 @@
networking.networkmanager = { networking.networkmanager = {
enable = true; enable = true;
dispatcherScripts = [ dispatcherScripts = [{
{ source = pkgs.writeText "upHook" ''
source = pkgs.writeText "upHook" '' enable_disable_wifi ()
enable_disable_wifi () {
{ result=$(nmcli dev | grep "ethernet" | grep -w "connected")
result=$(nmcli dev | grep "ethernet" | grep -w "connected") if [ -n "$result" ]; then
if [ -n "$result" ]; then nmcli radio wifi off
nmcli radio wifi off else
else nmcli radio wifi on
nmcli radio wifi on
fi
}
if [ "$2" = "up" ]; then
enable_disable_wifi
fi fi
}
if [ "$2" = "down" ]; then if [ "$2" = "up" ]; then
enable_disable_wifi enable_disable_wifi
fi fi
'';
type = "basic"; if [ "$2" = "down" ]; then
} enable_disable_wifi
]; fi
'';
type = "basic";
}];
}; };
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
@ -49,16 +46,22 @@
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
package = pkgs.bluezFull; package = pkgs.bluezFull;
settings = { settings = { General = { Enable = "Source,Sink,Media,Socket"; }; };
General = { Enable = "Source,Sink,Media,Socket"; };
};
}; };
services.blueman.enable = true; services.blueman.enable = true;
environment.systemPackages = with pkgs; [ ghostscript poppler ];
services.printing = { services.printing = {
enable = true; 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 = [ hardware.printers.ensurePrinters = [
@ -66,21 +69,30 @@
description = "Epson XP-540 via bolty"; description = "Epson XP-540 via bolty";
name = "epson_xp540_via_bolty"; name = "epson_xp540_via_bolty";
deviceUri = "ipp://bolty:631/printers/epson_xp540"; deviceUri = "ipp://bolty:631/printers/epson_xp540";
model = "epson-inkjet-printer-escpr/Epson-XP-540_Series-epson-escpr-en.ppd"; model =
ppdOptions = { PageSize = "A4"; Duplex = "DuplexNoTumble"; }; "epson-inkjet-printer-escpr/Epson-XP-540_Series-epson-escpr-en.ppd";
ppdOptions = {
PageSize = "A4";
Duplex = "DuplexNoTumble";
};
} }
{ {
description = "Samsung SCX-4623 Series"; description = "Samsung SCX-4623 Series";
name = "samsung-SCX-4623"; 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"; model = "samsung/SCX-4623FW.ppd";
ppdOptions = { PageSize = "A4"; Duplex = "DuplexNoTumble"; }; ppdOptions = {
PageSize = "A4";
Duplex = "DuplexNoTumble";
};
} }
]; ];
hardware.sane = { hardware.sane = {
enable = true; 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 = { powerManagement = {