#! /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}" # 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 anything that's wicked old echo "Removing ancient downloads..." find "$downloaddir" \ -mtime +180 \ -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 }