nixpkgs/pkgs/applications/window-managers/i3/lock-fancy.nix
Rail Aliiev d6d4cf185e i3lock-fancy: use absolute paths (#17569)
When it's used from command line or as a i3 shortcut, i3lock-fancy works
without any issues. If you try to pass it as an argument to xss-lock or
xautolock running as a systemd user service, getopt and fc-match are not in
PATH and locking doesn't work as expected. This patch replaces non absolute
paths with stable ones and should fix the issue.
2016-08-07 03:42:43 +02:00

40 lines
1.6 KiB
Nix

{ stdenv, fetchFromGitHub, coreutils, scrot, imagemagick, gawk
, i3lock-color, getopt, fontconfig
}:
stdenv.mkDerivation rec {
rev = "b7196aaff72b90bb6ea0464a9f7b37d140db3230";
name = "i3lock-fancy-2016-05-05_rev${builtins.substring 0 7 rev}";
src = fetchFromGitHub {
owner = "meskarune";
repo = "i3lock-fancy";
inherit rev;
sha256 = "0az43nqhmbniih3yw9kz5lnky0n7mxylvklsib76s4l2alf6i3ps";
};
patchPhase = ''
sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" lock
sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" lock
sed -i -e "s|scrot -z |${scrot}/bin/scrot -z |" lock
sed -i -e "s|convert |${imagemagick.out}/bin/convert |" lock
sed -i -e "s|awk -F|${gawk}/bin/awk -F|" lock
sed -i -e "s| awk | ${gawk}/bin/awk |" lock
sed -i -e "s|i3lock -n |${i3lock-color}/bin/i3lock-color -n |" lock
sed -i -e 's|ICON="$SCRIPTPATH/lockdark.png"|ICON="'$out'/share/i3lock-fancy/lockdark.png"|' lock
sed -i -e 's|ICON="$SCRIPTPATH/lock.png"|ICON="'$out'/share/i3lock-fancy/lock.png"|' lock
sed -i -e "s|getopt |${getopt}/bin/getopt |" lock
sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" lock
'';
installPhase = ''
mkdir -p $out/bin $out/share/i3lock-fancy
cp lock $out/bin/i3lock-fancy
cp lock*.png $out/share/i3lock-fancy
'';
meta = with stdenv.lib; {
description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text.";
homepage = https://github.com/meskarune/i3lock-fancy;
maintainers = with maintainers; [ garbas ];
license = licenses.mit;
platforms = platforms.linux;
};
}