aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop/hjem/wm/sway.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-04-09 13:14:01 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-04-09 13:14:01 -0500
commit21de12cd6e63adf463674942f1a8f9b658f47945 (patch)
tree5229a5300c1e69d637a1e03539dc19de42244440 /modules/desktop/hjem/wm/sway.nix
parent2147a65b5ff7cef352d95dfa72c705145771f3a3 (diff)
jta changes
Diffstat (limited to 'modules/desktop/hjem/wm/sway.nix')
-rw-r--r--modules/desktop/hjem/wm/sway.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/desktop/hjem/wm/sway.nix b/modules/desktop/hjem/wm/sway.nix
index a0bfa4e..441670b 100644
--- a/modules/desktop/hjem/wm/sway.nix
+++ b/modules/desktop/hjem/wm/sway.nix
@@ -6,6 +6,54 @@
}: let
cfg = config.collinux.desktop.wm.sway;
+ batteryNotify = pkgs.writeShellApplication {
+ name = "battery-notify";
+ runtimeInputs = [
+ pkgs.coreutils
+ pkgs.libnotify
+ ];
+ text = ''
+ energy_now=$(cat /sys/class/power_supply/BAT0/energy_now)
+ energy_full=$(cat /sys/class/power_supply/BAT0/energy_full)
+ percentage=$((energy_now * 100 / energy_full))
+ percent_display=$(printf "%.0f%%" "$percentage")
+
+ notify-send \
+ -t 2000 \
+ -h int:value:"$percentage" \
+ -h string:x-dunst-stack-tag:battery \
+ "Battery" \
+ "$percent_display"
+ '';
+ };
+
+ powerMenu = pkgs.writeShellApplication {
+ name = "power-menu";
+ runtimeInputs = [
+ pkgs.fuzzel
+ pkgs.systemd
+ pkgs.sway
+ ];
+ text = ''
+ selection=$(printf '%s\n' logout suspend reboot shutdown | fuzzel --dmenu --prompt "power: ")
+
+ case "$selection" in
+ logout)
+ swaymsg exit
+ ;;
+ suspend)
+ systemctl suspend
+ ;;
+ reboot)
+ systemctl reboot
+ ;;
+ shutdown)
+ systemctl poweroff
+ ;;
+ esac
+ '';
+ };
+
settings = with config.collinux.palette; ''
exec {
${config.collinux.desktop.wallpaper_cmd}
@@ -59,7 +107,9 @@
Mod4+Return exec foot
Mod4+Space exec fuzzel
+ Mod4+Escape exec '${powerMenu}/bin/power-menu'
Mod4+b exec firefox
+ Mod4+k exec '${batteryNotify}/bin/battery-notify'
Mod4+w exec '${pkgs.iwmenu}/bin/iwmenu -l fuzzel -i font -s 2'
Mod4+e exec '${pkgs.bzmenu}/bin/bzmenu -l fuzzel -i font -s 2'