1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 pkg-config,
8 libxcb,
9 xcbutilkeysyms,
10 xcbutilimage,
11 xcbutilxrm,
12 pam,
13 libX11,
14 libev,
15 cairo,
16 libxkbcommon,
17 libxkbfile,
18 xorg,
19}:
20
21stdenv.mkDerivation rec {
22 pname = "i3lock";
23 version = "2.15";
24
25 src = fetchFromGitHub {
26 owner = "i3";
27 repo = "i3lock";
28 rev = version;
29 sha256 = "sha256-OyV6GSLnNV3GUqrfs3OBnIaBvicH2PXgeY4acOk5dR4=";
30 };
31
32 nativeBuildInputs = [
33 meson
34 ninja
35 pkg-config
36 ];
37 buildInputs = [
38 libxcb
39 xcbutilkeysyms
40 xcbutilimage
41 xcbutilxrm
42 pam
43 libX11
44 libev
45 cairo
46 libxkbcommon
47 libxkbfile
48 xorg.xcbutil
49 ];
50
51 meta = with lib; {
52 description = "Simple screen locker like slock";
53 longDescription = ''
54 Simple screen locker. After locking, a colored background (default: white) or
55 a configurable image is shown, and a ring-shaped unlock-indicator gives feedback
56 for every keystroke. After entering your password, the screen is unlocked again.
57 '';
58 homepage = "https://i3wm.org/i3lock/";
59 maintainers = with maintainers; [
60 malyn
61 ];
62 mainProgram = "i3lock";
63 license = licenses.bsd3;
64 platforms = platforms.all;
65 };
66
67}