61 lines
1.4 KiB
Nix
61 lines
1.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, yad
|
|
, uair
|
|
, writeShellScript
|
|
, makeDesktopItem
|
|
, imagemagick
|
|
}:
|
|
|
|
let
|
|
pomodoroTimer = writeShellScript "pomodoro-timer" ''
|
|
export PATH=${lib.makeBinPath [yad uair]}
|
|
uairctl listen -o yad \
|
|
| yad \
|
|
--title="Pomodoro" \
|
|
--geometry="300x50" \
|
|
--scale \
|
|
--progress \
|
|
--no-buttons \
|
|
--css="* { font-size: 60px;} progress { min-height: 1200px; margin: -100px -8px -6px;}"
|
|
'';
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "pomodoro-timer";
|
|
version = "1.0.0";
|
|
src = ./pomodorotimer.svg;
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
icon_size=64x64
|
|
dir=$out/share/icons/hicolor/scalable/apps/
|
|
mkdir -p \
|
|
$out/share/icons/hicolor/scalable/apps/ \
|
|
$out/share/icons/hicolor/$icon_size/apps/
|
|
|
|
cp $src $dir/pomodorotimer.svg
|
|
mkdir $out/bin
|
|
cp "${pomodoroTimer}" $out/bin/pomodoro-timer
|
|
ln -s "${desktopItem}/share/applications" $out/share/
|
|
|
|
${imagemagick}/bin/convert \
|
|
-size $icon_size \
|
|
$src \
|
|
$out/share/icons/hicolor/$icon_size/apps/pomodorotimer.png
|
|
'';
|
|
|
|
desktopItem = makeDesktopItem {
|
|
name = pname;
|
|
exec = pname;
|
|
icon = "pomodorotimer";
|
|
desktopName = pname;
|
|
comment = meta.description;
|
|
categories = [ "Utility" ];
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Pomodoro timer (GUI for uair)";
|
|
maintainers = with maintainers; [ jalr ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|