#!/bin/sh [ $ZI_DOTFILES ] || { >&2 echo "Please run pre-bootstrap first!"; exit 1; } [ -d $ZI_DOTFILES ] || { >&2 echo "Invalid dotfiles path, please re-run pre-bootstrap!"; exit 1; } packages_arch=( jo bc socat jq zsh opendoas ) # === Function and Variable === SUDO="${SUDO:-sudo}" PACMAN="${PACMAN:-pacman}" AUR="${AUR:-paru}" install_package() { [ $PACMAN = "pacman" ] && { $SUDO $PACMAN -S --noconfirm "$@" || echo "Failed to install some packages, skipping..."; } } install_aur_package() { $AUR -S --noconfirm "$@" } # === Actual automation === echo "Linking x* configs" ln -si $ZI_DOTFILES/.config/xinitrc $HOME/.xinitrc ln -si $ZI_DOTFILES/.config/xprofile $HOME/.xprofile echo "Updating package database..." [ $PACMAN = "pacman" ] && { $SUDO $PACMAN -Sy || echo "Failed to update package database, skipping..."; } echo "Installing packages..." install_package $packages_arch echo "Changing default shell to zsh..." sudo chsh -s $(which zsh) echo "Configuring zsh to use XDG Base Directory..." sudo $ZI_DOTFILES/zsh-xdg-setup echo "Installing zsh config..." ln -si $ZI_DOTFILES/.config/zsh $HOME/.config/zsh echo "Configuring doas..." echo """permit persist :wheel permit nopass root as root""" > /tmp/doas.conf.tmp echo "======doas.conf======" cat /tmp/doas.conf.tmp echo "=====================" sudo cp -i /tmp/doas.conf.tmp /etc/doas.conf