#!/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@5.83.162.84:22/home/git/SpectreOS" WEBADDRESS1="ssh://git@5.83.162.84:22/home/git/shell-scripte" SUDOERS="/etc/sudoers" repo="SpectreOS" repo1="shell-scripte" version="$1" username="$2" userpass="$3" skip="$4" packageupdate="$5" hostname="$(cat /etc/hostname)" [[ -z "${version}" ]] && version="${hostname#*-}" [[ -z "${username}" ]] && username="user1" [[ -z "${userpass}" ]] && userpass="user1" function gitclone() { git config --global core.editor "nano" git config --global user.email "user1@spectreos.de" git config --global user.name "user1" git config --global push.default simple if ! [ -f "/root/.ssh/id_rsa.pub" ]; then ssh-keygen -b 4096 rootrechte cat /root/.ssh/id_rsa.pub echo "Bitte tragen sie den neuen Key in den GIT-Server ein!!!" echo "Sie haben 60 Sekunden Zeit!!!" sleep 60 fi 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} < $SUDOERS echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> $SUDOERS } function copyconfig() { if [ -d /home/"$username"/.config ]; then rm -Rv /home/"$username"/.config fi 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 mkdir -p /home/"$username"/.ssh fi chmod 700 /home/"$username"/.ssh if [ -f /home/"$username"/.ssh/id_rsa ]; then chmod 600 /home/"$username"/.ssh/id_rsa fi if ! [ -f /home/"$username"/.ssh/authorized_keys ]; then touch /home/"$username"/.ssh/authorized_keys fi chmod 600 /home/"$username"/.ssh/authorized_keys } function rootrechte() { #root chmod 750 -Rv /root #ssh-root if ! [ -d /root/.ssh ]; then mkdir -p /root/.ssh fi chmod 700 /root/.ssh if [ -f /root/.ssh/id_rsa ]; then chmod 600 /root/.ssh/id_rsa fi if ! [ -f /root/.ssh/authorized_key ]; then touch /root/.ssh/authorized_keys fi chmod 600 /root/.ssh/authorized_keys } 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 elif [ "${version}" == "pi" ]; then cp /opt/${repo}/pacman.conf_pi /etc/pacman.conf else cp /opt/${repo}/pacman.conf /etc/pacman.conf fi # mirrorlist cp /opt/${repo}/mirrorlist* /etc/pacman.d/ if [ -f /var/lib/pacman/db.lck ];then rm /var/lib/pacman/db.lck fi # vollinstallation if [ "$version" != "lite" ] && [ "$packageupdate" != "skip" ]; then standartinstallation fi echo "Packetliste2 Ende" echo "Beginne mit dem Konfigurieren des Systems :D" # set desktop echo "set desktop" # if [ "$version" != "lite" ]; then if [ -f "/opt/${repo}/xinitrc_${version}.txt" ]; then cp /opt/${repo}/xinitrc_${version}.txt /etc/X11/xinit/xinitrc else cp /opt/${repo}/xinitrc_special.txt /etc/X11/xinit/xinitrc fi 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 # import compress script # compress-script cp /opt/${repo}/compress.sh /usr/bin/compress chmod 755 /usr/bin/compress # set config direction if [ -d /root/.config ]; then rm -Rv /root/.config fi mkdir -p /root/.config compress restore /opt/${repo}/.config.tar.pxz /root/.config/ compress restore /opt/${repo}/.config-extra.tar.pxz /root/ gnomeconfig # 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=-/usr/bin/agetty --autologin root -s %I 115200,38400,9600 vt102" >> /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=-/usr/bin/agetty --autologin $username -s %I 115200,38400,9600 vt102" >> /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 systemctl enable httpd # 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 # 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) if ! [ -f "/etc/x11vnc.pass" ]; then cp /opt/${repo}/x11vnc.pass /etc/x11vnc.pass fi # aurinstaller cp /opt/${repo}/aurinstall.sh /usr/bin/aurinstaller chmod +x /usr/bin/aurinstaller cp /opt/${repo}/aurupdater.sh /usr/bin/aurupdater chmod +x /usr/bin/aurupdater # setcap-ping setcap cap_net_raw+ep /bin/ping su "$username" -c "aurinstaller "https://aur.archlinux.org/pamac-aur.git"" if [ "$version" != "pi" ] && [ "$packageupdate" != "skip" ]; 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 if ! grep 'setcap cap_net_raw+ep /bin/ping' $RCLOCAL; then echo "setcap cap_net_raw+ep /bin/ping" >> $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" ] && [ "$skip" != "skip" ]; then ### custom-installer ## pip update pip install --upgrade pip ## 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 compress restore /opt/${repo}/.Conky.tar.pxz /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/ if [ "$version" != "pi" ] && [ "$packageupdate" != "skip" ]; then # zusatzsoftware su "$username" -c "aurinstaller "https://aur.archlinux.org/google-chrome.git"" su "$username" -c "aurinstaller spotify" su "$username" -c "aurinstaller realvnc-vnc-viewer" su "$username" -c "aurinstaller libbaseencode" su "$username" -c "aurinstaller libcotp" su "$username" -c "aurinstaller otpclient" 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 echo "Kopiere Config zum User" copyconfig 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 if [ "$packageupdate" != "skip" ]; then pacman -Syu --needed --noconfirm fi if [ "${version}" == "libre" ]; then mkinitcpio -p linux-libre else mkinitcpio -P -c /etc/mkinitcpio.conf fi echo "Erstelle Packetverzeichnis!!!" pacman -Qq > /pkglist.txt echo "Aufräumen!!!" sleep 5 pacman -Scc <