62 lines
1.8 KiB
Nix
62 lines
1.8 KiB
Nix
# File runned at startup by Hyprland
|
|
{ pkgs, config, ... }:
|
|
let
|
|
homedir = config.home.homeDirectory;
|
|
|
|
battery-notif = pkgs.writeShellScriptBin "battery-notif" ''
|
|
# Send notifications when low on battery and not in charge
|
|
while true; do
|
|
battery_level=$(cat /sys/class/power_supply/BAT*/capacity)
|
|
battery_status=$(cat /sys/class/power_supply/BAT*/status)
|
|
if [[ $battery_level -le 20 ]] && [[ $battery_status == "Discharging" ]]; then
|
|
${pkgs.libnotify}/bin/notify-send " Low battery" "Battery level is $battery_level%"
|
|
elif [[ $battery_level -le 10 ]] && [[ $battery_status == "Discharging" ]]; then
|
|
${pkgs.libnotify}/bin/notify-send --urgency=critical " Very low battery" "Battery level is $battery_level%"
|
|
fi
|
|
sleep 60
|
|
done
|
|
'';
|
|
|
|
nextcloud-watch = pkgs.writeShellScriptBin "nextcloud-watch" ''
|
|
# Start nextcloud if I'm on my networks
|
|
while true;do
|
|
ssid=$(nmcli -t -f name connection show --active | head -n1)
|
|
status=$(pgrep -n nextcloud)
|
|
if [[ -z $status ]]; then
|
|
service_status="inactive"
|
|
else
|
|
service_status="active"
|
|
fi
|
|
|
|
if [[ $ssid == "inthecloud" || $ssid == "Wired connection 2" ]]; then
|
|
if [[ $service_status == "inactive" ]]; then
|
|
${pkgs.nextcloud-client}/bin/nextcloud --background
|
|
fi
|
|
else
|
|
if [[ $service_status == "active" ]]; then
|
|
pkill nextcloud
|
|
fi
|
|
fi
|
|
sleep 120
|
|
done
|
|
'';
|
|
|
|
startup = pkgs.writeShellScriptBin "startup" ''
|
|
# Because HM enabling services suck.
|
|
|
|
systemctl --user start sops-nix
|
|
|
|
nextcloud-watch &
|
|
battery-notif &
|
|
${pkgs.waybar}/bin/waybar &
|
|
'';
|
|
|
|
in {
|
|
home.packages = with pkgs; [
|
|
startup
|
|
battery-notif
|
|
nextcloud-watch
|
|
nextcloud-client
|
|
];
|
|
}
|