1{
2 lib,
3 stdenv,
4 makeWrapper,
5 fetchFromGitHub,
6 writeShellScriptBin,
7 imagemagick,
8 i3lock-color,
9 xdpyinfo,
10 xrandr,
11 bc,
12 feh,
13 procps,
14 xrdb,
15 xset,
16 gnused,
17 gnugrep,
18 coreutils,
19}:
20let
21 i3lock = writeShellScriptBin "i3lock" ''
22 ${i3lock-color}/bin/i3lock-color "$@"
23 '';
24 binPath = lib.makeBinPath [
25 imagemagick
26 i3lock
27 xdpyinfo
28 xrandr
29 xset
30 bc
31 feh
32 procps
33 xrdb
34 gnused
35 gnugrep
36 coreutils
37 ];
38in
39stdenv.mkDerivation rec {
40 pname = "multilockscreen";
41 version = "1.2.0";
42
43 src = fetchFromGitHub {
44 owner = "jeffmhubbard";
45 repo = "multilockscreen";
46 rev = "v${version}";
47 sha256 = "1bfpbazvhaz9x356nsghz0czysh9b75g79cd9s35v0x0rrzdr9qj";
48 };
49
50 nativeBuildInputs = [ makeWrapper ];
51
52 installPhase = ''
53 mkdir -p $out/bin
54 cp multilockscreen $out/bin/multilockscreen
55 wrapProgram "$out/bin/multilockscreen" --prefix PATH : "${binPath}"
56 '';
57
58 meta = with lib; {
59 description = "Wrapper script for i3lock-color";
60 mainProgram = "multilockscreen";
61 longDescription = ''
62 multilockscreen is a wrapper script for i3lock-color.
63 It allows you to cache background images for i3lock-color with a variety of different effects and adds a stylish indicator.
64 '';
65 homepage = "https://github.com/jeffmhubbard/multilockscreen";
66 license = licenses.mit;
67 platforms = platforms.linux;
68 maintainers = with maintainers; [ kylesferrazza ];
69 };
70}