about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/X11/xidlehook
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/X11/xidlehook')
-rw-r--r--nixpkgs/pkgs/tools/X11/xidlehook/default.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
new file mode 100644
index 000000000000..e9cd04ecd1c3
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, rustPlatform, fetchFromGitLab
+, xlibsWrapper, xorg, libpulseaudio, pkgconfig, patchelf, Security }:
+
+rustPlatform.buildRustPackage rec {
+  name = "xidlehook-${version}";
+  version = "0.7.0";
+
+  doCheck = false;
+
+  src = fetchFromGitLab {
+    owner = "jD91mZM2";
+    repo = "xidlehook";
+    rev = version;
+
+    sha256 = "0dl4rnh4l3rhga5pfxmkc9syn6vx05zxdf8xcv0gw9h60y1smp6v";
+  };
+
+  cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
+  cargoSha256 = "148p7r9xmc0nc0d4qyxhh29xqcb5axwqwcxcrkgd41f32c3g44dc";
+
+  buildInputs = [ xlibsWrapper xorg.libXScrnSaver libpulseaudio ] ++ lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [ pkgconfig patchelf ];
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    RPATH="$(patchelf --print-rpath $out/bin/xidlehook)"
+    patchelf --set-rpath "$RPATH:${libpulseaudio}/lib" $out/bin/xidlehook
+  '';
+
+  meta = with lib; {
+    description = "xautolock rewrite in Rust, with a few extra features";
+    homepage = https://github.com/jD91mZM2/xidlehook;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jD91mZM2 ];
+    platforms = platforms.unix;
+  };
+}