#!/usr/bin/env bash sources=("$PWD/config/" "$PWD/etc/" "$PWD/home/" "$PWD/qutebrowser/") targets=("$HOME/.config/" "/etc/" "$HOME/" "$HOME/.config/qutebrowser/") length=${#sources[@]} packages="brightnessctl hyprland hyprlock hyprpaper i3status-rust kitty mpv neovim obs-studio qutebrowser ttc-iosevka ttf-nerd-fonts-symbols-mono yazi noto-fonts-emoji i3status-rust" yayPackages="i3bar-river" services="greetd" pacman() { read -p "Install the following packages : $packages ? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || break sudo pacman -Syu $packages } yay() { # NOTE: no confirmation, we consider user should read the files sudo yay -Syu $packages } systemd() { read -p "Enable the following services : $services ? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || break sudo systemctl enable $services } install() { pacman yay systemd update } update() { for ((i = 0; i < length; i++)); do source=${sources[i]} target=${targets[i]} for folder in $(ls $source -a); do if [ -e "$target$folder" ]; then echo "The file '$target$folder' exists." else if [ -w "$target" ]; then ln -s $source$folder $target$folder else read -p "write in : $target$folder ? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || break sudo ln -s $source$folder $target$folder fi fi done done } update