1{
2 fetchFromGitHub,
3 lib,
4 makeWrapper,
5 stdenv,
6
7 # Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix)
8 bc,
9 coreutils,
10 dbus,
11 withDunst ? true,
12 dunst,
13 i3lock-color,
14 gawk,
15 gnugrep,
16 gnused,
17 imagemagick,
18 procps,
19 xorg,
20}:
21
22let
23 runtimeDeps = [
24 bc
25 coreutils
26 dbus
27 i3lock-color
28 gawk
29 gnugrep
30 gnused
31 imagemagick
32 procps
33 xorg.xdpyinfo
34 xorg.xrandr
35 xorg.xset
36 ]
37 ++ lib.optionals withDunst [ dunst ];
38in
39
40stdenv.mkDerivation rec {
41 pname = "betterlockscreen";
42 version = "4.4.0";
43
44 src = fetchFromGitHub {
45 owner = "betterlockscreen";
46 repo = "betterlockscreen";
47 rev = "v${version}";
48 sha256 = "sha256-59Ct7XIfZqU3yaW9FO7UV8SSMLdcZMPRc7WJangxFPo=";
49 };
50
51 nativeBuildInputs = [ makeWrapper ];
52
53 installPhase = ''
54 runHook preInstall
55
56 mkdir -p $out/bin
57 cp betterlockscreen $out/bin/betterlockscreen
58 wrapProgram "$out/bin/betterlockscreen" \
59 --prefix PATH : "$out/bin:${lib.makeBinPath runtimeDeps}"
60
61 runHook postInstall
62 '';
63
64 meta = with lib; {
65 description = "Fast and sweet looking lockscreen for linux systems with effects";
66 homepage = "https://github.com/betterlockscreen/betterlockscreen";
67 mainProgram = "betterlockscreen";
68 license = licenses.mit;
69 platforms = platforms.linux;
70 maintainers = with maintainers; [
71 eyjhb
72 sebtm
73 ];
74 };
75}