Files
LMDE/LMDE_SetupHome.sh
2025-04-10 11:44:33 +02:00

191 lines
5.7 KiB
Bash

#!/bin/sh
#
if [ ! -f /etc/debian_version ]; then
echo "Unsupported Linux Distribution. Prepared for Debian"
exit 1
fi
################################################################################
#
#
# Setup Home Linux Mint / LMDE / Debian
#
#
################################################################################
#
# Setup Dirs
rm -R /home/$USER/Dokumente
rm -R /home/$USER/Musik
rm -R /home/$USER/Videos
rm -R /home/$USER/Öffentlich
mkdir -p /home/$USER/Android
mkdir -p /home/$USER/Android/Backup-Android
mkdir -p /home/$USER/Android/Redmi_Note
mkdir -p /home/$USER/Android/Tablet
mkdir -p /home/$USER/Android/Teracube
mkdir -p /home/$USER/Applications
mkdir -p /home/$USER/Ansible
mkdir -p /home/$USER/Backup
mkdir -p /home/$USER/Backup/Software
mkdir -p /home/$USER/Backup/rotate
mkdir -p /home/$USER/GIT
mkdir -p /home/$USER/Games
mkdir -p /home/$USER/Games/Bottles
mkdir -p /home/$USER/Games/GOG
mkdir -p /home/$USER/Games/Lutris
mkdir -p /home/$USER/Games/Heroic
mkdir -p /home/$USER/MyStuff/MyGit
mkdir -p /home/$USER/MyStuff
mkdir -p /home/$USER/MyStuff/01Work
mkdir -p /home/$USER/MyStuff/02KeepassXC
mkdir -p /home/$USER/MyStuff/03CherryTree
mkdir -p /home/$USER/MyStuff/04CryptBox
mkdir -p /home/$USER/MyStuff/Dokumente
mkdir -p /home/$USER/MyStuff/Scripte
mkdir -p /home/$USER/MyStuff/Diba-Konto
mkdir -p /home/$USER/MyStuff/Mail-Archiv
mkdir -p /home/$USER/MyStuff/02KeepassXC
mkdir -p /home/$USER/MyStuff/PC+Netzwerk
mkdir -p /home/$USER/MyStuff/Paperwork
mkdir -p /home/$USER/ownCloud
mkdir -p /home/$USER/ownCloud/Arbeit
mkdir -p /home/$USER/ownCloud/FileDrop
mkdir -p /home/$USER/ownCloud/Upload
mkdir -p /home/$USER/Share-Cloud
mkdir -p /home/$USER/Share-Priv
mkdir -p /home/$USER/Share-SMB
mkdir -p /home/$USER/Share-VM
mkdir -p /home/$USER/Sync
#ln -sf /home/$USER/MyStuff/Dokumente ~/Dokumente
#ln -sf /home/$USER/MyStuff/01Work /home/$USER/Schreibtisch/Work
# Setup config aacs
mkdir -p /home/$USER/.config/aacs/
cd /home/$USER/.config/aacs/ && wget --no-check-certificate http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg
cat > /home/$USER/.profile <<"EOF"
export GTK_THEME=Arc-Dark
EOF
## Hide the plank icon from plank:
gsettings set net.launchpad.plank.dock.settings:/net/launchpad/plank/docks/dock1/ show-dock-item false
## Papierkorb automatisch leeren, wenn Inhalt älter als 3 Tage:
gsettings set org.gnome.desktop.privacy old-files-age "3"
gsettings set org.gnome.desktop.privacy remove-old-trash-files true
## Maximales Alter der Daten im Thumbnail-Cache in Tagen:
gsettings set org.gnome.desktop.thumbnail-cache maximum-age 14
## Maximale Größe des Thumbnail-Caches in MB:
gsettings set org.gnome.desktop.thumbnail-cache maximum-size 256
# Setup ~/.fonts.conf
# This will enable subpixel-hinting and font-smoothing.
# Now just restart X.org (log out, then back in again).
# Read more here:
# https://wiki.debian.org/Fonts
cat > /home/$USER/.fonts.conf <<"EOF"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
EOF
cat > /home/$USER/.rsync-exclude <<"EOF"
- Downloads
- Games
- Share-Cloud
- Share-Priv
- Share-SMB
- Share-VM
- Sync
- VM-Image
- Code Cache
- cache*
- Cache*
- Cache_*
- *_cache
- *Cache
- DawnGraphiteCache
- log*
- logs
- tmp
- Trash
+ .config
- .config/syncthing
- .config/unity3d
- .config/ownCloud
+ .local
- .local/state
- .local/share/containers
- .local/share/flatpak
- .local/share/keyrings
- .local/share/nomic.ai
- .local/share/Steam
+ .jd2
+ .conkyrc
- .*
- *.LOG
- LOG
- *.old
EOF
cat > /home/$USER/.rsync-backup <<"EOF"
#!/bin/sh
#
################################################################################
#
# Push Home Zulumann to Fileserver01/Backup/$HOSTNAME/
#
################################################################################
# -a (Kurzversion für --archive): gleiche Bedeutung wie -rlptgoD
# -r (Kurzversion für --recursive): Unterverzeichnisse kopieren
# -l (Kurzversion für --links): symbolische Links kopierenrsync
# -p (Kurzversion für --perms): Rechte der Quelldatei beibehalten
# -t (Kurzversion für --times): Zeiten der Quelldatei beibehalten
# -g (Kurzversion für --group): Gruppenrechte der Quelldatei beibehalten
# -o (Kurzversion für --owner): Besitzrechte der Quelldatei beibehalten (nur als root User möglich)
# -D (Kurzversion für --devices --specials): Gerätedateien der Quelldatei beibehalten (nur als root User möglich)
# -v (Kurzversion für --verbose): zeigt während der Ausführung an welche Dateien synchronisiert werden
# -z
# --delete: entfernt Dateien im Zielverzeichnis die mittelerweile im Quellverzeichnis nicht mehr vorhanden sind
# rsync --dry-run
################################################################################
# rsync -rdt rsync://192.168.10.52/
#
source=/home/$USER/
destination=rsync://192.168.10.52:873/Backup/$HOSTNAME/
exlude=/home/$USER/.rsync-exlude
output=/home/$USER/.rsync-backup.log
trash=01rsync-trash
rsync -a -v --exclude-from="${exlude}" --delete --progress --partial "${source}" "${destination}" -b --backup-dir="${trash}" 2>&1 | tee "${output}"
EOF