#!/bin/bash
#
set -ex

if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 1>&2
    sudo "$0" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
    exit 0
fi
echo "Als root Angemeldet"
#

VERSION_ID=$(cat /etc/os-release | grep "ID")
RCLOCAL='/etc/rc.local'
RCLOCALSHUTDOWN='/etc/rc.local.shutdown'
SYSCTL='/etc/sysctl.conf'
WEBADDRESS="ssh://git@192.168.178.21:30022/home/git/SpectreOS"
WEBADDRESS1="ssh://git@192.168.178.21:30022/home/git/shell-scripte"
SUDOERS="/etc/sudoers"
repo="SpectreOS"
repo1="shell-scripte"
version="$1"
username="$2"
userpass="$3"
archchroot="$4"

hostname="$(cat /etc/hostname)"
[[ -z "${version}" ]] && version="${hostname#*-}"
[[ -z "${username}" ]] && username="user1"
[[ -z "${userpass}" ]] && userpass="user1"

function gitclone() {
    if [ -d "/opt/${repo}" ]; then
        echo "${repo} existiert bereits!!!"
        cd /opt/${repo}
        git pull
    else
        git clone ${WEBADDRESS} /opt/${repo}
    fi
    if [ -d "/opt/${repo1}" ]; then
        echo "${repo1} existiert bereits!!!"
        cd /opt/${repo1}
        git pull
    else
        git clone ${WEBADDRESS1} /opt/${repo1}
    fi
    cd /
}


function yaourtmanagerinstall() {

    cd /home/"$username"/
    pwd
    su "$username" -c "curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz"
    pwd
    su "$username" -c "tar -xvzf package-query.tar.gz"
    pwd
    cd package-query
    pwd
    su "$username" -c "makepkg -si --skipchecksums --skippgpcheck --nocheck --noconfirm --install --needed"
    pwd
    cd ..
    pwd
    su "$username" -c "curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz"
    pwd
    su "$username" -c "tar -xvzf yaourt.tar.gz"
    pwd
    cd yaourt
    pwd
    su "$username" -c "makepkg -si --skipchecksums --skippgpcheck --nocheck --noconfirm --install --needed"
    pwd
    cd /

}

function pacaurmanagerinstall() {

    cd /home/"$username"/
    pwd
    if [ -d /home/"$username"/cower ];then
        echo "Bereits vorhanden!!!"
        cd /home/"$username"/cower
        su "$username" -c "git pull"
        cd ..
    else
        su "$username" -c "git clone https://aur.archlinux.org/cower.git"
    fi
    pwd
    cd cower
    pwd
    su "$username" -c "makepkg -si --skipchecksums --skippgpcheck --nocheck --noconfirm --install --needed"
    pwd
    cd ..
    pwd
    if [ -d /home/"$username"/pacaur ];then
        echo "Bereits vorhanden!!!"
        cd /home/"$username"/pacaur
        su "$username" -c "git pull"
        cd ..
    else
        su "$username" -c "git clone https://aur.archlinux.org/pacaur.git"
    fi
    pwd
    cd pacaur
    pwd
    su "$username" -c "makepkg -si --skipchecksums --skippgpcheck --nocheck --noconfirm --install --needed"
    pwd
    cd /

}

function aurmanagerinstall() {

    cd /home/"$username"/
    pwd
    if [ -d /home/"$username"/aurman ];then
        echo "Bereits vorhanden!!!"
        cd /home/"$username"/aurman
        su "$username" -c "git pull"
        cd ..
    else
        su "$username" -c "git clone https://aur.archlinux.org/aurman.git"
    fi
    pwd
    cd aurman
    pwd
    su "$username" -c "makepkg -si --skipchecksums --skippgpcheck --nocheck --noconfirm --install --needed"
    pwd
    cd /

}


function yaourtinstall() {
    su "$username" -c "yaourt -S $1 --needed --noconfirm"
}

function aurinstall() {
    su "$username" -c "aurman -S $1 --needed --noconfirm --noedit"
}

function standartinstallation() {
    pacman -Syu $(cat /opt/${repo}/packages_${version}.txt) --needed --noconfirm
}

function ldconfigcache() {
    rm /etc/ld.so.cache
    ldconfig
}

