Files
dots-hyprland/sdata/subcmd-install/3.files.sh
T
2025-11-19 07:46:40 +08:00

77 lines
3.0 KiB
Bash

# This script is meant to be sourced.
# It's not for directly running.
printf "${STY_CYAN}[$0]: 3. Copying config files\n${STY_RST}"
# shellcheck shell=bash
function warning_overwrite(){
printf "${STY_YELLOW}"
printf "The command below overwrites the destination.\n"
printf "${STY_RST}"
}
function auto_backup_configs(){
local backup=false
case $ask in
false) if [[ ! -d "$BACKUP_DIR" ]]; then local backup=true;fi;;
*)
printf "${STY_RED}"
printf "Would you like to backup clashing dirs/files to \"$BACKUP_DIR\"?\n"
printf "${STY_RST}"
while true;do
echo " y = Yes, backup"
echo " n/s = No, skip to next"
local p; read -p "====> " p
case $p in
[yY]) echo -e "${STY_BLUE}OK, doing backup...${STY_RST}"
local backup=true;break ;;
[nNsS]) echo -e "${STY_BLUE}Alright, skipping...${STY_RST}"
local backup=false;break ;;
*) echo -e "${STY_RED}Please enter [y/n/s].${STY_RST}";;
esac
done
;;
esac
if $backup;then
backup_clashing_targets dots/.config $XDG_CONFIG_HOME "${BACKUP_DIR}/.config"
backup_clashing_targets dots/.local/share $XDG_DATA_HOME "${BACKUP_DIR}/.local/share"
printf "${STY_BLUE}Backup into \"${BACKUP_DIR}\" finished.${STY_RST}\n"
fi
}
#####################################################################################
showfun auto_update_git_submodule
v auto_update_git_submodule
# Backup
if [[ ! "${SKIP_BACKUP}" == true ]]; then auto_backup_configs; fi
case "${EXPERIMENTAL_FILES_SCRIPT}" in
true)source sdata/subcmd-install/3.files-exp.sh;;
*)source sdata/subcmd-install/3.files-legacy.sh;;
esac
# Prevent hyprland from not fully loaded
sleep 1
try hyprctl reload
#####################################################################################
printf "\n"
printf "\n"
printf "\n"
printf "${STY_CYAN}[$0]: Finished${STY_RST}\n"
printf "\n"
printf "${STY_CYAN}When starting Hyprland from your display manager (login screen) ${STY_RED} DO NOT SELECT UWSM ${STY_RST}\n"
printf "\n"
printf "${STY_CYAN}If you are already running Hyprland,${STY_RST}\n"
printf "${STY_CYAN}Press ${STY_INVERT} Ctrl+Super+T ${STY_RST}${STY_CYAN} to select a wallpaper${STY_RST}\n"
printf "${STY_CYAN}Press ${STY_INVERT} Super+/ ${STY_RST}${STY_CYAN} for a list of keybinds${STY_RST}\n"
printf "\n"
printf "${STY_CYAN}For suggestions/hints after installation:${STY_RST}\n"
printf "${STY_CYAN}${STY_UNDERLINE} https://ii.clsty.link/en/ii-qs/01setup/#post-installation ${STY_RST}\n"
printf "\n"
if [[ -z "${ILLOGICAL_IMPULSE_VIRTUAL_ENV}" ]]; then
printf "\n${STY_RED}[$0]: \!! Important \!! : Please ensure environment variable ${STY_RST} \$ILLOGICAL_IMPULSE_VIRTUAL_ENV ${STY_RED} is set to proper value (by default \"~/.local/state/quickshell/.venv\"), or Quickshell config will not work. We have already provided this configuration in ~/.config/hypr/hyprland/env.conf, but you need to ensure it is included in hyprland.conf, and also a restart is needed for applying it.${STY_RST}\n"
fi