install.sh: add logging
This commit is contained in:
parent
923c012199
commit
16cc31b947
|
|
@ -6,35 +6,35 @@ font=JetBrains Mono Nerd Font:size=12
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
alpha=0.85
|
alpha=0.85
|
||||||
cursor=11111b f5e0dc
|
#cursor=11111b f5e0dc
|
||||||
foreground=cdd6f4
|
#foreground=cdd6f4
|
||||||
background=1e1e2e
|
#background=1e1e2e
|
||||||
|
#
|
||||||
regular0=45475a
|
#regular0=45475a
|
||||||
regular1=f38ba8
|
#regular1=f38ba8
|
||||||
regular2=a6e3a1
|
#regular2=a6e3a1
|
||||||
regular3=f9e2af
|
#regular3=f9e2af
|
||||||
regular4=89b4fa
|
#regular4=89b4fa
|
||||||
regular5=f5c2e7
|
#regular5=f5c2e7
|
||||||
regular6=94e2d5
|
#regular6=94e2d5
|
||||||
regular7=bac2de
|
#regular7=bac2de
|
||||||
|
#
|
||||||
bright0=585b70
|
#bright0=585b70
|
||||||
bright1=f38ba8
|
#bright1=f38ba8
|
||||||
bright2=a6e3a1
|
#bright2=a6e3a1
|
||||||
bright3=f9e2af
|
#bright3=f9e2af
|
||||||
bright4=89b4fa
|
#bright4=89b4fa
|
||||||
bright5=f5c2e7
|
#bright5=f5c2e7
|
||||||
bright6=94e2d5
|
#bright6=94e2d5
|
||||||
bright7=a6adc8
|
#bright7=a6adc8
|
||||||
16=fab387
|
#16=fab387
|
||||||
17=f5e0dc
|
#17=f5e0dc
|
||||||
selection-foreground=cdd6f4
|
#selection-foreground=cdd6f4
|
||||||
selection-background=414356
|
#selection-background=414356
|
||||||
search-box-no-match=11111b f38ba8
|
#search-box-no-match=11111b f38ba8
|
||||||
search-box-match=cdd6f4 313244
|
#search-box-match=cdd6f4 313244
|
||||||
jump-labels=11111b fab387
|
#jump-labels=11111b fab387
|
||||||
urls=89b4fa
|
#urls=89b4fa
|
||||||
|
|
||||||
[key-bindings]
|
[key-bindings]
|
||||||
search-start=Control+Shift+f
|
search-start=Control+Shift+f
|
||||||
|
|
|
||||||
|
|
@ -71,4 +71,4 @@ source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.
|
||||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
|
|
||||||
# Load pywal colors
|
# Load pywal colors
|
||||||
(cat ~/.cache/wal/sequences &)
|
# (cat ~/.cache/wal/sequences &)
|
||||||
|
|
|
||||||
65
install.sh
65
install.sh
|
|
@ -1,23 +1,42 @@
|
||||||
#!/bin/env bash
|
#!/bin/env bash
|
||||||
|
|
||||||
|
log() {
|
||||||
|
local level="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
case "$level" in
|
||||||
|
INFO) color='\033[0;32m' ;;
|
||||||
|
WARN) color='\033[0;33m' ;;
|
||||||
|
ERROR) color='\033[0;31m' ;;
|
||||||
|
*) color='\033[0m' ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf '%b[%s] [%s]%b %s\n' \
|
||||||
|
"$color" "$(date '+%H:%M:%S')" "$level" '\033[0m' "$*"
|
||||||
|
}
|
||||||
|
|
||||||
currentDir="$(dirname "$(readlink -f "$0")")"
|
currentDir="$(dirname "$(readlink -f "$0")")"
|
||||||
cd "$currentDir"
|
cd "$currentDir"
|
||||||
|
|
||||||
## Install necessary desktop packages
|
## Install necessary desktop packages
|
||||||
source "$currentDir/packages/pkg_desktop.sh"
|
source "$currentDir/packages/pkg_desktop.sh"
|
||||||
source "$currentDir/packages/pkg_utils.sh"
|
source "$currentDir/packages/pkg_utils.sh"
|
||||||
|
log INFO "Starting Script"
|
||||||
|
log INFO "Installing necessary packages for hyprland"
|
||||||
sudo pacman -Sy --needed "${pkg_desktop[@]}" "${pkg_utils[@]}"
|
sudo pacman -Sy --needed "${pkg_desktop[@]}" "${pkg_utils[@]}"
|
||||||
|
|
||||||
## Install dev tools
|
## Install dev tools
|
||||||
read -rp "Do you wish to install development tools? [y/N]" install_dev_tools
|
read -rp "Do you wish to install development tools? [y/N]" install_dev_tools
|
||||||
source "$currentDir/packages/pkg_dev_tools.sh"
|
|
||||||
if [[ $install_dev_tools == y ]]; then
|
if [[ $install_dev_tools == y ]]; then
|
||||||
|
log INFO "Installing development tools"
|
||||||
|
source "$currentDir/packages/pkg_dev_tools.sh"
|
||||||
sudo pacman -S --needed "${pkg_dev_tools[@]}"
|
sudo pacman -S --needed "${pkg_dev_tools[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Install optional packages
|
## Install optional packages
|
||||||
read -rp "Do you wish to install optional packages? [y/N]" install_optional_pkg
|
read -rp "Do you wish to install optional packages? [y/N]" install_optional_pkg
|
||||||
if [[ $install_optional_pkg == y ]]; then
|
if [[ $install_optional_pkg == y ]]; then
|
||||||
|
log INFO "Installing development tools"
|
||||||
source "$currentDir/packages/pkg_optional.sh"
|
source "$currentDir/packages/pkg_optional.sh"
|
||||||
sudo pacman -S --needed "${pkg_optional[@]}"
|
sudo pacman -S --needed "${pkg_optional[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
@ -25,6 +44,7 @@ fi
|
||||||
## Install nvidia drivers
|
## Install nvidia drivers
|
||||||
read -rp "Do you wish to install Nvidia drivers? [y/N]" install_nvidia_drivers
|
read -rp "Do you wish to install Nvidia drivers? [y/N]" install_nvidia_drivers
|
||||||
if [[ $install_nvidia_drivers == y ]]; then
|
if [[ $install_nvidia_drivers == y ]]; then
|
||||||
|
log INFO "Installing Nvidia Drivers"
|
||||||
source "$currentDir/packages/pkg_nvidia.sh"
|
source "$currentDir/packages/pkg_nvidia.sh"
|
||||||
sudo pacman -S --needed "${pkg_nvidia[@]}"
|
sudo pacman -S --needed "${pkg_nvidia[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
@ -35,14 +55,14 @@ read -rp "Do you wish to install aur packages? [y/N]" install_aur_pkg
|
||||||
if [[ $install_aur_pkg == y ]]; then
|
if [[ $install_aur_pkg == y ]]; then
|
||||||
## Install paru if it isn't already installed
|
## Install paru if it isn't already installed
|
||||||
if ! command -v paru >/dev/null 2>&1; then
|
if ! command -v paru >/dev/null 2>&1; then
|
||||||
echo "Installing paru..."
|
log INFO "Installing Paru (AUR package manager)"
|
||||||
git clone https://aur.archlinux.org/paru-bin.git
|
git clone https://aur.archlinux.org/paru-bin.git
|
||||||
cd paru-bin
|
cd paru-bin
|
||||||
makepkg -sri
|
makepkg -sri
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf paru-bin
|
rm -rf paru-bin
|
||||||
else
|
else
|
||||||
echo "Skipping paru (already in PATH)"
|
log INFO "Skipping paru (already in PATH)"
|
||||||
fi
|
fi
|
||||||
## Install aur packages
|
## Install aur packages
|
||||||
source "$currentDir/packages/pkg_aur.sh"
|
source "$currentDir/packages/pkg_aur.sh"
|
||||||
|
|
@ -51,20 +71,21 @@ fi
|
||||||
|
|
||||||
|
|
||||||
## Setup dotfiles
|
## Setup dotfiles
|
||||||
echo "⚠️ WARNING: This will DELETE any conflicting files and replace them with symlinks from this repo."
|
log WARN "⚠️ This will DELETE any conflicting files and replace them with symlinks from this repo."
|
||||||
echo "Make sure you have already backed up all your existing config files (~/.config)"
|
log WARN "Make sure you have already backed up all your existing config files (~/.config)"
|
||||||
read -rp "Continue with stow (y/N): " confirm
|
read -rp "Continue with stow (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "Detecting conflicts..."
|
log INFO "Detecting conflicts..."
|
||||||
conflicts=$(stow . --no-folding -nv 2>&1 | \
|
conflicts=$(stow . --no-folding -nv 2>&1 | \
|
||||||
sed -n 's/.*existing target \(.*\) since neither.*/\1/p')
|
sed -n 's/.*existing target \(.*\) since neither.*/\1/p')
|
||||||
|
|
||||||
if [[ -z "$conflicts" ]]; then
|
if [[ -z "$conflicts" ]]; then
|
||||||
echo "No conflicts. Running stow normally..."
|
log INFO "No conflicts. Running stow normally..."
|
||||||
stow . --no-folding
|
stow . --no-folding \
|
||||||
echo "✅ Done."
|
&& log INFO "Dotfiles stowed successfully" \
|
||||||
|
|| log ERROR "Stow failed"
|
||||||
else
|
else
|
||||||
echo "These paths conflict and will be removed:"
|
log WARN "These paths conflict and will be removed:"
|
||||||
printf ' %s\n' $conflicts
|
printf ' %s\n' $conflicts
|
||||||
read -rp "Proceed with deleting these files? (y/N): " ok
|
read -rp "Proceed with deleting these files? (y/N): " ok
|
||||||
if [[ ! "$ok" =~ ^[Yy]$ ]]; then
|
if [[ ! "$ok" =~ ^[Yy]$ ]]; then
|
||||||
|
|
@ -73,23 +94,23 @@ if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
|
|
||||||
# Remove conflicts relative to $HOME
|
# Remove conflicts relative to $HOME
|
||||||
for path in $conflicts; do
|
for path in $conflicts; do
|
||||||
echo "Removing $HOME/$path"
|
rm -rf "$HOME/$path" && log INFO "Removed $HOME/$path"
|
||||||
rm -rf "$HOME/$path"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Running stow..."
|
log INFO "Running stow..."
|
||||||
stow . --no-folding
|
stow . --no-folding \
|
||||||
echo "✅ Dotfiles stowed with overwrite."
|
&& log INFO "✅ Dotfiles stowed with overwrite." \
|
||||||
|
|| log ERROR "Stow failed"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Aborted stow"
|
log WARN "Aborted stow, the dotfiles are not synced"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
## Setup neovim dotfiles
|
## Setup neovim dotfiles
|
||||||
read -rp "Clone neovim dotfiles as well? (y/N): " confirm
|
read -rp "Clone neovim dotfiles as well? (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "Taking backup of neovim config (if already exists)"
|
log INFO "Taking backup of neovim config (if already exists)"
|
||||||
mv ~/.config/nvim{,.bak}
|
mv ~/.config/nvim{,.bak}
|
||||||
mv ~/.local/share/nvim{,.bak}
|
mv ~/.local/share/nvim{,.bak}
|
||||||
mv ~/.local/state/nvim{,.bak}
|
mv ~/.local/state/nvim{,.bak}
|
||||||
|
|
@ -98,17 +119,19 @@ if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Change default shell to zsh
|
## Change default shell to zsh
|
||||||
|
log INFO "Changing the default shell to ZSH"
|
||||||
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
if [[ "$SHELL" != "$(which zsh)" ]]; then
|
||||||
read -rp "Change default shell to ZSH? (y/N): " confirm
|
read -rp "Change default shell to ZSH? (y/N): " confirm
|
||||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
echo "Changing default shell to zsh..."
|
chsh -s $(which zsh) \
|
||||||
chsh -s $(which zsh)
|
&& log INFO "Default shell successfully set to zsh" \
|
||||||
|
|| log ERROR "Default shell could not be set to zsh"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Skipping: zsh is already the default shell"
|
log INFO "Skipping: zsh is already the default shell"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
|
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
|
||||||
echo ""
|
echo ""
|
||||||
echo "Done! 😊"
|
log INFO "Done! 😊"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue