biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / window-managers / i3 / lock-fancy.nix
bloba66e52bc40b0d5e28ca28c55e201f84bfd43b9b5
1 { coreutils
2 , fetchFromGitHub
3 , fontconfig
4 , gawk
5 , getopt
6 , i3lock-color
7 , imagemagick
8 , installShellFiles
9 , lib
10 , makeWrapper
11 , scrot
12 , stdenv
14 , screenshotCommand ? ""
17 stdenv.mkDerivation {
18   pname = "i3lock-fancy";
19   version = "unstable-2023-04-28";
21   src = fetchFromGitHub {
22     owner = "meskarune";
23     repo = "i3lock-fancy";
24     rev = "55f5c30071403faf5ae4363a54b6d1f63876d5ce";
25     hash = "sha256-ISymKlxLE4/ChDiyjnavFx4T5hEVI62cCxYLWrWiHrg=";
26   };
28   nativeBuildInputs = [
29     makeWrapper
30     installShellFiles
31   ];
33   postPatch = ''
34     sed -i i3lock-fancy \
35       -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' \
36       -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|'
37     rm Makefile
38   '' + lib.optionalString (screenshotCommand != "") ''
39     sed -i i3lock-fancy \
40       -e "s|shot=(import -silent -window root)|shot=(${screenshotCommand})|";
41   '';
43   installPhase = ''
44     runHook preInstall
46     mkdir -p $out/bin $out/share/i3lock-fancy/icons
47     cp i3lock-fancy $out/bin/i3lock-fancy
48     ln -s $out/bin/i3lock-fancy $out/bin/i3lock
49     cp icons/lock*.png $out/share/i3lock-fancy/icons
50     installManPage doc/i3lock-fancy.1
52     runHook postInstall
53   '';
55   postInstall = ''
56     wrapProgram $out/bin/i3lock-fancy \
57       --prefix PATH : ${lib.makeBinPath [ coreutils fontconfig gawk getopt i3lock-color imagemagick scrot ]}
58   '';
60   meta = with lib; {
61     description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text";
62     homepage = "https://github.com/meskarune/i3lock-fancy";
63     maintainers = [ maintainers.reedrw ];
64     mainProgram = "i3lock-fancy";
65     license = licenses.mit;
66     platforms = platforms.linux;
67   };