nicer scripting

This commit is contained in:
2026-02-24 21:58:37 +01:00
parent a614b87763
commit c775533445

View File

@@ -6,41 +6,7 @@
...
}:
let
mako-dnd-script = pkgs.writeShellScriptBin "ashell-mako-dnd" ''
case $1 in
listen)
print_state() {
if makoctl mode | grep -q do-not-disturb; then
echo '{"alt":"dnd"}'
else
echo '{"alt":"none"}'
fi
}
trap print_state USR1
print_state
while true; do
sleep infinity & wait $!
done
;;
toggle)
if makoctl mode | grep -q do-not-disturb; then
makoctl mode -r do-not-disturb > /dev/null
else
makoctl mode -a do-not-disturb > /dev/null
fi
pkill -USR1 -f "ashell-mako-dnd listen"
;;
esac
'';
in
{
programs.ashell = {
enable = true;
package = lib.mkIf (!isNixOS) null;
@@ -72,8 +38,31 @@ in
{
name = "CustomNotifications";
icon = "";
command = "${mako-dnd-script}/bin/ashell-mako-dnd toggle";
listen_cmd = "${mako-dnd-script}/bin/ashell-mako-dnd listen";
command = "${pkgs.writeShellScript "dnd-toggle" ''
if makoctl mode | grep -q do-not-disturb; then
makoctl mode -r do-not-disturb > /dev/null
else
makoctl mode -a do-not-disturb > /dev/null
fi
pkill -USR1 -f dnd-check
''}";
listen_cmd = "${pkgs.writeShellScript "dnd-check" ''
print_state() {
if makoctl mode | grep -q do-not-disturb; then
echo '{"alt":"dnd"}'
else
echo '{"alt":"none"}'
fi
}
trap print_state USR1
print_state
while true; do
sleep infinity & wait $!
done
''}";
icons.dnd = "";
}
];