jetbrains: useFetchCargoVendor (#377020)
[NixPkgs.git] / pkgs / by-name / sw / swaylock / package.nix
blobf76f7cdbf0b464e386491c18be47a3acbcefea93
1 { lib, stdenv, fetchFromGitHub
2 , meson, ninja, pkg-config, scdoc, wayland-scanner
3 , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
4 }:
6 stdenv.mkDerivation rec {
7   pname = "swaylock";
8   version = "1.8.0";
10   src = fetchFromGitHub {
11     owner = "swaywm";
12     repo = "swaylock";
13     rev = "v${version}";
14     hash = "sha256-1+AXxw1gH0SKAxUa0JIhSzMbSmsfmBPCBY5IKaYtldg=";
15   };
17   strictDeps = true;
18   depsBuildBuild = [ pkg-config ];
19   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
20   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
22   mesonFlags = [
23     "-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled"
24   ];
26   meta = with lib; {
27     description = "Screen locker for Wayland";
28     longDescription = ''
29       swaylock is a screen locking utility for Wayland compositors.
30       Important note: If you don't use the Sway module (programs.sway.enable)
31       you need to set "security.pam.services.swaylock = {};" manually.
32     '';
33     inherit (src.meta) homepage;
34     mainProgram = "swaylock";
35     license = licenses.mit;
36     platforms = platforms.linux;
37     maintainers = with maintainers; [ primeos ];
38   };