diff --git a/.gitignore b/.gitignore index 57940fd..8ad146f 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser +.vscode diff --git a/00-run-as-root.sh b/00-run-as-root.sh new file mode 100755 index 0000000..d952104 --- /dev/null +++ b/00-run-as-root.sh @@ -0,0 +1,15 @@ +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Skript has to be run as root!" + exit 1 +fi + +# Update +apt update && apt upgrade -y + +# Install first important Packages +apt install ca-certificates curl git gpg lsb-release network-manager openssh-server sudo wget + +sudo usermod -aG sudo $USER +sudo usermod -aG sudo root + +echo "Now, you have to relogin for the next scripts to work!" diff --git a/01-apt-configure.sh b/01-apt-configure.sh new file mode 100755 index 0000000..326ebdf --- /dev/null +++ b/01-apt-configure.sh @@ -0,0 +1,23 @@ +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Skript has to be run as root!" + exit 1 +fi + +apt modernize-sources +# Add 32bit-Architecture +dpkg --add-architecture i386 + +# Install my apt-sources +rm /etc/apt/sources.list +rm /etc/apt/sources.list~ +rm /etc/apt/sources.list.bak +rm -r /etc/apt/sources.list.d +mkdir -p /etc/apt/sources.list.d +cp ./data/apt/sources.list.d/* /etc/apt/sources.list.d/ + +# Install my apt-pinning +rm -r /etc/apt/preferences.d +mkdir -p /etc/apt/preferences.d +cp ./data/apt/preferences.d/* /etc/apt/preferences.d/ + +apt update diff --git a/02-execute-as-user.sh b/02-execute-as-user.sh new file mode 100755 index 0000000..b085c90 --- /dev/null +++ b/02-execute-as-user.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sh <(curl -L https://raw.githubusercontent.com/JaKooLit/Debian-Hyprland/main/auto-install.sh) diff --git a/03-install.sh b/03-install.sh new file mode 100755 index 0000000..cd1887d --- /dev/null +++ b/03-install.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Skript has to be run as root!" + exit 1 +fi + +# Install XanModKernel +wget -qO - https://dl.xanmod.org/archive.key | gpg --dearmor -vo /etc/apt/keyrings/xanmod-archive-keyring.gpg +echo "deb [signed-by=/etc/apt/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/xanmod-release.list +apt update && apt install linux-xanmod-x64v3 + +# Install stable-Packages +apt install 7zip apt-listbugs apt-listchanges bleachbit blueman bluetooth bluez btop cava clamav clamav-daemon clamav-docs clamav-freshclam cpupower-gui debian-goodies fastfetch ffmpeg file-roller flatpak fzf gameconqueror gimp gnome-disk-utility gnome-system-monitor grim hunspell hunspell-de-de-frami input-remapper irqbalance keepassxc libreoffice libreoffice-gtk4 libreoffice-l10n-de lsd man mangohud network-manager-gnome nodejs nwg-displays nwg-look okular plymouth plymouth-themes rfkill ripgrep rsync sddm sl slurp steam-installer swappy swaybg tar tealdeer timeshift thunar tree unrar unzip wine winetricks wl-clipboard xdg-user-dirs zsh +# Install backports-Packages +apt install pipewire pipewire-pulse wireplumber +# Install unstable-Packages +apt install gamemode gamescope mesa-utils mesa-vulkan-drivers openrgb + +xdg-mime default okularApplication_pdf.desktop application/pdf + +sudo plymouth-set-default-theme -R solar + +sudo update-initramfs -u +sudo update-grub + +# Add flathub +flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo + +# Install Lutris +echo -e "Types: deb\nURIs: https://download.opensuse.org/repositories/home:/strycore:/lutris/Debian_13/\nSuites: ./\nComponents: \nSigned-By: /etc/apt/keyrings/lutris.gpg" | sudo tee /etc/apt/sources.list.d/lutris.sources > /dev/null +wget -q -O- https://download.opensuse.org/repositories/home:/strycore:/lutris/Debian_13/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/lutris.gpg +sudo apt update +sudo apt install lutris + +# Install Spotify +curl -sS https://download.spotify.com/debian/pubkey_5384CE82BA52C83A.asc | gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg +echo "deb https://repository.spotify.com stable non-free" | tee /etc/apt/sources.list.d/spotify.list +apt update && apt install spotify-client + +# Install Vesktop +wget -O /tmp/vesktop.deb https://vencord.dev/download/vesktop/amd64/deb +apt install /tmp/vesktop.deb +rm /tmp/vesktop.deb + +# Install Floorp +curl -fsSL https://ppa.floorp.app/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/Floorp.gpg +curl -sS --compressed -o /etc/apt/sources.list.d/Floorp.list "https://ppa.floorp.app/Floorp.list" +apt update && apt install floorp + +# Install Codium +wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \ + | gpg --dearmor \ + | dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg +echo -e 'Types: deb\nURIs: https://download.vscodium.com/debs\nSuites: vscodium\nComponents: main\nArchitectures: amd64 arm64\nSigned-by: /usr/share/keyrings/vscodium-archive-keyring.gpg' \ +| tee /etc/apt/sources.list.d/vscodium.sources +apt update && apt install codium + +# Install Waydroid +curl -s https://repo.waydro.id | bash +apt install waydroid +systemctl enable --now waydroid-container + +cp ./data/usr/share/applications/* /usr/share/applications + +# Ollama +curl -fsSL https://ollama.com/install.sh | sh + +# OpenDeck +curl -sSL https://raw.githubusercontent.com/nekename/OpenDeck/main/install_opendeck.sh | bash diff --git a/04-grub.sh b/04-grub.sh new file mode 100755 index 0000000..52aa3a9 --- /dev/null +++ b/04-grub.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +GRUB_CFG="/etc/default/grub" + +GRUB_TIMEOUT=0 +GRUB_TIMEOUT_STYLE=hidden +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1 vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles" +GRUB_CMDLINE_LINUX="rcutree.rcu_idle_gp_delay=1" + +GRUB_THEME_DIR="/usr/share/debian-gaming/grub/grub2-themes" + +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Script has to be run as root!" + exit 1 +fi + +cp "$GRUB_CFG" "$GRUB_CFG.bak" + +sed -i "s|^GRUB_TIMEOUT=.*|GRUB_TIMEOUT=$GRUB_TIMEOUT|" "$GRUB_CFG" +sed -i "s|^GRUB_TIMEOUT_STYLE=.*|GRUB_TIMEOUT_STYLE=$GRUB_TIMEOUT_STYLE|" "$GRUB_CFG" +sed -i "s|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=\"$GRUB_CMDLINE_LINUX_DEFAULT\"|" "$GRUB_CFG" +sed -i "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"$GRUB_CMDLINE_LINUX\"|" "$GRUB_CFG" + +grep -q '^GRUB_TIMEOUT=' "$GRUB_CFG" || echo "GRUB_TIMEOUT=$GRUB_TIMEOUT" >> "$GRUB_CFG" +grep -q '^GRUB_TIMEOUT_STYLE=' "$GRUB_CFG" || echo "GRUB_TIMEOUT_STYLE=$GRUB_TIMEOUT_STYLE" >> "$GRUB_CFG" +grep -q '^GRUB_CMDLINE_LINUX_DEFAULT=' "$GRUB_CFG" || echo "GRUB_CMDLINE_LINUX_DEFAULT=\"$GRUB_CMDLINE_LINUX_DEFAULT\"" >> "$GRUB_CFG" +grep -q '^GRUB_CMDLINE_LINUX=' "$GRUB_CFG" || echo "GRUB_CMDLINE_LINUX=\"$GRUB_CMDLINE_LINUX\"" >> "$GRUB_CFG" + +mkdir -p "$GRUB_THEME_DIR" +git clone https://github.com/vinceliuice/grub2-themes.git "$GRUB_THEME_DIR" +"$GRUB_THEME_DIR/install.sh" -b -t vimix + +sudo update-grub diff --git a/05-config-usrland.sh b/05-config-usrland.sh new file mode 100755 index 0000000..dee4454 --- /dev/null +++ b/05-config-usrland.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Skript has to be run as root!" + exit 1 +fi + +# Copy my profile.d +mkdir -p /etc/profile.d +cp ./data/etc/profile.d/* /etc/profile.d/ + +# Copy Zsh-Files +mkdir -p $HOME/oh-my-zsh/themes +cp ./data/home/zshrc $HOME/zshrc +cp -r ./data/home/oh-my-zsh/themes/* $HOME/oh-my-zsh/themes + +grep -q '^source /etc/profile' /etc/zsh/zprofile || echo 'source /etc/profile' >> /etc/zsh/zprofile + +# copy templates +cp -r ./data/home/templates $HOME/templates + +# set zsh as default shell +USER_ENTRY=$(getent passwd "$USER") +cp /etc/passwd /etc/passwd.bak + +if grep -q "^$USER:" /etc/passwd; then + sed -i "/^$USER:/s|[^:]*$|/bin/zsh|" /etc/passwd +else + UPDATED_ENTRY=$(echo "$USER_ENTRY" | awk -F: -v OFS=: '{ $NF="/bin/zsh"; print }') + echo "$UPDATED_ENTRY" >>/etc/passwd +fi diff --git a/06-fonts.sh b/06-fonts.sh new file mode 100755 index 0000000..108e161 --- /dev/null +++ b/06-fonts.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +FONT_DIR=/usr/share/fonts + +if [ "$(id -u)" -ne 0 ]; then + echo "❌ The Skript has to be run as root!" + exit 1 +fi + +# Install Jetbrains Mono Nerd Font +wget -q https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz +mkdir -p $FONT_DIR/JetBrainsMonoNerd +tar -xJkf JetBrainsMono.tar.xz -C $FONT_DIR/JetBrainsMonoNerd + +# Install Fantasque Mono Nerd Font +wget -q https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FantasqueSansMono.zip +mkdir -p $FONT_DIR/FantasqueSansMonoNerd +unzip -o -q "FantasqueSansMono.zip" -d "$FONT_DIR/FantasqueSansMonoNerd" + +# Install Victor Mono Font +wget -q https://rubjo.github.io/victor-mono/VictorMonoAll.zip +mkdir -p $FONT_DIR/VictorMono +unzip -o -q "VictorMonoAll.zip" -d "$FONT_DIR/VictorMono" + +fc-cache -v + +if [ -d "JetBrainsMono.tar.xz" ]; then + rm -r JetBrainsMono.tar.xz 2>&1 | tee -a "$LOG" +fi diff --git a/07-programs.sh b/07-programs.sh new file mode 100755 index 0000000..e1aeb24 --- /dev/null +++ b/07-programs.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +flatpak install flathub org.gnome.Loupe -y +xdg-mime default org.gnome.Loupe.desktop image/jpeg +xdg-mime default org.gnome.Loupe.desktop image/png + +# Betterbird als Standard-Mail-Programm setzen +flatpak install eu.betterbird.Betterbird -y +xdg-mime default org.betterbird.Betterbird.desktop x-scheme-handler/mailto + +# Simple Scan installieren +flatpak install flathub org.gnome.SimpleScan -y +# Festplattenbelegungsanalyse installieren +flatpak install flathub org.gnome.baobab -y +# Camera installieren +flatpak install flathub org.gnome.Snapshot -y +# Amberol (Musik-Player) installieren +flatpak install flathub io.bassi.Amberol -y +xdg-mime default io.bassi.Amberol.desktop audio/mpeg +xdg-mime default io.bassi.Amberol.desktop audio/x-wav +xdg-mime default io.bassi.Amberol.desktop audio/flac +xdg-mime default io.bassi.Amberol.desktop audio/ogg + +# VLC-Media-Player installieren +flatpak install flathub org.videolan.VLC -y +# Protokolle installieren +flatpak install flathub org.gnome.Logs -y +# Schriftarten-Viewer +flatpak install flathub org.gnome.font-viewer -y +# Taschenrechner +flatpak install flathub org.gnome.Calculator -y +# Texteditor +flatpak install flathub org.gnome.TextEditor -y +xdg-mime default org.gnome.TextEditor.desktop text/plain +xdg-mime default org.gnome.TextEditor.desktop text/x-log +xdg-mime default org.gnome.TextEditor.desktop text/markdown + +# Ente Authenticator +flatpak install flathub io.ente.auth -y +# Cartridges (Gaming) +flatpak install flathub page.kramo.Cartridges -y +# Decoder (QR-Code) +flatpak install flathub com.belmoussaoui.Decoder -y +# Fragments (Torrent) +flatpak install flathub de.haeckerfelix.Fragments -y +# Impressions (Bootsticks) +flatpak install flathub io.gitlab.adhami3310.Impression -y +# Ressources (Task-Manager) +flatpak install flathub net.nokyan.Resources -y +# Obfuscate +flatpak install flathub com.belmoussaoui.Obfuscate -y + +# Flatseal +flatpak install com.github.tchx84.Flatseal -y + +# Flameshot +flatpak install flathub org.flameshot.Flameshot -y +# PrismLauncher +flatpak install flathub org.prismlauncher.PrismLauncher -y +# Bruno +flatpak install flathub com.usebruno.Bruno -y +# Alpaca +flatpak install flathub com.jeffser.Alpaca -y +# Cryptomator +flatpak install flathub org.cryptomator.Cryptomator -y +# Remmina +flatpak install flathub org.remmina.Remmina -y +# Web App Hub +flatpak install flathub org.pvermeer.WebAppHub -y +# Easyeffects (SurroundSound) +flatpak install flathub com.github.wwmm.easyeffects -y +# Musescore +flatpak install flathub org.musescore.MuseScore -y +# Proton Up-QT +flatpak install flathub net.davidotek.pupgui2 -y +# Fluffychat (Matrix) +flatpak install flathub im.fluffychat.Fluffychat -y diff --git a/data/apt/preferences.d/00-default b/data/apt/preferences.d/00-default new file mode 100755 index 0000000..b8bec94 --- /dev/null +++ b/data/apt/preferences.d/00-default @@ -0,0 +1,23 @@ +Package: * +Pin: release n=trixie +Pin-Priority: 500 + +Package: * +Pin: release n=trixie-updates +Pin-Priority: 500 + +Package: * +Pin: release n=trixie-security +Pin-Priority: 500 + +Package: * +Pin: release a=stable +Pin-Priority: 500 + +Package: * +Pin: release a=stable-updates +Pin-Priority: 500 + +Package: * +Pin: release a=stable-security +Pin-Priority: 500 diff --git a/data/apt/preferences.d/10-backports b/data/apt/preferences.d/10-backports new file mode 100755 index 0000000..1eb772b --- /dev/null +++ b/data/apt/preferences.d/10-backports @@ -0,0 +1,19 @@ +Package: * +Pin: release n=trixie-backports +Pin-Priority: 400 + +Package: * +Pin: release a=stable-backports +Pin-Priority: 400 + +Package: pipewire +Pin: release n=trixie-backports +Pin-Priority: 990 + +Package: pipewire-pulse +Pin: release n=trixie-backports +Pin-Priority: 990 + +Package: wireplumber +Pin: release n=trixie-backports +Pin-Priority: 990 diff --git a/data/apt/preferences.d/11-testing b/data/apt/preferences.d/11-testing new file mode 100755 index 0000000..9f9f646 --- /dev/null +++ b/data/apt/preferences.d/11-testing @@ -0,0 +1,7 @@ +Package: * +Pin: release n=trixie-testing +Pin-Priority: 50 + +Package: * +Pin: release a=testing +Pin-Priority: 50 diff --git a/data/apt/preferences.d/20-unstable b/data/apt/preferences.d/20-unstable new file mode 100755 index 0000000..ab30525 --- /dev/null +++ b/data/apt/preferences.d/20-unstable @@ -0,0 +1,27 @@ +Package: * +Pin: release a=unstable +Pin-Priority: 300 + +Package: * +Pin: release n=sid +Pin-Priority: 300 + +Package: gamemode +Pin: release a=unstable +Pin-Priority: 990 + +Package: gamescope +Pin: release a=unstable +Pin-Priority: 990 + +Package: mesa-utils +Pin: release a=unstable +Pin-Priority: 990 + +Package: mesa-vulkan-drivers +Pin: release a=unstable +Pin-Priority: 990 + +Package: openrgb +Pin: release a=unstable +Pin-Priority: 990 diff --git a/data/apt/sources.list.d/debian-backports.sources b/data/apt/sources.list.d/debian-backports.sources new file mode 100755 index 0000000..9eb06b7 --- /dev/null +++ b/data/apt/sources.list.d/debian-backports.sources @@ -0,0 +1,5 @@ +Types: deb deb-src +URIs: http://deb.debian.org/debian/ +Suites: trixie-backports +Components: main contrib non-free non-free-firmware +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg diff --git a/data/apt/sources.list.d/debian-stable.sources b/data/apt/sources.list.d/debian-stable.sources new file mode 100755 index 0000000..f8b217d --- /dev/null +++ b/data/apt/sources.list.d/debian-stable.sources @@ -0,0 +1,12 @@ +Types: deb deb-src +URIs: http://deb.debian.org/debian/ +Suites: trixie trixie-updates +Components: main non-free-firmware non-free contrib +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +Types: deb deb-src +URIs: http://security.debian.org/debian-security/ +Suites: trixie-security +Components: main non-free-firmware non-free contrib +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + diff --git a/data/apt/sources.list.d/debian-unstable.sources b/data/apt/sources.list.d/debian-unstable.sources new file mode 100755 index 0000000..7db8710 --- /dev/null +++ b/data/apt/sources.list.d/debian-unstable.sources @@ -0,0 +1,5 @@ +Types: deb deb-src +URIs: http://deb.debian.org/debian/ +Suites: unstable +Components: main non-free-firmware non-free contrib +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg diff --git a/data/etc/profile.d/00-update-xdg-user-dirs.sh b/data/etc/profile.d/00-update-xdg-user-dirs.sh new file mode 100755 index 0000000..d263d9e --- /dev/null +++ b/data/etc/profile.d/00-update-xdg-user-dirs.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +xdg-user-dirs-update diff --git a/data/etc/profile.d/copy_user_config.sh b/data/etc/profile.d/copy_user_config.sh new file mode 100755 index 0000000..c114f4e --- /dev/null +++ b/data/etc/profile.d/copy_user_config.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +DEFAULT_USR_FOLDER="/usr/share/debian-gaming/home" + +CONFIG_FOLDER="$HOME/.config/" + +CHECK_FILE="$HOME/.config/.debian_gaming_configs_copied" + +TEMPLATES_DIR=$(xdg-user-dir TEMPLATES 2>/dev/null || echo "$HOME/Templates") + +if [ ! -e "$CHECK_FILE" ]; then + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + + if [ -e "$HOME/.oh-my-zsh/themes" ]; then + mv $HOME/.oh-my-zsh/themes $HOME/.oh-my-zsh/.themes.bak + fi + + if [ -e "$HOME/.config" ]; then + mv $HOME/.config $HOME/.config.bak + fi + + if [ -e "$HOME/.zshrc" ]; then + mv $HOME/.zshrc $HOME/.zshrc.bak + fi + + mkdir -p $HOME/.oh-my-zsh/themes + mkdir -p $HOME/.config + + cp -r $DEFAULT_USR_FOLDER/config/* $HOME/.config + cp -r $DEFAULT_USR_FOLDER/oh-my-zsh/themes/* $HOME/.oh-my-zsh/themes + cp -r $DEFAULT_USR_FOLDER/templates/* $TEMPLATES_DIR + cp $DEFAULT_USR_FOLDER/zshrc $HOME/.zshrc + + touch $CHECK_FILE +fi diff --git a/data/etc/profile.d/hide_waydroid_apps.sh b/data/etc/profile.d/hide_waydroid_apps.sh new file mode 100755 index 0000000..0a24e52 --- /dev/null +++ b/data/etc/profile.d/hide_waydroid_apps.sh @@ -0,0 +1,3 @@ +for app in ~/.local/share/applications/waydroid.*.desktop; do + grep -q NoDisplay $app || sed '/^Icon=/a NoDisplay=true' -i $app +done diff --git a/data/etc/profile.d/sbin_in_path.sh b/data/etc/profile.d/sbin_in_path.sh new file mode 100755 index 0000000..43b2385 --- /dev/null +++ b/data/etc/profile.d/sbin_in_path.sh @@ -0,0 +1,10 @@ +if groups | grep -q "\bsudo\b"; then + case ":$PATH:" in + *":/sbin:"*) ;; + *) export PATH="$PATH:/sbin" ;; + esac + case ":$PATH:" in + *":/usr/sbin:"*) ;; + *) export PATH="$PATH:/usr/sbin" ;; + esac +fi diff --git a/data/etc/profile.d/sudo_hint.sh b/data/etc/profile.d/sudo_hint.sh new file mode 100755 index 0000000..7d4ae88 --- /dev/null +++ b/data/etc/profile.d/sudo_hint.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +SUDO_FILE="$HOME/.sudo_as_admin_successful" +HUSH_FILE="$HOME/.hushlogin" +ONE_WEEK_AGO=$(date -d '7 days ago' +%s) + +if [ -e "$SUDO_FILE" ]; then + FILE_MOD_TIME=$(stat -c %Y "$SUDO_FILE") + if [ "$FILE_MOD_TIME" -lt "$ONE_WEEK_AGO" ]; then + rm -f "$SUDO_FILE" + fi +fi + +if [ ! -e "$SUDO_FILE" ] && [ ! -e "$HUSH_FILE" ]; then + case " $(groups) " in + *\ admin\ *|*\ sudo\ *) + if [ -x /usr/bin/sudo ]; then + echo 'To run a command as administrator (user "root"), use "sudo ".' + echo 'See "man sudo_root" for details.' + fi + ;; + esac +fi + diff --git a/data/etc/profile.d/xdg_dirs_desktop_session.sh b/data/etc/profile.d/xdg_dirs_desktop_session.sh new file mode 100755 index 0000000..42dd443 --- /dev/null +++ b/data/etc/profile.d/xdg_dirs_desktop_session.sh @@ -0,0 +1,25 @@ +# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS + +DEFAULT_XDG_CONFIG_DIRS="/etc/xdg" +DEFAULT_XDG_DATA_DIRS="/usr/local/share/:/usr/share/" + +if [ -n "$DESKTOP_SESSION" ]; then + # readd default if was empty + if [ -z "$XDG_CONFIG_DIRS" ]; then + XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS" + fi + if [ -n "${XDG_CONFIG_DIRS##*$DEFAULT_XDG_CONFIG_DIRS/xdg-$DESKTOP_SESSION*}" ]; then + XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS"/xdg-"$DESKTOP_SESSION":"$XDG_CONFIG_DIRS" + fi + export XDG_CONFIG_DIRS + # gnome is already added if gnome-session installed + if [ "$DESKTOP_SESSION" != "gnome" ]; then + if [ -z "$XDG_DATA_DIRS" ]; then + XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS" + fi + if [ -n "${XDG_DATA_DIRS##*/usr/share/$DESKTOP_SESSION*}" ]; then + XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS" + fi + export XDG_DATA_DIRS + fi +fi diff --git a/data/home/templates/Bash-Skript.sh b/data/home/templates/Bash-Skript.sh new file mode 100755 index 0000000..05a7907 --- /dev/null +++ b/data/home/templates/Bash-Skript.sh @@ -0,0 +1,2 @@ +#!/bin/bash + diff --git a/data/home/templates/Calc.ods b/data/home/templates/Calc.ods new file mode 100755 index 0000000..f8dee3e Binary files /dev/null and b/data/home/templates/Calc.ods differ diff --git a/data/home/templates/Markdown-Dokument.md b/data/home/templates/Markdown-Dokument.md new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/data/home/templates/Markdown-Dokument.md @@ -0,0 +1 @@ + diff --git a/data/home/templates/Python-Skript.py b/data/home/templates/Python-Skript.py new file mode 100755 index 0000000..63f77b6 --- /dev/null +++ b/data/home/templates/Python-Skript.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python3 + diff --git a/data/home/templates/Textdokument.txt b/data/home/templates/Textdokument.txt new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/data/home/templates/Textdokument.txt @@ -0,0 +1 @@ + diff --git a/data/home/templates/Writer.odt b/data/home/templates/Writer.odt new file mode 100755 index 0000000..d7df657 Binary files /dev/null and b/data/home/templates/Writer.odt differ diff --git a/data/home/zshrc b/data/home/zshrc new file mode 100755 index 0000000..db107ae --- /dev/null +++ b/data/home/zshrc @@ -0,0 +1,49 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +export ZSH="$HOME/.oh-my-zsh" + +apt_pref='apt' +apt_upgr='upgrade' + +ZSH_THEME="agnosterzak" + +plugins=( + alias-finder + aliases + colored-man-pages + command-not-found + common-aliases + composer + cp + debian + docker + git + jsontools + kitty + python + ssh + symfony + themes + vscode + zsh-autosuggestions + zsh-syntax-highlighting +) + +source $ZSH/oh-my-zsh.sh + + +# Display Pokemon-colorscripts +# Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos +#pokemon-colorscripts --no-title -s -r #without fastfetch +#pokemon-colorscripts --no-title -s -r | fastfetch -c $HOME/.config/fastfetch/config-pokemon.jsonc --logo-type fi> + +# fastfetch. Will be disabled if above colorscript was chosen to install +fastfetch -c $HOME/.config/fastfetch/config-compact.jsonc + +# Set-up icons for files/directories in terminal using lsd +alias ls='lsd' +alias l='ls -l' +alias la='ls -a' +alias lla='ls -la' +alias lt='ls --tree' diff --git a/data/usr/share/applications/spotify.desktop b/data/usr/share/applications/spotify.desktop new file mode 100755 index 0000000..8122caf --- /dev/null +++ b/data/usr/share/applications/spotify.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Spotify +Exec=/usr/bin/spotify +Icon=spotify-client +Terminal=false +Type=Application +Categories=Audio;Music; diff --git a/plan b/plan new file mode 100755 index 0000000..a8b97a3 --- /dev/null +++ b/plan @@ -0,0 +1,60 @@ +Debian Paketquellen installieren -> sources nach /etc/apt/sources.list.d + +sudo apt install git sudo network-manager software-properties-common wget curl + +XanMod Kernel - Repo + Keyring installieren -> https://xanmod.org +Apt-Pinning konfigurieren + +sudo apt update + +sudo apt install apt-listbugs apt-listchanges +apt policy hyprland wlroots wayland wayland-protocols mesa +=> wayland -> trixie + mesa -> trixie-backports + hyprland -> unstable + +sudo apt install linux-xanmod-x64v3 +sudo apt install -t trixie-backports mesa mesa-vulkan-drivers gamemode gamescope mangohud pipewire pipewire-pulse wireplumber +sudo apt install -t unstable hyprland wlroots wayland-protocols xdg-desktop-portal-wlr rofi-wayland waybar ags +sudo apt install grim slurp wl-clipboard swaybg irqbalance cpupower timeshift zsh 7zip unrar unzip codium fzf rg rsync clamav clamav-freshclam clamav-docs libclamunrar9 clamav-daemon flatpak rfkill xdg-user-dirs tree bluetooth bleachbit network-manager-gnome steam-installer libreoffice tealdeer gnome-disk-utility gnome-system-monitor keepassxc +sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo + +Lutris installieren +Spotify installieren +-> Spotify .desktop-Datei hinterlegen +Waydroid installieren + +sudo apt update +sudo apt upgrade + +Grub-Config anpassen +-> GRUB_TIMEOUT=0 +-> GRUB_TIMEOUT_STYLE=hidden +-> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1 vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles" +-> GRUB_CMDLINE_LINUS="rcutree.rcu_idle_gp_delay=1" + +Grub-Theme installieren +Plymouth installieren (Theme = Spinner) + +update-grub + +./etc/profile.d entsprechend kopieren + +OhMyZsh installieren +-> sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" +./home/.zshrc entsprechend kopieren +./home/.oh-my-zsh/themes entsprechend kopieren +source /etc/profile in /etc/zsh/zprofile einfügen + +Shell des Users auf ZSH setzen + +Portmaster installieren + +Floorp installieren + +Standardvorlagen hinterlegen + +.config Ordner ziehen und hinterlegen + +sudo timeshift --create --comments "initial install" --tags D +