function addusers() {
    useradd -m -g users -G wheel,audio,video,sys,optical -s /bin/bash $username
    passwd ${username} <<EOT
${userpass}
${userpass}
EOT
    mkdir -p /home/"$username"/
    userrechte

    # sudoers/wheel

    echo "Lege $SUDOERS neu an!!!"

    echo "root ALL=(ALL) NOPASSWD: ALL" > $SUDOERS

    echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> $SUDOERS


}

function copyconfig() {
    cp -aRv /root/. /home/"$username"/
    #links
    links
    userrechte
    rootrechte
}

function userrechte() {
    #user
    chown -cR -v "$username":users /home/"$username"
    chmod 750 -Rv /home/"$username"
    #ssh
    if [ -d /home/"$username"/.ssh ]; then
        chmod 700 /home/"$username"/.ssh
    fi
    if [ -f /home/"$username"/.ssh/id_rsa ]; then
        chmod 600 /home/"$username"/.ssh/id_rsa
    fi
    if [ -f /home/"$username"/.ssh/authorized_keys ]; then
        chmod 600 /home/"$username"/.ssh/authorized_keys
    fi

}

function rootrechte() {
    #root
    chmod 750 -Rv /root
    #ssh-root
    if [ -d /root/.ssh ]; then
        chmod 700 /root/.ssh
    fi
    if [ -f /root/.ssh/id_rsa ]; then
        chmod 600 /root/.ssh/id_rsa
    fi
    if [ -f /root/.ssh/authorized_key ]; then
        chmod 600 /root/.ssh/authorized_keys
    fi

}

function links() {
    #
    mkdir -p /home/"$username"/Schreibtisch/
    if [ -f "/usr/share/applications/arch-install.desktop" ]; then
        if [ -f "/home/"$username"/Schreibtisch/arch-install.desktop" ]; then
            echo "datei existiert bereits!"
        else
            ln -s /usr/share/applications/arch-install.desktop /home/"$username"/Schreibtisch/arch-install.desktop
        fi
        #chmod +x /home/"$username"/Schreibtisch/arch-install.desktop
    fi
    #
    mkdir -p /root/Schreibtisch/
    if [ -f "/usr/share/applications/arch-install.desktop" ]; then
        if [ -f "/root/Schreibtisch/arch-install.desktop" ]; then
            echo "datei existiert bereits!"
        else
            ln -s /usr/share/applications/arch-install.desktop /root/Schreibtisch/arch-install.desktop
        fi
        #chmod +x /root/Schreibtisch/arch-install.desktop
    fi
    #
    mkdir -p /home/"$username"/Desktop/
    if [ -f "/usr/share/applications/arch-install.desktop" ]; then
        if [ -f "/home/"$username"/Desktop/arch-install.desktop" ]; then
            echo "datei existiert bereits!"
        else
            ln -s /usr/share/applications/arch-install.desktop /home/"$username"/Desktop/arch-install.desktop
        fi
        #chmod +x /home/"$username"/Desktop/arch-install.desktop
    fi
    #
    mkdir -p /root/Desktop/
    if [ -f "/usr/share/applications/arch-install.desktop" ]; then
        if [ -f "/root/Desktop/arch-install.desktop" ]; then
            echo "datei existiert bereits!"
        else
            ln -s /usr/share/applications/arch-install.desktop /root/Desktop/arch-install.desktop
        fi
        #chmod +x /root/Desktop/arch-install.desktop
    fi
}

function gnomeconfig() {
    mkdir -p /root/.config/gtk-3.0/
    echo "[Settings]" > /root/.config/gtk-3.0/settings.ini
    echo "gtk-theme-name = Adwaita" >> /root/.config/gtk-3.0/settings.ini
    echo "# next option is applicable only if selected theme supports it" >> /root/.config/gtk-3.0/settings.ini
    echo "gtk-application-prefer-dark-theme = true" >> /root/.config/gtk-3.0/settings.ini
    echo "# set font name and dimension" >> /root/.config/gtk-3.0/settings.ini
    echo "gtk-font-name = Sans 10" >> /root/.config/gtk-3.0/settings.ini

    gsettings set org.gnome.desktop.media-handling automount 'false'
    gsettings set org.gnome.desktop.media-handling automount-open 'false'
}







