summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/misc/screensavers/multilockscreen/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/misc/screensavers/multilockscreen/default.nix b/pkgs/misc/screensavers/multilockscreen/default.nix
new file mode 100644
index 00000000000..3fa6dbc725e
--- /dev/null
+++ b/pkgs/misc/screensavers/multilockscreen/default.nix
@@ -0,0 +1,47 @@
+{
+  stdenv, makeWrapper, fetchFromGitHub, writeShellScriptBin,
+  imagemagick, i3lock-color, xdpyinfo, xrandr, bc, feh, procps, xrdb, xset,
+  gnused, gnugrep, coreutils
+}:
+let
+  i3lock = writeShellScriptBin "i3lock" ''
+    ${i3lock-color}/bin/i3lock-color "$@"
+  '';
+  binPath = stdenv.lib.makeBinPath [
+    imagemagick i3lock
+    xdpyinfo xrandr xset
+    bc feh procps xrdb
+    gnused gnugrep coreutils
+  ];
+in
+stdenv.mkDerivation rec {
+  pname = "multilockscreen";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "jeffmhubbard";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gmnrq7ibbhiwsn7mfi2r71fwm6nvhiwf4wsyz44cscm474z83p0";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp multilockscreen $out/bin/multilockscreen
+    wrapProgram "$out/bin/multilockscreen" --prefix PATH : "${binPath}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Wrapper script for i3lock-color";
+    longDescription = ''
+      multilockscreen is a wrapper script for i3lock-color.
+      It allows you to cache background images for i3lock-color with a variety of different effects and adds a stylish indicator.
+    '';
+    homepage = "https://github.com/jeffmhubbard/multilockscreen";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kylesferrazza ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index eddec3d6756..d97b6d88007 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21748,6 +21748,8 @@ in
     inherit (xorg) xrdb;
   };
 
+  multilockscreen = callPackage ../misc/screensavers/multilockscreen { };
+
   i3minator = callPackage ../tools/misc/i3minator { };
 
   i3pystatus = callPackage ../applications/window-managers/i3/pystatus.nix { };