diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix new file mode 100644 index 00000000000..d9a727e8a09 --- /dev/null +++ b/pkgs/tools/misc/autorandr/default.nix @@ -0,0 +1,39 @@ +{ fetchgit +, stdenv +, enableXRandr ? true, xrandr ? null +, enableDisper ? false, disper ? null +, xdpyinfo }: + +assert enableXRandr -> xrandr != null; +assert enableDisper -> disper != null; + +let + rev = "4f5e2401ef"; +in + stdenv.mkDerivation { + name = "autorandr-${rev}"; + + src = fetchgit { + inherit rev; + url = "https://github.com/wertarbyte/autorandr.git"; + }; + + 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" + ''; + + 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 = "Autorandr, automatic display configuration selector based on connected devices"; + homepage = https://github.com/wertarbyte/autorandr; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57b9c9d70ed..047f907a4fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -497,6 +497,10 @@ let autojump = callPackage ../tools/misc/autojump { }; + autorandr = callPackage ../tools/misc/autorandr { + inherit (xorg) xrandr xdpyinfo; + }; + avahi = callPackage ../development/libraries/avahi { qt4Support = config.avahi.qt4Support or false; };