Refactor Hyprland configs, introduce Sithego for theming, and add supporting scripts
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
packages=(
|
||||
"wget"
|
||||
"unzip"
|
||||
"git"
|
||||
"gum"
|
||||
"gvfs"
|
||||
"hyprland"
|
||||
"waybar"
|
||||
"rofi"
|
||||
"kitty"
|
||||
"dunst"
|
||||
"flatpak"
|
||||
"thunar"
|
||||
"thunar-archive-plugin"
|
||||
"thunar-media-tags-plugin"
|
||||
"thunar-shares-plugin"
|
||||
"thunar-vcs-plugin"
|
||||
"thunar-volman"
|
||||
"qt5-wayland"
|
||||
"qt6-wayland"
|
||||
"qt5ct"
|
||||
"qt6ct"
|
||||
"go"
|
||||
"hyprpaper"
|
||||
"hyprlock"
|
||||
"hyprpolkitagent"
|
||||
"hicolor-icon-theme"
|
||||
"woff2-font-awesome"
|
||||
"vim"
|
||||
"vivaldi"
|
||||
"fastfetch"
|
||||
"ttf-fira-sans"
|
||||
"ttf-fira-code"
|
||||
"ttf-firacode-nerd"
|
||||
"jq"
|
||||
"brightnessctl"
|
||||
"networkmanager"
|
||||
"wireplumber"
|
||||
"wlogout"
|
||||
"jetbrains-toolbox"
|
||||
"xdg-desktop-portal-hyprland"
|
||||
)
|
||||
|
||||
packagesToRemove=(
|
||||
"cachyos-micro-settings"
|
||||
"micro"
|
||||
"dolphin"
|
||||
)
|
||||
|
||||
_checkCommandExists() {
|
||||
cmd="$1"
|
||||
if ! command -v "$cmd" >/dev/null; then
|
||||
echo 1
|
||||
return
|
||||
fi
|
||||
echo 0
|
||||
return
|
||||
}
|
||||
|
||||
_isInstalled() {
|
||||
package="$1"
|
||||
check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")"
|
||||
if [ -n "${check}" ]; then
|
||||
echo 0
|
||||
return #true
|
||||
fi
|
||||
echo 1
|
||||
return #false
|
||||
}
|
||||
|
||||
_installPackages() {
|
||||
for pkg; do
|
||||
if [[ $(_isInstalled "${pkg}") == 0 ]]; then
|
||||
echo " .. ${pkg} is already installed."
|
||||
continue
|
||||
fi
|
||||
echo "Package not installed: ${pkg}"
|
||||
paru --noconfirm -S "${pkg}"
|
||||
done
|
||||
}
|
||||
|
||||
_removePackages() {
|
||||
for pkg; do
|
||||
if [[ ! $(_isInstalled "${pkg}") == 0 ]]; then
|
||||
echo " .. ${pkg} is not installed."
|
||||
continue
|
||||
fi
|
||||
paru --noconfirm -R "${pkg}"
|
||||
done
|
||||
}
|
||||
|
||||
_generateThemes() {
|
||||
cd sithego || exit
|
||||
go mod download
|
||||
go run .
|
||||
cd ..
|
||||
}
|
||||
|
||||
_copyThemes() {
|
||||
for folder in dotfiles/.themes/*; do
|
||||
destDir="$HOME/.themes/$(basename "$folder")"
|
||||
if [ -d "$destDir" ]; then
|
||||
echo " .. creating Backup for $HOME/.themes/$(basename "$folder")"
|
||||
backupDir="$HOME/.backup/arindOS/$(date +%Y%m%d_%H%M%S)/.themes"
|
||||
mkdir -p "$backupDir"
|
||||
mv "$destDir" "$backupDir/$(basename "$folder")"
|
||||
fi
|
||||
cp -r "$folder" "$destDir"
|
||||
done
|
||||
}
|
||||
|
||||
_copyIcons() {
|
||||
for folder in dotfiles/.icons/*; do
|
||||
destDir="$HOME/.icons/$(basename "$folder")"
|
||||
if [ -d "$destDir" ]; then
|
||||
echo " .. creating Backup for $HOME/.icons/$(basename "$folder")"
|
||||
backupDir="$HOME/.backup/arindOS/$(date +%Y%m%d_%H%M%S)/.icons"
|
||||
mkdir -p "$backupDir"
|
||||
mv "$destDir" "$backupDir/$(basename "$folder")"
|
||||
fi
|
||||
cp -r "$folder" "$destDir"
|
||||
done
|
||||
}
|
||||
|
||||
_copyConfig() {
|
||||
for folder in dotfiles/.config/*; do
|
||||
destDir="$HOME/.config/$(basename "$folder")"
|
||||
if [ -d "$destDir" ]; then
|
||||
echo " .. creating Backup for $HOME/.config/$(basename "$folder")"
|
||||
backupDir="$HOME/.backup/arindOS/$(date +%Y%m%d_%H%M%S)/.config"
|
||||
mkdir -p "$backupDir"
|
||||
mv -v "$destDir" "$backupDir/$(basename "$folder")"
|
||||
fi
|
||||
cp -rvf "$folder" "$destDir"
|
||||
done
|
||||
# use envsubst for qt6ct.conf
|
||||
envsubst < dotfiles/.config/qt6ct/qt6ct.conf > "$HOME/.config/qt6ct/qt6ct.conf"
|
||||
# copy qt6 to qt5
|
||||
mkdir -p "$HOME/.config/qt5ct"
|
||||
cp -v "$HOME/.config/qt6ct/qt6ct.conf" "$HOME/.config/qt5ct/qt5ct.conf"
|
||||
}
|
||||
|
||||
if [[ $(_checkCommandExists "paru") != 0 ]]; then
|
||||
echo "..The installer requires paru. paru will be installed now"
|
||||
sudo pacman -Sy paru
|
||||
fi
|
||||
|
||||
clear
|
||||
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
echo ":: ::"
|
||||
echo ":: Installing arindOS ::"
|
||||
echo ":: ::"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
echo ":: Removing packages ::"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
#_removePackages "${packagesToRemove[@]}"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
echo ":: Installing packages ::"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
#_installPackages "${packages[@]}"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
echo ":: Generating themes ::"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
_generateThemes
|
||||
_copyThemes
|
||||
_copyIcons
|
||||
_copyConfig
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
echo ":: Installation complete ::"
|
||||
echo ":::::::::::::::::::::::::::"
|
||||
|
||||
Reference in New Issue
Block a user