#

if [ "$1" == "adduser" ]
then
    username="$2"
    userpass="$3"
    addusers
    exit 0
fi

if cat /etc/passwd | grep ${username} > /dev/null; then
    echo "${username} existiert bereits!!!"
else
    addusers
fi

if [ "$erstellen" == "exit" ]
then
    exit 0
fi

# grundinstallation

gitclone

# Your commands

# startup
cp /opt/${repo}/startup /usr/bin/
chmod 755 /usr/bin/startup
cp /opt/${repo}/startup.service /etc/systemd/system/
chmod 644 /etc/systemd/system/startup.service
systemctl enable startup.service

# pacman-config
if [ "${version}" == "libre" ]; then
    cp /opt/${repo}/pacman.conf_libre /etc/pacman.conf
elif [ "${version}" == "manjaro" ]; then
    cp /opt/${repo}/pacman.conf_manjaro /etc/pacman.conf
else
    cp /opt/${repo}/pacman.conf /etc/pacman.conf
fi

# mirrorlist
cp /opt/${repo}/mirrorlist* /etc/pacman.d/

# new-config
if [ -d /home/"$username"/.config ]; then
    rm -Rv /home/"$username"/.config
fi

if [ -d /root/.config ]; then
    rm -Rv /root/.config
fi

if [ -f /var/lib/pacman/db.lck ];then
    rm /var/lib/pacman/db.lck
fi

# vollinstallation
if [ "$version" != "lite" ]; then
  standartinstallation
fi

echo "Packetliste2 Ende"
echo "Beginne mit dem Konfigurieren des Systems :D"

# set desktop
echo "set desktop"
#
if [ "$version" != "lite" ]; then
    cp /opt/${repo}/xinitrc_${version}.txt /etc/X11/xinit/xinitrc
fi
#
echo "Systemsprache und dienste werden erstellt!"

mkdir -p /etc/X11/xorg.conf.d/
# localectl set-x11-keymap de pc105 nodeadkeys
echo "Section \"InputClass\"" > /etc/X11/xorg.conf.d/20-keyboard.conf
echo "        Identifier \"Keyboard0\"" >> /etc/X11/xorg.conf.d/20-keyboard.conf
echo "        MatchIsKeyboard \"yes\"" >> /etc/X11/xorg.conf.d/20-keyboard.conf
echo "        Option \"XkbLayout\" \"de\"" >> /etc/X11/xorg.conf.d/20-keyboard.conf
echo "        Option \"XkbModel\" \"pc105\"" >> /etc/X11/xorg.conf.d/20-keyboard.conf
echo "        Option \"XkbVariant\" \"nodeadkeys\"" >> /etc/X11/xorg.conf.d/20-keyboard.conf
echo "EndSection" >> /etc/X11/xorg.conf.d/20-keyboard.conf

#xset m 2/1 0
echo "Section \"InputClass\"" > /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "  Identifier \"Mouse0\"" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "	MatchIsPointer \"yes\"" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "# set the following to 1 1 0 respectively to disable acceleration." >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "	Option \"AccelerationNumerator\" \"2\"" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "	Option \"AccelerationDenominator\" \"1\"" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "	Option \"AccelerationThreshold\" \"4\"" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
echo "EndSection" >> /etc/X11/xorg.conf.d/50-mouse-acceleration.conf

# set system startup files
echo "System startup files"

start=getty

if [ "$start" == "getty" ]
then

    echo "if [ \$(tty) = "/dev/tty1" ]; then" > /root/.bash_profile
    echo "startx" >> /root/.bash_profile
    echo "fi" >> /root/.bash_profile
    #
    echo "if [ \$(tty) = "/dev/tty1" ]; then" > /home/"$username"/.bash_profile
    echo "startx" >> /home/"$username"/.bash_profile
    echo "fi" >> /home/"$username"/.bash_profile
    #

    start=${username}
    if [ "$start" == "root" ]
    then
        mkdir -p /etc/systemd/system/getty\@tty1.service.d
        echo "[Service]" > /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        echo "ExecStart=" >> /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        echo "ExecStart=-/sbin/agetty --noclear -a root %I 38400 linux" >> /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        systemctl enable getty@tty1
    else
        mkdir -p /etc/systemd/system/getty\@tty1.service.d
        echo "[Service]" > /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        echo "ExecStart=" >> /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        echo "ExecStart=-/sbin/agetty --noclear -a "$username" %I 38400 linux" >> /etc/systemd/system/getty\@tty1.service.d/autologin.conf
        systemctl enable getty@tty1
    fi

