#!/bin/bash set -o errexit -o pipefail -o noclobber -o nounset ! getopt --test > /dev/null if [[ ${PIPESTATUS[0]} -ne 4 ]]; then echo "I'm sorry, `getopt --test` failed in this environment." exit 1 fi OPTIONS=u:s: LONGOPTS=username:,sudogrp: ! PARSED=$(getopt --options=$OPTIONS --longoptions=$LONGOPTS --name "$0" -- "$@") if [[ ${PIPESTATUS[0]} -ne 0 ]]; then exit 2 fi eval set -- "$PARSED" username="CHANGEME" sudogrp="CHANGEME" CWD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" while true; do case "$1" in -t|--timezone) timezone="$2" shift 2 ;; -l|--locale) locale="$2" shift 2 ;; -h|--hostname) hostname="$2" shift 2 ;; -u|--username) username="$2" shift 2 ;; -s|--sudogrp) sudogrp="$2" shift 2 ;; --) shift break ;; *) echo "Programming error" exit 3 ;; esac done # For some reason this fails midway maybe avoidable if I put texlive-most in own pacman command pacman -S --noconfirm git zsh gvim wget arch-audit lightdm lightdm-webkit2-greeter xorg-server xf86-video-intel i3-gaps xorg-xbacklight xorg-xrandr i3lock-color alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth playerctl pavucontrol exfat-utils udiskie blueman acpi acpid tlp compton conky rxvt-unicode networkmanager network-manager-applet networkmanager-openconnect networkmanager-openvpn stow maim openssh xdotool xclip thunderbird firefox veracrypt keepassxc evince pandoc pdfgrep adobe-source-han-sans-otc-fonts python3 python-pip ranger atool elinks ffmpegthumbnailer highlight libcaca lynx mediainfo odt2txt perl-image-exiftool poppler python-chardet transmission-cli w3m pacman -S --noconfirm texlive-most echo "%$sudogrp ALL=(ALL) ALL" >> /etc/sudoers groupadd "$sudogrp" useradd -m -G "$sudogrp" -s /bin/zsh "$username" systemctl enable lightdm sed -i "s/#user-session.*/user-session=i3/g" /etc/lightdm/lightdm.conf sed -i "s/#greeter-session.*/greeter-session=lightdm-webkit2-greeter/g" /etc/lightdm/lightdm.conf cp $CWD/etc/systemd/system/suspend@.service /etc/systemd/system/suspend@.service cp $CWD/etc/X11/xorg.conf.d/30-touchpad.conf /etc/X11/xorg.conf.d/30-touchpad.conf cp $CWD/etc/iptables/iptables.rules /etc/iptables/iptables.rules # From this on we need need to be $username su $username sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" & rm /home/$username/.zshrc su $username sh -c "git clone https://github.com/powerline/fonts.git --depth=1 /home/$username/fonts" su $username sh -c "chmod +x /home/$username/fonts/install.sh" su $username sh -c "/home/$username/fonts/install.sh" su $username sh -c "rm -rf /home/$username/fonts/" su $username sh -c "git clone https://gitlab.com/tudattr/dotfiles ./home/$username/.dotfiles" su $username sh -c "stow -d /home/$username/.dotfiles -t /home/$username vim" su $username sh -c "stow -d /home/$username/.dotfiles -t /home/$username zsh" su $username sh -c "stow -d /home/$username/.dotfiles -t /home/$username config" systemctl disable march shutdown -r now