dotfiles/base/.config/systemd/user/autocategorize

90 lines
2.2 KiB
Bash
Executable File

#! /bin/sh
set -e
# Pull in user-dirs.dirs if it exists
userdirs="${XDG_CONFIG_DIR:-$HOME/.config}"/user-dirs.dirs
[ -f "$userdirs" ] && . "$userdirs"
# Obtain download directory from there, otherwise use default
downloaddir="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
documentsdir="${XDG_DOCUMENTS_DIR:-$HOME/Documents}"
picturesdir="${XDG_PICTURES_DIR:-$HOME/Pictures}"
videosdir="${XDG_VIDEOS_DIR:-$HOME/Videos}"
# If we have Nextcloud installed, this will be our backups dir
backupsdir="${HOME}/Nextcloud/Backups"
# Take loose crap out of the home folder
echo "Sorting away videos from homedir..."
find "$HOME" \
-maxdepth 1 \
-type f \
\( \
-iname "*.mov" -or \
-iname "*.webm" -or \
-iname "*.mkv" -or \
-iname "*.mp4" \
\) \
-print \
-exec mv {} "$videosdir" \;
echo "Sorting away pictures from homedir..."
find "$HOME" \
-maxdepth 1 \
-type f \
\( \
-iname "*.jpg" -or \
-iname "*.jpeg" -or \
-iname "*.gif" -or \
-iname "*.png" -or \
-iname "*.webp" \
\) \
-print \
-exec mv {} "$picturesdir" \;
# Sort out downloads
[ -e "$downloaddir" ] && {
# Sort out epubs
if [ -d ~/Books ]; then
echo "Sorting out books..."
find "$downloaddir" \
-type f \
\( \
-iname "*.epub" -or \
-iname "*.mobi" \
\) \
-print \
-exec mv {} ~/Books \;
fi
# Remove RDP stuffs
echo "Removing RDP zone identifiers..."
find "$downloaddir" \
-type f -iname "*:Zone.Identifier" \
-print -delete
# Remove anything that's wicked old
echo "Removing ancient downloads..."
find "$downloaddir" \
-mtime +60 \
-print -delete
# Remove anything kinda old but really big
echo "Removing large downloads..."
find "$downloaddir" \
-mtime +30 -size +10M \
-print -delete
# Remove zips, but at a lower tolerance
echo "Removing old zips..."
find "$downloaddir" \
-mtime +30 -type f -iname "*.zip" \
-print -delete
# Sort out Super Turtle Idle automatic backups
[ -d "$backupsdir" ] && {
echo "Sorting out turtle backups..."
mkdir -p "$backupsdir/SuperTurtleIdle"
for file in "$downloaddir"/SuperSaveData-*.json; do
if [ -e "$file" ]; then
lastmod="$(stat -c %y -- "$file")"
echo "Moving backup from $lastmod"
mv "$file" "$backupsdir/SuperTurtleIdle/SuperSaveData-$lastmod.json"
fi
done
}
}