elif [ "$start" == "xdm" ]
then
    systemctl enable xdm
elif [ "$start" == "lightdm" ]
then
    systemctl enable lightdm.service
elif [ "$start" == "exit" ]
then
    exit 0
else
    echo "Kein Start gewählt!!!"
fi

systemctl enable acpid
systemctl enable ntpd
systemctl enable avahi-daemon
systemctl enable org.cups.cupsd.service
systemctl enable sshd
systemctl enable cronie
systemctl enable systemd-timesyncd.service
echo "Bitte OpenVPN config in die /etc/openvpn/client/client.conf kopieren!!!"
if [ -f /lib/systemd/system/openvpn-client@client.service ]; then
     echo "link vorhanden!"
else
    ln /lib/systemd/system/openvpn-client@.service /lib/systemd/system/openvpn-client@client.service
fi
#Bei ausdokumentierung wird eine/die VPN automatisch aus der /etc/openvpn/client/client.conf gestartet!!!
#systemctl enable openvpn-client@client.service
systemctl enable fail2ban
systemctl disable dhcpcd
systemctl enable NetworkManager.service
systemctl enable bluetooth.service

# set systemconfiguration
echo "systemconfiguration"
#
echo "LANG=de_DE.UTF-8" > /etc/locale.conf
echo "LC_COLLATE=C" >> /etc/locale.conf
echo "LANGUAGE=de_DE" >> /etc/locale.conf
#
echo "KEYMAP=de-latin1" > /etc/vconsole.conf
echo "FONT=lat9w-16" >> /etc/vconsole.conf
#
echo "de_DE.UTF-8 UTF-8" > /etc/locale.gen
echo "de_DE ISO-8859-1" >> /etc/locale.gen
echo "de_DE@euro ISO-8859-15" >> /etc/locale.gen
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
#
locale-gen
#
rm /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

# iso_name
echo "${repo}-${version}" > /etc/hostname

# uefi-boot
cp /opt/${repo1}/uefi-boot.sh /usr/bin/uefi-boot
chmod 755 /usr/bin/uefi-boot

# youtube-dl
cp /opt/${repo1}/youtube-dl.sh /usr/bin/youtube-downloader
chmod 755 /usr/bin/youtube-downloader

# youtube
cp /opt/${repo1}/youtube.sh /usr/bin/youtube
chmod 755 /usr/bin/youtube

# write-partitions manager
cp /opt/${repo}/write_cowspace /usr/bin/write_cowspace
chmod 755 /usr/bin/write_cowspace

# installer-/usr/bin/
cp /opt/${repo}/arch-install /usr/bin/arch-install
chmod 755 /usr/bin/arch-install

# bash.bashrc
sed "s|%OS_NAME%|${repo}|g;" /opt/${repo}/bash.bashrc > /etc/bash.bashrc
cp /opt/${repo}/.bashrc /root/

# config.fish
mkdir -p /root/.config/fish/
cp /opt/${repo}/config.fish /root/.config/fish/config.fish

# btrfs-swapfile
cp /opt/${repo}/btrfs-swapon.service /etc/systemd/system/
cp /opt/${repo}/btrfs-swapon /usr/bin/
chmod 755 /usr/bin/btrfs-swapon
cp /opt/${repo}/btrfs-swapoff /usr/bin/
chmod 755 /usr/bin/btrfs-swapoff

# compress-script
cp /opt/${repo}/compress.sh /usr/bin/compress
chmod 755 /usr/bin/compress

# ssh
cp /opt/${repo}/sshd_config /etc/ssh/sshd_config

# .Xmodmap
cp /opt/${repo}/.Xmodmap /root/

# packages
cp /opt/${repo}/packages* /etc/

# snapshot.sh
cp /opt/${repo}/snapshot.sh /usr/bin/snapshot
chmod 755 /usr/bin/snapshot

