zaneyos/config/scripts/wallsetter.nix

47 lines
1.3 KiB
Nix
Raw Normal View History

2024-01-11 05:03:15 +01:00
{ pkgs }:
pkgs.writeShellScriptBin "wallsetter" ''
2024-01-16 23:13:07 +01:00
TIMEOUT=120
2024-01-16 22:54:53 +01:00
OSRELEASE=$(cat /etc/os-release | grep nixos | shuf -n 1)
FILETYPE="l"
2024-01-15 23:04:30 +01:00
TRANSITION1="--transition-type wave --transition-angle 120 --transition-step 30"
TRANSITION2="--transition-type wipe --transition-angle 30 --transition-step 30"
TRANSITION3="--transition-type center --transition-step 30"
TRANSITION4="--transition-type outer --transition-pos 0.3,0.8 --transition-step 30"
TRANSITION5="--transition-type wipe --transition-angle 270 --transition-step 30"
2024-01-11 05:03:15 +01:00
2024-01-16 23:07:13 +01:00
[[ ! -z "$OSRELEASE" ]] && FILETYPE="l" || FILETYPE="f"
2024-01-16 22:54:53 +01:00
WALLPAPER=$(find $HOME/Pictures/Wallpapers -type $FILETYPE | shuf -n 1)
PREVIOUS=$WALLPAPER
2024-01-15 23:04:30 +01:00
while true;
do
if [ $WALLPAPER == $PREVIOUS ]
then
2024-01-16 22:54:53 +01:00
WALLPAPER=$(find $HOME/Pictures/Wallpapers -type $FILETYPE | shuf -n 1)
2024-01-15 23:04:30 +01:00
else
PREVIOUS=$WALLPAPER
NUM=$(shuf -i 1-5 -n 1)
case $NUM in
1)
TRANSITION=$TRANSITION1
;;
2)
TRANSITION=$TRANSITION2
;;
3)
TRANSITION=$TRANSITION3
;;
4)
TRANSITION=$TRANSITION4
;;
5)
TRANSITION=$TRANSITION5
;;
esac
${pkgs.swww}/bin/swww img $WALLPAPER $TRANSITION
2024-01-16 22:54:53 +01:00
sleep $TIMEOUT
2024-01-15 23:04:30 +01:00
fi
done
2024-01-11 05:03:15 +01:00
''