Scanners
Add SANE firmware
Many scanners require firmware blobs which can be downloaded from the website of the scanner or extracted from the drivers they provide. Once you have the appropriate firmware you need to tell SANE where to find it in your configuration.nix:
{
hardware.sane.enable = true;
nixpkgs.config.sane.snapscanFirmware = pkgs.fetchurl {
# https://wiki.ubuntuusers.de/Scanner/Epson_Perfection/#Unterstuetzte-Geraete
url = "https://media-cdn.ubuntu-de.org/wiki/attachments/52/46/Esfw41.bin"; #Epson Perfection 2480
sha256 = "00cv25v4xlrgp3di9bdfd07pffh9jq2j0hncmjv3c65m8bqhjglq";
};
# to build the gimp plugin
nixpkgs.config.packageOverrides = pkgs: {
xsaneGimp = pkgs.xsane.override { gimpSupport = true; };
};
}
To enable the gimp plugin you also need to manually create a symlink:
ln -s /run/current-system/sw/bin/xsane ~/.gimp-2.8/plug-ins/xsane
Support for HP scanners
hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ];
Non-root scanning
It seems like you might need to add group scanner to users which should be allowed to use scanner.
Enable Network Scanning
As of right now ( 2017-08-16 ) the sane backend does not support overriding according to the nixpkgs issue #17411. The workaround for this is to download the sane-extra-config.nix of michaelrus, put it into /etc/nixos/sane-extra-config.nix
and use it in your configuration.nix
via:
{ ... }:{
imports = [
./sane-extra-config.nix
];
...
hardware.sane.extraConfig."magicolor" = ''
net 10.0.0.30 0x2098
''; # magicolor 1690mf
}