# .xscreensaver
cp /opt/${repo}/.xscreensaver /root/

# hosts
cp /opt/${repo}/hosts /etc/

# update-script
cp /opt/${repo}/update.sh /usr/bin/update-script
chmod 755 /usr/bin/update-script

# Verzeichnise
mkdir -p /root/Downloads
mkdir -p /root/Dokumente
mkdir -p /root/Bilder
mkdir -p /root/Musik
mkdir -p /root/Videos

# addusers.sh
cp /opt/${repo}/addusers.sh /usr/bin/addusers
chmod 755 /usr/bin/addusers

# shell-fish
chsh -s /usr/bin/fish root
chsh -s /usr/bin/fish ${username}

# XDG standard
cp /opt/${repo}/mimeapps.list /etc/xdg/mimeapps.list

# x11vnc-pass (password)

cp /opt/${repo}/x11vnc.pass /etc/x11vnc.pass

# aurinstaller
cp /opt/${repo}/aurinstall.sh /usr/bin/aurinstaller
chmod +x /usr/bin/aurinstaller

if [ "$version" != "pi" ]; then
  su "$username" -c "aurinstaller "https://aur.archlinux.org/plymouth.git""
  su "$username" -c "aurinstaller "https://aur.archlinux.org/plymouth-theme-dark-arch.git""
  plymouth-set-default-theme -R dark-arch
fi

