diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/lib_apps.sh | 31 | ||||
| -rw-r--r-- | scripts/lib_copy.sh | 15 | ||||
| -rw-r--r-- | scripts/lib_prompts.sh | 34 |
3 files changed, 46 insertions, 34 deletions
diff --git a/scripts/lib_apps.sh b/scripts/lib_apps.sh index dd918b02..900ca801 100644 --- a/scripts/lib_apps.sh +++ b/scripts/lib_apps.sh @@ -3,8 +3,9 @@ enable_asusctl() { local log="$1" + local base="${DOTFILES_DIR:-.}" if command -v asusctl >/dev/null 2>&1; then - local OVERLAY_SA="config/hypr/configs/Startup_Apps.conf" + local OVERLAY_SA="$base/config/hypr/configs/Startup_Apps.conf" mkdir -p "$(dirname "$OVERLAY_SA")" touch "$OVERLAY_SA" grep -qx 'exec-once = rog-control-center' "$OVERLAY_SA" || echo 'exec-once = rog-control-center' >>"$OVERLAY_SA" @@ -13,8 +14,9 @@ enable_asusctl() { enable_blueman() { local log="$1" + local base="${DOTFILES_DIR:-.}" if command -v blueman-applet >/dev/null 2>&1; then - local OVERLAY_SA="config/hypr/configs/Startup_Apps.conf" + local OVERLAY_SA="$base/config/hypr/configs/Startup_Apps.conf" mkdir -p "$(dirname "$OVERLAY_SA")" touch "$OVERLAY_SA" grep -qx 'exec-once = blueman-applet' "$OVERLAY_SA" || echo 'exec-once = blueman-applet' >>"$OVERLAY_SA" @@ -23,33 +25,36 @@ enable_blueman() { enable_ags() { local log="$1" + local base="${DOTFILES_DIR:-.}" if command -v ags >/dev/null 2>&1; then echo "${INFO:-[INFO]} AGS detected - enabling in startup and refresh scripts" 2>&1 | tee -a "$log" - local OVERLAY_SA="config/hypr/configs/Startup_Apps.conf" + local OVERLAY_SA="$base/config/hypr/configs/Startup_Apps.conf" mkdir -p "$(dirname "$OVERLAY_SA")" touch "$OVERLAY_SA" grep -qx 'exec-once = ags' "$OVERLAY_SA" || echo 'exec-once = ags' >>"$OVERLAY_SA" - sed -i '/#ags -q && ags &/s/^#//' config/hypr/scripts/RefreshNoWaybar.sh - sed -i '/#ags -q && ags &/s/^#//' config/hypr/scripts/Refresh.sh + sed -i '/#ags -q && ags &/s/^#//' "$base/config/hypr/scripts/RefreshNoWaybar.sh" + sed -i '/#ags -q && ags &/s/^#//' "$base/config/hypr/scripts/Refresh.sh" fi } enable_quickshell() { local log="$1" + local base="${DOTFILES_DIR:-.}" if command -v qs >/dev/null 2>&1; then echo "${INFO:-[INFO]} Quickshell detected - enabling in startup and refresh scripts" 2>&1 | tee -a "$log" - local OVERLAY_SA="config/hypr/configs/Startup_Apps.conf" + local OVERLAY_SA="$base/config/hypr/configs/Startup_Apps.conf" mkdir -p "$(dirname "$OVERLAY_SA")" touch "$OVERLAY_SA" grep -qx 'exec-once = qs' "$OVERLAY_SA" || echo 'exec-once = qs' >>"$OVERLAY_SA" - sed -i '/#pkill qs && qs &/s/^#//' config/hypr/scripts/RefreshNoWaybar.sh - sed -i '/#pkill qs && qs &/s/^#//' config/hypr/scripts/Refresh.sh + sed -i '/#pkill qs && qs &/s/^#//' "$base/config/hypr/scripts/RefreshNoWaybar.sh" + sed -i '/#pkill qs && qs &/s/^#//' "$base/config/hypr/scripts/Refresh.sh" fi } ensure_keybinds_init() { local log="$1" - local OVERLAY_SA="config/hypr/configs/Startup_Apps.conf" + local base="${DOTFILES_DIR:-.}" + local OVERLAY_SA="$base/config/hypr/configs/Startup_Apps.conf" mkdir -p "$(dirname "$OVERLAY_SA")" if ! grep -qx 'exec-once = \$scriptsDir/KeybindsLayoutInit.sh' "$OVERLAY_SA"; then echo 'exec-once = $scriptsDir/KeybindsLayoutInit.sh' >>"$OVERLAY_SA" @@ -59,9 +64,10 @@ ensure_keybinds_init() { install_terminal_configs() { local log="$1" + local base="${DOTFILES_DIR:-.}" # Ghostty - local GHOSTTY_SRC="config/ghostty/ghostty.config" + local GHOSTTY_SRC="$base/config/ghostty/ghostty.config" local GHOSTTY_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/ghostty" local GHOSTTY_DEST="$GHOSTTY_DIR/config" if [ -f "$GHOSTTY_SRC" ]; then @@ -75,7 +81,7 @@ install_terminal_configs() { fi # WezTerm - local WEZTERM_SRC="config/wezterm/wezterm.lua" + local WEZTERM_SRC="$base/config/wezterm/wezterm.lua" local WEZTERM_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/wezterm" local WEZTERM_DEST="$WEZTERM_DIR/wezterm.lua" if [ -f "$WEZTERM_SRC" ]; then @@ -88,10 +94,11 @@ install_terminal_configs() { choose_default_editor() { local log="$1" + local base="${DOTFILES_DIR:-.}" local editor_set=0 update_editor() { local editor=$1 - sed -i "s/#env = EDITOR,.*/env = EDITOR,$editor #default editor/" config/hypr/UserConfigs/01-UserDefaults.conf + sed -i "s/#env = EDITOR,.*/env = EDITOR,$editor #default editor/" "$base/config/hypr/UserConfigs/01-UserDefaults.conf" echo "${OK:-[OK]} Default editor set to ${MAGENTA:-}$editor${RESET:-}." 2>&1 | tee -a "$log" } if command -v nvim &>/dev/null; then diff --git a/scripts/lib_copy.sh b/scripts/lib_copy.sh index 331c6906..dd83007e 100644 --- a/scripts/lib_copy.sh +++ b/scripts/lib_copy.sh @@ -3,6 +3,7 @@ copy_phase1() { local log="$1" + local base="${DOTFILES_DIR:-.}" local dirs="fastfetch kitty rofi swaync" for DIR2 in $dirs; do local DIRPATH="$HOME/.config/$DIR2" @@ -16,7 +17,7 @@ copy_phase1() { BACKUP_DIR=$(get_backup_dirname) mv "$DIRPATH" "$DIRPATH-backup-$BACKUP_DIR" 2>&1 | tee -a "$log" echo -e "${NOTE:-[NOTE]} - Backed up $DIR2 to $DIRPATH-backup-$BACKUP_DIR." 2>&1 | tee -a "$log" - cp -r "config/$DIR2" "$HOME/.config/$DIR2" 2>&1 | tee -a "$log" + cp -r "$base/config/$DIR2" "$HOME/.config/$DIR2" 2>&1 | tee -a "$log" echo -e "${OK:-[OK]} - Replaced $DIR2 with new configuration." 2>&1 | tee -a "$log" if [ "$DIR2" = "rofi" ]; then if [ -d "$DIRPATH-backup-$BACKUP_DIR/themes" ]; then @@ -39,7 +40,7 @@ copy_phase1() { esac done else - cp -r "config/$DIR2" "$HOME/.config/$DIR2" 2>&1 | tee -a "$log" + cp -r "$base/config/$DIR2" "$HOME/.config/$DIR2" 2>&1 | tee -a "$log" echo -e "${OK:-[OK]} - Copy completed for ${YELLOW:-}$DIR2${RESET:-}" 2>&1 | tee -a "$log" fi done @@ -47,6 +48,7 @@ copy_phase1() { copy_waybar() { local log="$1" + local base="${DOTFILES_DIR:-.}" local DIRW="waybar" local DIRPATHw="$HOME/.config/$DIRW" if [ -d "$DIRPATHw" ]; then @@ -58,7 +60,7 @@ copy_waybar() { BACKUP_DIR=$(get_backup_dirname) cp -r "$DIRPATHw" "$DIRPATHw-backup-$BACKUP_DIR" 2>&1 | tee -a "$log" echo -e "${NOTE:-[NOTE]} - Backed up $DIRW to $DIRPATHw-backup-$BACKUP_DIR." 2>&1 | tee -a "$log" - rm -rf "$DIRPATHw" && cp -r "config/$DIRW" "$DIRPATHw" 2>&1 | tee -a "$log" + rm -rf "$DIRPATHw" && cp -r "$base/config/$DIRW" "$DIRPATHw" 2>&1 | tee -a "$log" for file in "config" "style.css"; do symlink="$DIRPATHw-backup-$BACKUP_DIR/$file" target_file="$DIRPATHw/$file" @@ -103,13 +105,14 @@ copy_waybar() { esac done else - cp -r "config/$DIRW" "$DIRPATHw" 2>&1 | tee -a "$log" + cp -r "$base/config/$DIRW" "$DIRPATHw" 2>&1 | tee -a "$log" echo -e "${OK:-[OK]} - Copy completed for ${YELLOW:-}$DIRW${RESET:-}" 2>&1 | tee -a "$log" fi } copy_phase2() { local log="$1" + local base="${DOTFILES_DIR:-.}" local DIR="btop cava hypr Kvantum qt5ct qt6ct swappy wallust wlogout" for DIR_NAME in $DIR; do local DIRPATH="$HOME/.config/$DIR_NAME" @@ -118,8 +121,8 @@ copy_phase2() { BACKUP_DIR=$(get_backup_dirname) mv "$DIRPATH" "$DIRPATH-backup-$BACKUP_DIR" 2>&1 | tee -a "$log" fi - if [ -d "config/$DIR_NAME" ]; then - cp -r "config/$DIR_NAME/" "$HOME/.config/$DIR_NAME" 2>&1 | tee -a "$log" + if [ -d "$base/config/$DIR_NAME" ]; then + cp -r "$base/config/$DIR_NAME/" "$HOME/.config/$DIR_NAME" 2>&1 | tee -a "$log" echo "${OK:-[OK]} - Copy of config for ${YELLOW:-}$DIR_NAME${RESET:-} completed!" 2>&1 | tee -a "$log" else echo "${ERROR:-[ERROR]} - Directory config/$DIR_NAME does not exist to copy." 2>&1 | tee -a "$log" diff --git a/scripts/lib_prompts.sh b/scripts/lib_prompts.sh index bf6fafd7..6475e54d 100644 --- a/scripts/lib_prompts.sh +++ b/scripts/lib_prompts.sh @@ -21,6 +21,7 @@ prompt_detect_layout() { prompt_keyboard_layout() { local layout="$1" local log="$2" + local base="${DOTFILES_DIR:-.}" if [ "$layout" = "(unset)" ]; then while true; do @@ -65,8 +66,8 @@ ${MAGENTA} NOTE:${RESET} read keyboard_layout case $keyboard_layout in [yY]) - awk -v layout="$layout" '/kb_layout/ {$0 = " kb_layout = " layout} 1' config/hypr/configs/SystemSettings.conf >temp.conf - mv temp.conf config/hypr/configs/SystemSettings.conf + awk -v layout="$layout" '/kb_layout/ {$0 = " kb_layout = " layout} 1' "$base/config/hypr/configs/SystemSettings.conf" >temp.conf + mv temp.conf "$base/config/hypr/configs/SystemSettings.conf" echo "${NOTE} kb_layout ${MAGENTA}$layout${RESET} configured in settings." 2>&1 | tee -a "$log" break ;; @@ -95,8 +96,8 @@ ${MAGENTA} NOTE:${RESET} printf "\n%.0s" {1..1} echo -n "${CAT} - Please enter the correct keyboard layout: " read new_layout - awk -v new_layout="$new_layout" '/kb_layout/ {$0 = " kb_layout = " new_layout} 1' config/hypr/configs/SystemSettings.conf >temp.conf - mv temp.conf config/hypr/configs/SystemSettings.conf + awk -v new_layout="$new_layout" '/kb_layout/ {$0 = " kb_layout = " new_layout} 1' "$base/config/hypr/configs/SystemSettings.conf" >temp.conf + mv temp.conf "$base/config/hypr/configs/SystemSettings.conf" echo "${OK} kb_layout $new_layout configured in settings." 2>&1 | tee -a "$log" break ;; @@ -131,6 +132,7 @@ prompt_resolution_choice() { # Prompt for 12H clock; sets waybar/hyprlock/SDDM changes when accepted. prompt_clock_12h() { local log="$1" + local base="${DOTFILES_DIR:-.}" while true; do echo -e "${NOTE} ${SKY_BLUE} By default, KooL's Dots are configured in 24H clock format." echo -n "$CAT Do you want to change to 12H (AM/PM) clock format? (y/n): " @@ -138,20 +140,20 @@ prompt_clock_12h() { answer=$(echo "$answer" | tr '[:upper:]' '[:lower:]') if [[ "$answer" == "y" ]]; then # waybar clocks - sed -i 's#^\(\s*\)//\("format": " {:%I:%M %p}",\) #\1\2 #g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)\("format": " {:%H:%M:%S}",\) #\1//\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)\("format": " {:%H:%M}",\) #\1//\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)//\("format": "{:%I:%M %p - %d/%b}",\) #\1\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)\("format": "{:%H:%M - %d/%b}",\) #\1//\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)//\("format": "{:%B | %a %d, %Y | %I:%M %p}",\) #\1\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)\("format": "{:%B | %a %d, %Y | %H:%M}",\) #\1//\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)//\("format": "{:%A, %I:%M %P}",\) #\1\2#g' config/waybar/Modules 2>&1 | tee -a "$log" - sed -i 's#^\(\s*\)\("format": "{:%a %d | %H:%M}",\) #\1//\2#g' config/waybar/Modules 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)//\("format": " {:%I:%M %p}",\) #\1\2 #g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)\("format": " {:%H:%M:%S}",\) #\1//\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)\("format": " {:%H:%M}",\) #\1//\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)//\("format": "{:%I:%M %p - %d/%b}",\) #\1\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)\("format": "{:%H:%M - %d/%b}",\) #\1//\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)//\("format": "{:%B | %a %d, %Y | %I:%M %p}",\) #\1\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)\("format": "{:%B | %a %d, %Y | %H:%M}",\) #\1//\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)//\("format": "{:%A, %I:%M %P}",\) #\1\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" + sed -i 's#^\(\s*\)\("format": "{:%a %d | %H:%M}",\) #\1//\2#g' "$base/config/waybar/Modules" 2>&1 | tee -a "$log" # hyprlock - local HYPRLOCK_FILE="config/hypr/hyprlock.conf" - if [ ! -f "$HYPRLOCK_FILE" ] && [ -f "config/hypr/hyprlock-1080p.conf" ]; then - HYPRLOCK_FILE="config/hypr/hyprlock-1080p.conf" + local HYPRLOCK_FILE="$base/config/hypr/hyprlock.conf" + if [ ! -f "$HYPRLOCK_FILE" ] && [ -f "$base/config/hypr/hyprlock-1080p.conf" ]; then + HYPRLOCK_FILE="$base/config/hypr/hyprlock-1080p.conf" fi if [ -f "$HYPRLOCK_FILE" ]; then sed -i 's/^\s*text = cmd\[update:1000\] echo \"\$(date +\"%H\")\"/# &/' "$HYPRLOCK_FILE" 2>&1 | tee -a "$log" |
