refactor: More automation

- Use bash instead of zsh
- Change shell to zsh
- Install zsh config
This commit is contained in:
Ahmad Ansori Palembani 2024-05-22 13:32:07 +07:00
parent 1891bd328c
commit d0cfdbbbf3
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6

View file

@ -1,10 +1,9 @@
#!/bin/zsh #!/bin/sh
[ $ZI_DOTFILES ] || { >&2 echo "Please run pre-bootstrap first!"; exit 1; } [ $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; } [ -d $ZI_DOTFILES ] || { >&2 echo "Invalid dotfiles path, please re-run pre-bootstrap!"; exit 1; }
packages=( packages_arch=(
jo jo
bc bc
socat socat
@ -12,16 +11,35 @@ packages=(
zsh zsh
) )
link_x_configs() { # === Function and Variable ===
ln -si $ZI_DOTFILES/.config/xinitrc $HOME/.xinitrc
ln -si $ZI_DOTFILES/.config/xprofile $HOME/.xprofile
}
SUDO="${SUDO:-sudo}" SUDO="${SUDO:-sudo}"
PACMAN="${PACMAN:-pacman}" PACMAN="${PACMAN:-pacman}"
AUR="${AUR:-paru}"
install_package() { install_package() {
[ $PACMAN = "pacman" ] && { $SUDO $PACMAN -S --noconfirm "$@" || echo "Failed to install a package, skipping..." } [ $PACMAN = "pacman" ] && { $SUDO $PACMAN -S --noconfirm "$@" || echo "Failed to install some packages, skipping..."; }
} }
link_x_configs install_aur_package() {
install_package $packages $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