nixos-configuration/pkgs/pomodoro-timer/default.nix
Jakob Lechner 0a2a569682 Remove gnused
it is not required
2025-10-24 12:01:58 +02:00

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;
};
}