Compare commits

...

2 Commits

Author SHA1 Message Date
Rachel Lambda Samuelsson 02d29fb799 battery warning 2024-03-12 11:59:27 +01:00
Rachel Lambda Samuelsson 0da2b3060f mjau 2024-03-12 10:42:17 +01:00
4 changed files with 119 additions and 16 deletions

10
home/light.sh 100644
View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
msgTag="lightdunst"
brightnessctl set "$1"
light="$(brightnessctl -m | cut -d, -f4)"
dunstify -a "changeLight" -u low \
-h string:x-dunst-stack-tag:$msgTag \
-h int:value:"$light" "Brightness: $light"

View File

@ -8,8 +8,9 @@ let username = "rachel";
exec ${hpkgs.haskell-language-server}/bin/haskell-language-server-wrapper "$@"
'';
rzk = hpkgs.rzk;
in
{
vol = pkgs.writeScript "vol" (builtins.readFile ./vol.sh);
light = pkgs.writeScript "light" (builtins.readFile ./light.sh);
in rec {
home = {
username = username;
homeDirectory = homeDir;
@ -86,7 +87,10 @@ in
lean4
slippi-netplay
xwallpaper
networkmanagerapplet
blueberry
pulseaudio
brightnessctl
maim
];
file.".config/berry/autostart" = {
source = ./berry_config;
@ -471,10 +475,12 @@ in
sxhkd = {
enable = true;
package = pkgs.sxhkd;
extraOptions = [ "-m 1" ];
keybindings = {
"super + Return" = "alacritty";
"super + BackSpace" = "firefox";
"super + r" = "rofi -show run";
"super + r" = "rofi -show drun";
"super + p" = "cpypsk";
"super + l" = "betterlockscreen -l";
"super + Left" = "berryc snap_left";
@ -483,15 +489,15 @@ in
"super + {1,2,3,4}" = "berryc switch_workspace {0,1,2,3}";
"super + shift + {1,2,3,4}" = "berryc send_to_workspace {0,1,2,3}";
"super + f" = "berryc fullscreen_state";
"super + {h,j,k,l}" = "berryc cardinal_focus {2,3,1,0}";
"alt + Tab" = "berryc cycle_focus";
"~button1" = "berryc pointer_focus";
"Print" = "${pkgs.maim}/bin/maim -s ~/img/scrot$(date +%s).png";
"XF86AudioMute" = "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioRaiseVolume" = "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86MonBrightnessUp" = "${pkgs.brightnessctl}/bin/brightnessctl set 5%+";
"XF86MonBrightnessDown" = "${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
"~Escape" = "dunstctl close-all";
"Print" = "maim -s ~/img/scrot$(date +%s).png";
"XF86AudioMute" = "${vol} mute";
"XF86AudioRaiseVolume" = "${vol} +5%";
"XF86AudioLowerVolume" = "${vol} -5%";
"XF86MonBrightnessUp" = "${light} 5%+";
"XF86MonBrightnessDown" = "${light} 5%-";
};
};
@ -508,10 +514,71 @@ in
dunst = {
enable = true;
settings = {
volume = {
appname = "changeVolume";
history_ignore = "yes";
};
light = {
appname = "changeLight";
history_ignore = "yes";
};
};
};
network-manager-applet = {
enable = true;
};
betterlockscreen = {
enable = true;
};
};
systemd.user= {
timers = {
battery-check = {
Unit.Description = "Warn at low battery levels";
Timer = {
OnBootSec = "1min";
OnUnitActiveSec = "30s";
Unit = "battery-check.service";
};
};
};
services = {
battery-check = {
Unit.Description = "Warn at low battery levels";
Service = let batMon = pkgs.writeShellScript "botMon" ''
PATH="$PATH:${pkgs.lib.makeBinPath [
pkgs.acpi
pkgs.dunst
pkgs.gnugrep
pkgs.gawk
pkgs.systemd
]}"
acpi -b | grep "Battery 0" | awk -F'[,:%]' '{print $2, $3}' | {
read -r status capacity
if [ "$status" = Discharging -a "$capacity" -lt 2 ]; then
dunstify -u critical -a batMon \
-h string:x-dunst-stack-tag:batMon \
-h int:value:"$capacity" "Battery Critical: ''${capacity}%
Hibernating"
sleep 5
systemctl hibernate
elif [ "$status" = Discharging -a "$capacity" -lt 5 ]; then
dunstify -u critical -a batMon \
-h string:x-dunst-stack-tag:batMon \
-h int:value:"$capacity" "Battery Critical: ''${capacity}%"
fi
}
'';
in {
ExecStart = "${batMon}";
};
};
};
};
}

23
home/vol.sh 100644
View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
msgTag="voldunst"
case "$1" in
mute)
pactl set-sink-mute @DEFAULT_SINK@ toggle > /dev/null
;;
*)
pactl set-sink-volume @DEFAULT_SINK@ "$1" > /dev/null
;;
esac
volume="$(pactl get-sink-volume @DEFAULT_SINK@ | head -1 | awk '{ print $5 }')"
mute="$(pactl get-sink-mute @DEFAULT_SINK@ | cut -d' ' -f2)"
if [[ $volume == "0%" || "$mute" == "yes" ]]; then
dunstify -a "changeVolume" -u low \
-h string:x-dunst-stack-tag:$msgTag "Volume muted"
else
dunstify -a "changeVolume" -u low \
-h string:x-dunst-stack-tag:$msgTag \
-h int:value:"$volume" "Volume: ${volume}"
fi

View File

@ -10,9 +10,12 @@ if command -v dbus-update-activation-environment >/dev/null 2>&1; then
fi
xwallpaper --zoom "$HOME"/img/wallpaper
nm-applet &
polybar &
sxhkd &
picom &
dusnt &
systemctl stop --user sxhkd.scope
systemd-cat -t sxhkd systemd-run --user --scope --property=OOMPolicy=continue -u sxhkd sxhkd -m 1 &
systemctl restart --user dunst
systemctl restart --user picom
systemctl restart --user polybar
systemctl restart --user network-manager-applet
systemctl restart --user battery-check.timer
exec berry