about summary refs log tree commit diff
path: root/pkgs/tools/misc/autorandr/default.nix
blob: 1fab8a493bb4d85703a1465cd0091303c3ebb3fc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{ fetchgit
, stdenv
, enableXRandr ? true, xrandr ? null
, enableDisper ? true, disper ? null
, python
, xdpyinfo }:

assert enableXRandr -> xrandr != null;
assert enableDisper -> disper != null;

let
  # Revision and date taken from the legacy tree, which still
  # supports disper:
  # https://github.com/phillipberndt/autorandr/tree/legacy
  rev = "59f6aec0bb72e26751ce285d079e085b7178e45d";
  date = "20150127";
in
  stdenv.mkDerivation {
    name = "autorandr-${date}";

    src = fetchgit {
      inherit rev;
      url = "https://github.com/phillipberndt/autorandr.git";
      sha256 = "0mnggsp42477kbzwwn65gi8y0rydk10my9iahikvs6n43lphfa1f";
    };

    patchPhase = ''
      substituteInPlace "autorandr" \
        --replace "/usr/bin/xrandr" "${if enableXRandr then xrandr else "/nowhere"}/bin/xrandr" \
        --replace "/usr/bin/disper" "${if enableDisper then disper else "/nowhere"}/bin/disper" \
        --replace "/usr/bin/xdpyinfo" "${xdpyinfo}/bin/xdpyinfo" \
        --replace "which xxd" "false" \
        --replace "python" "${python}/bin/python"
    '';

    installPhase = ''
      mkdir -p "$out/etc/bash_completion.d"
      cp -v bash_completion/autorandr "$out/etc/bash_completion.d"
      mkdir -p "$out/bin"
      cp -v autorandr auto-disper $out/bin
    '';

    meta = {
      description = "Automatic display configuration selector based on connected devices";
      homepage = https://github.com/wertarbyte/autorandr;
      maintainers = [ stdenv.lib.maintainers.coroa ];
      platforms = stdenv.lib.platforms.unix;
    };
  }