wip: dnsc-machine setup

This commit is contained in:
Dennis Schoepf 2025-11-23 17:08:17 +01:00
parent ffead91f28
commit dfc586c85e
8 changed files with 158 additions and 57 deletions

View file

@ -0,0 +1,7 @@
{ config, ... }:
{
xdg.configFile."awww/bin" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/dev/nix-config/modules/wm/awww/scripts";
};
}

View file

@ -0,0 +1,28 @@
#!/bin/sh
# Changes the wallpaper to a randomly chosen image in a given directory
# at a set interval.
DEFAULT_INTERVAL=300 # In seconds
if [ $# -lt 1 ] || [ ! -d "$1" ]; then
printf "Usage:\n\t\e[1m%s\e[0m \e[4mDIRECTORY\e[0m [\e[4mINTERVAL\e[0m]\n" "$0"
printf "\tChanges the wallpaper to a randomly chosen image in DIRECTORY every\n\tINTERVAL seconds (or every %d seconds if unspecified)." "$DEFAULT_INTERVAL"
exit 1
fi
# See awww-img(1)
RESIZE_TYPE="fit"
export AWWW_TRANSITION_FPS="${AWWW_TRANSITION_FPS:-60}"
export AWWW_TRANSITION_STEP="${AWWW_TRANSITION_STEP:-2}"
while true; do
find "$1" -type f \
| while read -r img; do
echo "$(</dev/urandom tr -dc a-zA-Z0-9 | head -c 8):$img"
done \
| sort -n | cut -d':' -f2- \
| while read -r img; do
awww img --resize="$RESIZE_TYPE" "$img"
sleep "${2:-$DEFAULT_INTERVAL}"
done
done