mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
72 lines
2.0 KiB
Nix
72 lines
2.0 KiB
Nix
{ stdenvNoCC
|
|
, fetchFromGitHub
|
|
, lib
|
|
, python3
|
|
, xclip
|
|
, libnotify
|
|
, dmenu
|
|
, rofi
|
|
, emojipick-use-rofi ? false
|
|
, emojipick-copy-to-clipboard ? true
|
|
, emojipick-show-notifications ? true
|
|
, emojipick-print-emoji ? true
|
|
, emojipick-font-family ? "Noto Color Emoji"
|
|
, emojipick-font-size ? "18"
|
|
}:
|
|
|
|
let
|
|
boolToInt = b: if b then "1" else "0"; # Convert boolean to integer string
|
|
in
|
|
stdenvNoCC.mkDerivation {
|
|
pname = "emojipick";
|
|
version = "2021-01-27";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "thingsiplay";
|
|
repo = "emojipick";
|
|
rev = "20210127";
|
|
sha256 = "1kib3cyx6z9v9qw6yrfx5sklanpk5jbxjc317wi7i7ljrg0vdazp";
|
|
};
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
# Patch configuration
|
|
# notify-send has to be patched in a bash file
|
|
postPatch = ''
|
|
substituteInPlace emojipick \
|
|
--replace "use_rofi=0" "use_rofi=${boolToInt emojipick-use-rofi}" \
|
|
--replace "copy_to_clipboard=1" "copy_to_clipboard=${boolToInt emojipick-copy-to-clipboard}" \
|
|
--replace "show_notification=1" "show_notification=${boolToInt emojipick-show-notifications}" \
|
|
--replace "print_emoji=1" "print_emoji=${boolToInt emojipick-print-emoji}" \
|
|
--replace "font_family='\"Noto Color Emoji\"'" "font_family='\"${emojipick-font-family}\"'" \
|
|
--replace 'font_size="18"' 'font_size="${emojipick-font-size}"' \
|
|
${lib.optionalString emojipick-use-rofi "--replace 'rofi ' '${rofi}/bin/rofi '"} \
|
|
--replace notify-send ${libnotify}/bin/notify-send
|
|
'';
|
|
|
|
buildInputs = [
|
|
python3
|
|
xclip
|
|
libnotify
|
|
] ++ (if emojipick-use-rofi then [rofi] else [dmenu]);
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin
|
|
cp ./emojipick $out/bin
|
|
cp ./emojiget.py $out/bin
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Get a selection of emojis with dmenu or rofi";
|
|
homepage = "https://github.com/thingsiplay/emojipick";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ alexnortung ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|