aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix
new file mode 100644
index 000000000000..376b66181669
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/misc/autorandr/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, python3Packages
+, fetchFromGitHub
+, systemd
+, xrandr }:
+
+let
+ python = python3Packages.python;
+ version = "1.11";
+in
+ stdenv.mkDerivation {
+ pname = "autorandr";
+ inherit version;
+
+ buildInputs = [ python ];
+
+ # no wrapper, as autorandr --batch does os.environ.clear()
+ buildPhase = ''
+ substituteInPlace autorandr.py \
+ --replace 'os.popen("xrandr' 'os.popen("${xrandr}/bin/xrandr' \
+ --replace '["xrandr"]' '["${xrandr}/bin/xrandr"]'
+ '';
+
+ outputs = [ "out" "man" ];
+
+ installPhase = ''
+ runHook preInstall
+ make install TARGETS='autorandr' PREFIX=$out
+
+ make install TARGETS='bash_completion' DESTDIR=$out/share/bash-completion/completions
+
+ make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out
+
+ make install TARGETS='manpage' PREFIX=$man
+
+ ${if systemd != null then ''
+ make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \
+ SYSTEMD_UNIT_DIR=/lib/systemd/system \
+ UDEV_RULES_DIR=/etc/udev/rules.d
+ substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \
+ --replace /bin/systemctl "/run/current-system/systemd/bin/systemctl"
+ '' else ''
+ make install TARGETS='pmutils' DESTDIR=$out \
+ PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d
+ make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
+ UDEV_RULES_DIR=/etc/udev/rules.d
+ ''}
+
+ runHook postInstall
+ '';
+
+ src = fetchFromGitHub {
+ owner = "phillipberndt";
+ repo = "autorandr";
+ rev = version;
+ sha256 = "0rmnqk2bi6bbd2if1rll37mlzlqxzmnazfffdhcpzskxwyaj4yn5";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/phillipberndt/autorandr/";
+ description = "Automatically select a display configuration based on connected devices";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ coroa globin ];
+ platforms = platforms.unix;
+ };
+ }