# nano
echo "include "/usr/share/nano/*.nanorc"" > /etc/nanorc

# htop
echo "fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=-1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
tree_view=1
header_margin=1
detailed_cpu_time=1
color_scheme=0
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2 " > /root/.htoprc

# ssh

mkdir -p /root/.ssh
echo "ServerAliveInterval 120" > ~/.ssh/config
echo "ServerAliveCountMax 15" >> ~/.ssh/config

# Install rc.local
echo "[Unit]
Description=/etc/rc.local compatibility

[Service]
Type=oneshot
ExecStart=/etc/rc.local
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/rc-local.service
touch $RCLOCAL
chmod +x $RCLOCAL
systemctl enable rc-local.service
if ! grep '#!' $RCLOCAL; then
    echo "#!/bin/bash" > $RCLOCAL
fi

# Install rc.shutdown

echo "[Unit]
Description=/etc/rc.local.shutdown Compatibility
ConditionFileIsExecutable=/etc/rc.local.shutdown
DefaultDependencies=no
After=basic.target
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/etc/rc.local.shutdown
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/rc-local-shutdown.service
touch $RCLOCALSHUTDOWN
chmod +x $RCLOCALSHUTDOWN
systemctl enable rc-local-shutdown.service
if ! grep '#!' $RCLOCALSHUTDOWN; then
    echo "#!/bin/bash" > $RCLOCALSHUTDOWN
fi



if [ "$version" != "lite" ]; then

    ### custom-installer

    ## pip install beautysh
    if [ -d /opt/beautysh ];then
        echo "Bereits vorhanden!!!"
        cd /opt/beautysh
        git pull
    else
        git clone https://github.com/bemeurer/beautysh /opt/beautysh
    fi
    cd /opt/beautysh
    python ./setup.py install
    if [ -f /usr/bin/beautysh ]; then
        echo "Bereits vorhanden!!!"
    else
        ln -s /opt/beautysh/beautysh/beautysh.py /usr/bin/beautysh
    fi
    chmod +x /usr/bin/beautysh
    cd /

    pip install powerline-shell

    ## powerline-shell-fonts
    if [ -d /opt/powerline-shell-fonts ];then
        echo "Bereits vorhanden!!!"
        cd /opt/powerline-shell-fonts
        git pull
    else
        git clone https://github.com/powerline/fonts.git /opt/powerline-shell-fonts
    fi
    cd /opt/powerline-shell-fonts
    ./install.sh
    cd /

    ## uncrustify
    if [ -d /opt/uncrustify ];then
        echo "Bereits vorhanden!!!"
        cd /opt/uncrustify
        git pull
    else
        git clone https://github.com/uncrustify/uncrustify.git /opt/uncrustify
    fi
    cd /opt/uncrustify
    mkdir -p build
    cd build
    cmake ..
    cmake --build .
    if [ -f /usr/bin/uncrustify ]; then
        echo "Bereits vorhanden!!!"
    else
        ln -s /opt/uncrustify/build/uncrustify /usr/bin/uncrustify
    fi
    chmod +x /usr/bin/uncrustify
    cd /

    ## conky
    if [ -d /opt/conky ];then
        echo "Bereits vorhanden!!!"
        cd /opt/conky
        git pull
    else
        git clone https://github.com/brndnmtthws/conky.git /opt/conky
    fi
    cd /opt/conky
    cp cmake/ConkyBuildOptions.cmake .

    sed "s|option(BUILD_LUA_CAIRO \"Build cairo bindings for Lua\" false)|option(BUILD_LUA_CAIRO \"Build cairo bindings for Lua\" true)|g;
    s|option(BUILD_LUA_IMLIB2 \"Build Imlib2 bindings for Lua\" false)|option(BUILD_LUA_IMLIB2 \"Build Imlib2 bindings for Lua\" true)|g;
    s|option(BUILD_LUA_RSVG \"Build rsvg bindings for Lua\" false)|option(BUILD_LUA_RSVG \"Build rsvg bindings for Lua\" true)|g" ConkyBuildOptions.cmake > cmake/ConkyBuildOptions.cmake

    if [ -d build ];then
        rm -Rv build
    fi
    mkdir -p build
    cd build
    cmake ..
    make
    make install

    cd /

    # x11vnc
    if [ -f /usr/lib/systemd/system/x11vnc.service ]; then
        rm /usr/lib/systemd/system/x11vnc.service
    fi
    if [ -f /etc/systemd/system/x11vnc.service ]; then
        rm /etc/systemd/system/x11vnc.service
    fi
    cp /opt/${repo}/x11vnc.service /etc/systemd/system/x11vnc.service
    chmod 644 /etc/systemd/system/x11vnc.service
    systemctl enable x11vnc.service

    # .Conky
    tar -vxJf /opt/${repo}/.Conky.tar.xz -C /opt/
    chmod 755 -Rv /opt/.Conky/
    touch /root/notes.txt

    # Vibrancy Colors
    tar -vxJf /opt/${repo}/vibrancy-colors.tar.xz -C /usr/share/icons/
    gtk-update-icon-cache /usr/share/icons/Vibrancy-Colors-Dark/

    # santana
    mkdir -p /usr/share/fonts/TTF/
    tar -vxJf /opt/${repo}/santana.tar.xz -C /usr/share/fonts/TTF/

    # installer
    mkdir -p /usr/share/applications/
    cp /opt/${repo}/arch-install.desktop /usr/share/applications/arch-install.desktop

    # install-picture
    mkdir -p /usr/share/pixmaps/
    cp /opt/${repo}/install.png /usr/share/pixmaps/

    # background
    mkdir -p /usr/share/backgrounds/xfce/
    cp /opt/${repo}/*.jpg /usr/share/backgrounds/xfce/
    chmod 755 -Rv /usr/share/backgrounds/xfce/

    # .config
    mkdir -p /root/.config
    tar -vxJf /opt/${repo}/.config.tar.xz -C /root/.config/
    gnomeconfig
    copyconfig

    if [ "$version" != "pi" ]; then
      # zusatzsoftware
      su "$username" -c "aurinstaller "https://aur.archlinux.org/google-chrome.git""
    fi

    # install-firacode
    # In download.sh
    for type in Bold Light Medium Regular Retina; do
        wget -O /usr/share/fonts/TTF/FiraCode-${type}.ttf \
        "https://github.com/tonsky/FiraCode/blob/master/distr/ttf/FiraCode-${type}.ttf?raw=true";
    done


fi

if pacman -Qdtq; then
  echo "Verwaiste Packete werden entfernt :)"
  pacman -Rsn $(pacman -Qdtq) --noconfirm
else
  echo "Es müssen keine verwaisten Packete entfernt werden :)"
fi
pacman -Syu --needed --noconfirm

if [ "${version}" == "libre" ]; then
    mkinitcpio -p linux-libre
else
    mkinitcpio -P -c /etc/mkinitcpio.conf
fi

echo "Fertig!!!"

exit 0
