2020-04-15 00:08:44 +02:00
|
|
|
{ pkgs, wifi-interface, colours, batteryBlock }:
|
2020-05-08 11:51:22 +02:00
|
|
|
let
|
|
|
|
|
setsid = script: pkgs.writers.writeDash "setsid-command" ''
|
|
|
|
|
${pkgs.utillinux}/bin/setsid ${script}
|
|
|
|
|
'';
|
|
|
|
|
in
|
2019-11-05 21:59:51 +01:00
|
|
|
{
|
|
|
|
|
theme = {
|
|
|
|
|
name = "plain";
|
|
|
|
|
overrides = {
|
|
|
|
|
critical_fg = colours.red.bright;
|
|
|
|
|
good_fg = colours.green.bright;
|
|
|
|
|
idle_fg = colours.foreground;
|
|
|
|
|
info_fg = colours.foreground;
|
|
|
|
|
warning_fg = colours.yellow.bright;
|
2020-05-31 18:25:39 +02:00
|
|
|
warning_bg = colours.background;
|
2019-11-05 21:59:51 +01:00
|
|
|
alternating_tint_bg = colours.background;
|
|
|
|
|
alternating_tint_fg = colours.background;
|
|
|
|
|
critical_bg = colours.background;
|
|
|
|
|
good_bg = colours.background;
|
|
|
|
|
idle_bg = colours.background;
|
|
|
|
|
info_bg = colours.background;
|
2020-05-31 18:25:39 +02:00
|
|
|
separator = "";
|
|
|
|
|
separator_bg = "auto";
|
|
|
|
|
separator_fg = "auto" ;
|
2019-11-05 21:59:51 +01:00
|
|
|
};
|
|
|
|
|
};
|
2020-04-13 11:02:37 +02:00
|
|
|
icons = {
|
|
|
|
|
name = "none";
|
|
|
|
|
overrides = {
|
2020-04-22 17:42:45 +02:00
|
|
|
time = "📅 ";
|
2020-04-23 13:15:34 +02:00
|
|
|
music = "🎵";
|
2020-04-13 11:02:37 +02:00
|
|
|
music_play = "▶";
|
|
|
|
|
music_pause = "";
|
|
|
|
|
music_next = "⏭";
|
|
|
|
|
music_prev = "⏮";
|
2020-04-22 17:42:45 +02:00
|
|
|
cpu = "🖥 ";
|
|
|
|
|
memory_mem = "🧠 ";
|
|
|
|
|
cogs = "🚦 ";
|
2020-04-28 20:08:59 +02:00
|
|
|
pomodoro = "🍅 ";
|
2020-04-13 11:02:37 +02:00
|
|
|
bat = "🔋";
|
|
|
|
|
bat_full = "⚡";
|
|
|
|
|
bat_charging = "🔌";
|
|
|
|
|
bat_discharging = "🔋";
|
2020-04-22 17:42:45 +02:00
|
|
|
bat_quarter = "🔋";
|
|
|
|
|
bat_three_quarters = "🔋";
|
2020-04-23 13:15:34 +02:00
|
|
|
net_up = "🌐";
|
|
|
|
|
net_down = "❎";
|
|
|
|
|
net_wireless = "📶";
|
|
|
|
|
net_wired = "🌐";
|
2020-04-22 17:42:45 +02:00
|
|
|
net_vpn = "🛡 ";
|
2020-04-23 13:15:34 +02:00
|
|
|
toggle_off = "👎";
|
|
|
|
|
toggle_on = "👍";
|
2020-05-03 00:17:09 +02:00
|
|
|
mail = "📧 ";
|
2020-04-22 17:42:45 +02:00
|
|
|
volume_full = "🔊 ";
|
|
|
|
|
volume_half = "🔉 ";
|
|
|
|
|
volume_muted = "⛔";
|
|
|
|
|
volume_empty = "🔈 ";
|
2020-04-13 11:02:37 +02:00
|
|
|
};
|
|
|
|
|
};
|
2019-11-05 21:59:51 +01:00
|
|
|
block = [
|
2020-04-15 00:08:44 +02:00
|
|
|
{
|
|
|
|
|
block = "custom";
|
2020-05-03 00:17:09 +02:00
|
|
|
interval = 60 * 2; # every two minutes
|
2020-04-15 00:08:44 +02:00
|
|
|
command = pkgs.writers.writeDash "corona" ''
|
|
|
|
|
${pkgs.curl}/bin/curl https://corona-stats.online/germany \
|
|
|
|
|
| ${pkgs.gnugrep}/bin/grep Germany \
|
|
|
|
|
| ${pkgs.gnused}/bin/sed 's/\s*//g' \
|
|
|
|
|
| ${pkgs.ansifilter}/bin/ansifilter \
|
2020-05-27 10:39:03 +02:00
|
|
|
| ${pkgs.gawk}/bin/awk -F'│' '{print "🤒 " $8 " 💀 " $5}'
|
2020-04-15 00:08:44 +02:00
|
|
|
'';
|
|
|
|
|
}
|
2020-04-23 13:15:34 +02:00
|
|
|
{
|
|
|
|
|
block = "custom";
|
2020-04-27 12:06:37 +02:00
|
|
|
interval = 20;
|
2020-04-23 13:15:34 +02:00
|
|
|
command = pkgs.writers.writeDash "tasks" ''
|
2020-04-27 12:06:37 +02:00
|
|
|
${pkgs.todo-txt-cli}/bin/todo.sh list '(.)' \
|
|
|
|
|
| tail -n 1 \
|
|
|
|
|
| ${pkgs.gawk}/bin/awk '{ print "⏳ " $2 "/" $4 }'
|
|
|
|
|
'';
|
2020-05-08 11:51:22 +02:00
|
|
|
on_click =
|
|
|
|
|
let
|
|
|
|
|
sleepSeconds = 2.5;
|
|
|
|
|
in pkgs.writers.writeDash "show-tasks" ''
|
|
|
|
|
${pkgs.st}/bin/st -c floating -e ${pkgs.dash}/bin/dash -c "${pkgs.todo-txt-cli}/bin/todo.sh list && sleep ${toString sleepSeconds}"
|
2020-04-23 13:15:34 +02:00
|
|
|
'';
|
|
|
|
|
}
|
2020-05-03 00:17:09 +02:00
|
|
|
{
|
|
|
|
|
block = "custom";
|
|
|
|
|
interval = 30;
|
|
|
|
|
command = pkgs.writers.writeDash "rss-new" ''
|
|
|
|
|
${pkgs.newsboat}/bin/newsboat --execute=print-unread | ${pkgs.gawk}/bin/awk '{ print "📰 " $1 }'
|
|
|
|
|
'';
|
2020-05-08 11:51:22 +02:00
|
|
|
on_click = setsid (pkgs.writers.writeDash "rss-update" ''
|
2020-05-20 20:45:00 +02:00
|
|
|
${pkgs.libnotify}/bin/notify-send --app-name=" Newsboat" "Updating feeds." \
|
2020-05-03 00:17:09 +02:00
|
|
|
&& ${pkgs.newsboat}/bin/newsboat --execute=reload \
|
2020-05-20 20:45:00 +02:00
|
|
|
&& ${pkgs.libnotify}/bin/notify-send --app-name=" Newsboat" "Feeds updated."
|
2020-05-08 11:51:22 +02:00
|
|
|
'');
|
2020-05-03 00:17:09 +02:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "custom";
|
|
|
|
|
interval = 30;
|
|
|
|
|
command = pkgs.writers.writeDash "mail-new" ''
|
|
|
|
|
for dir in /home/kfm/mail/*/Inbox/new
|
|
|
|
|
do
|
2020-05-19 14:58:50 +02:00
|
|
|
new_mail="$(find "$dir" -type f | wc --lines)"
|
|
|
|
|
[ "$new_mail" = 0 ] && printf "📭" || printf "📬"
|
|
|
|
|
echo "$new_mail"
|
|
|
|
|
done | paste --serial --delimiters=" " -
|
2020-05-03 00:17:09 +02:00
|
|
|
'';
|
2020-05-08 11:51:22 +02:00
|
|
|
on_click = setsid (pkgs.writers.writeDash "mail-update" ''
|
2020-05-20 20:45:00 +02:00
|
|
|
${pkgs.libnotify}/bin/notify-send --app-name="📧 MBSync" "Updating email." \
|
|
|
|
|
&& ${pkgs.isync}/bin/mbsync --all \
|
|
|
|
|
&& ${pkgs.libnotify}/bin/notify-send --app-name="📧 MBSync" "Email updated."
|
2020-05-08 11:51:22 +02:00
|
|
|
'');
|
2020-05-03 00:17:09 +02:00
|
|
|
}
|
2019-11-05 21:59:51 +01:00
|
|
|
{
|
|
|
|
|
block = "net";
|
|
|
|
|
device = wifi-interface;
|
|
|
|
|
speed_up = false;
|
|
|
|
|
speed_down = false;
|
2020-01-24 10:09:04 +01:00
|
|
|
signal_strength = true;
|
|
|
|
|
ssid = true;
|
2019-11-05 21:59:51 +01:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "battery";
|
|
|
|
|
device = batteryBlock;
|
|
|
|
|
show = "both";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "sound";
|
2020-01-24 10:09:04 +01:00
|
|
|
on_click = "pavucontrol";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "disk_space";
|
2020-04-22 17:42:45 +02:00
|
|
|
alias = "💽";
|
2019-11-05 21:59:51 +01:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "memory";
|
|
|
|
|
display_type = "memory";
|
|
|
|
|
format_mem = "{MUg}G";
|
|
|
|
|
clickable = false;
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "load";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
block = "time";
|
|
|
|
|
interval = 5;
|
|
|
|
|
format = "%Y-%m-%d %H:%M";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|