Scanners: Difference between revisions

From NixOS Wiki
imported>Symphorien
add mention of epkowa
imported>Samueldr
m →‎Enable Network Scanning: Makes use of {{issue}} template.
Line 55: Line 55:
== Enable Network Scanning ==
== Enable Network Scanning ==


As of right now ( 2017-08-16 ) the sane backend does not support overriding according to the [https://github.com/NixOS/nixpkgs/issues/17411 nixpkgs issue #17411]. The workaround for this is to download the [https://raw.githubusercontent.com/michalrus/dotfiles/d943be3089aa436e07cea5f22d829402936a9229/.nixos-config.symlink/modules/sane-extra-config.nix sane-extra-config.nix of michaelrus], put it into <code>/etc/nixos/sane-extra-config.nix</code> and use it in your <code>configuration.nix</code> via:
As of right now ( 2017-08-16 ) the sane backend does not support overriding according to the {{issue|17411|nixpkgs issue #17411}}. The workaround for this is to download the [https://raw.githubusercontent.com/michalrus/dotfiles/d943be3089aa436e07cea5f22d829402936a9229/.nixos-config.symlink/modules/sane-extra-config.nix sane-extra-config.nix of michaelrus], put it into <code>/etc/nixos/sane-extra-config.nix</code> and use it in your <code>configuration.nix</code> via:


<syntaxhighlight lang="nix">{ ... }:{
<syntaxhighlight lang="nix">{ ... }:{
Line 66: Line 66:
  ''; # magicolor 1690mf
  ''; # magicolor 1690mf
}</syntaxhighlight>
}</syntaxhighlight>
== List of scanner firmware files ==
== List of scanner firmware files ==


* [https://sites.google.com/site/rameyarnaud/media/books/agfa-scanners-with-linux Agfa Snapscan e40]
* [https://sites.google.com/site/rameyarnaud/media/books/agfa-scanners-with-linux Agfa Snapscan e40]
* [https://download.tuxfamily.org/xcfaudio/ Misc Agfa Snapscan] | [https://ipfs.io/ipfs/QmZJ2SfpfYUAS23TujhcdLpTox1SW3Dw3MoCej9GAfs4ya IPFS mirror]
* [https://download.tuxfamily.org/xcfaudio/ Misc Agfa Snapscan] | [https://ipfs.io/ipfs/QmZJ2SfpfYUAS23TujhcdLpTox1SW3Dw3MoCej9GAfs4ya IPFS mirror]

Revision as of 17:54, 5 September 2017

Scanners are handled by the SANE library:

#/etc/nixos/configuration.nix
{
  hardware.sane.enable = true;
}

Verification

To check quickly if your scanner is detected by SANE, you can use scanimage -L. If root only can detect the scanner, try adding your user in the scanner or lp group.

Extra backends

You can check on the official page of libsane if your scanner is supported. Some backends are proprietary and not installed by default (see below).

Note that the selection of the right set of backends by libsane depends on the LD_LIBRARY_PATH environment variable. nixos-rebuild switch is thus not enough to "install" a new backend, you need to logout/login again for changes to take effect.

HP

hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ];

Epson

If your scanner is listed as supported by the epkowa backend :

hardware.sane.extraBackends = [ pkgs.epkowa ];

SnapScan 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";
  };
}

Gimp plugin

To enable the Gimp plugin you need a special version of xsane :

{
  nixpkgs.config.packageOverrides = pkgs: {
    xsaneGimp = pkgs.xsane.override { gimpSupport = true; }; 
  };
}

and you also need to manually create a symlink:

ln -s /run/current-system/sw/bin/xsane ~/.gimp-2.8/plug-ins/xsane


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
}

List of scanner firmware files