Update STY_ vars

This commit is contained in:
clsty
2025-10-16 12:14:54 +08:00
parent 3b1f9aa41e
commit 450a1493fe
12 changed files with 115 additions and 115 deletions
+2 -2
View File
@@ -8,13 +8,13 @@
# Pay attention to the version of Qt which quickshell built against. # Pay attention to the version of Qt which quickshell built against.
STY_RED='\e[31m' STY_RED='\e[31m'
STY_RESET='\e[00m' STY_RST='\e[00m'
cd "$(dirname "$0")";export base="$(pwd)" cd "$(dirname "$0")";export base="$(pwd)"
output_file=diagnose.result;rm $output_file output_file=diagnose.result;rm $output_file
export LANG=C;export LC_ALL=C export LANG=C;export LC_ALL=C
case $(whoami) in case $(whoami) in
root)echo -e "${STY_RED}[$0]: This script is NOT to be executed with sudo or as root. Aborting...${STY_RESET}";exit 1;; root)echo -e "${STY_RED}[$0]: This script is NOT to be executed with sudo or as root. Aborting...${STY_RST}";exit 1;;
esac esac
+3 -3
View File
@@ -22,17 +22,17 @@ if [[ "${SKIP_ALLGREETING}" != true ]]; then
fi fi
##################################################################################### #####################################################################################
if [[ "${SKIP_ALLDEPS}" != true ]]; then if [[ "${SKIP_ALLDEPS}" != true ]]; then
printf "${STY_CYAN}[$0]: 1. Install dependencies\n${STY_RESET}" printf "${STY_CYAN}[$0]: 1. Install dependencies\n${STY_RST}"
source ./sdata/step/1.install-deps-selector.sh source ./sdata/step/1.install-deps-selector.sh
fi fi
##################################################################################### #####################################################################################
if [[ "${SKIP_ALLSETUPS}" != true ]]; then if [[ "${SKIP_ALLSETUPS}" != true ]]; then
printf "${STY_CYAN}[$0]: 2. Setup for permissions/services etc\n${STY_RESET}" printf "${STY_CYAN}[$0]: 2. Setup for permissions/services etc\n${STY_RST}"
source ./sdata/step/2.install-setups-selector.sh source ./sdata/step/2.install-setups-selector.sh
fi fi
##################################################################################### #####################################################################################
if [[ "${SKIP_ALLFILES}" != true ]]; then if [[ "${SKIP_ALLFILES}" != true ]]; then
printf "${STY_CYAN}[$0]: 3. Copying config files\n${STY_RESET}" printf "${STY_CYAN}[$0]: 3. Copying config files\n${STY_RST}"
if [[ "${EXPERIMENTAL_FILES_SCRIPT}" != true ]]; then if [[ "${EXPERIMENTAL_FILES_SCRIPT}" != true ]]; then
source ./sdata/step/3.install-files.sh source ./sdata/step/3.install-files.sh
else else
+4 -4
View File
@@ -11,7 +11,7 @@ read -r
############################################################################################################################## ##############################################################################################################################
# Undo Step 3: Removing copied config and local folders # Undo Step 3: Removing copied config and local folders
printf "${STY_CYAN}Removing copied config and local folders...\n${STY_RESET}" printf "${STY_CYAN}Removing copied config and local folders...\n${STY_RST}"
dirs=( dirs=(
Kvantum/ Kvantum/
@@ -60,7 +60,7 @@ v sudo rm -rf "$XDG_STATE_HOME/quickshell"
############################################################################################################################## ##############################################################################################################################
# Undo Step 1: Remove added user from video, i2c, and input groups and remove yay packages # Undo Step 1: Remove added user from video, i2c, and input groups and remove yay packages
printf "${STY_CYAN}Removing user from video, i2c, and input groups and removing packages...\n${STY_RESET}" printf "${STY_CYAN}Removing user from video, i2c, and input groups and removing packages...\n${STY_RST}"
user=$(whoami) user=$(whoami)
v sudo gpasswd -d "$user" video v sudo gpasswd -d "$user" video
v sudo gpasswd -d "$user" i2c v sudo gpasswd -d "$user" i2c
@@ -74,5 +74,5 @@ Ctrl+C to exit, or press Enter to proceed" p
# Removing installed yay packages and dependencies # Removing installed yay packages and dependencies
v yay -Rns illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fonts-themes,hyprland,kde,microtex-git,oneui4-icons-git,portal,python,screencapture,toolkit,widgets} plasma-browser-integration v yay -Rns illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fonts-themes,hyprland,kde,microtex-git,oneui4-icons-git,portal,python,screencapture,toolkit,widgets} plasma-browser-integration
printf "${STY_CYAN}Uninstall Complete.\n${STY_RESET}" printf "${STY_CYAN}Uninstall Complete.\n${STY_RST}"
printf "${STY_CYAN}Hint: If you had agreed to backup when you ran \"install.sh\", you should be able to find it under \"$BACKUP_DIR\".\n${STY_RESET}" printf "${STY_CYAN}Hint: If you had agreed to backup when you ran \"install.sh\", you should be able to find it under \"$BACKUP_DIR\".\n${STY_RST}"
+7 -15
View File
@@ -7,20 +7,12 @@ XDG_STATE_HOME=${XDG_STATE_HOME:-$HOME/.local/state}
BACKUP_DIR=${BACKUP_DIR:-$HOME/backup} BACKUP_DIR=${BACKUP_DIR:-$HOME/backup}
# Note that all color styles contains a STY_RESET before it. STY_RED='\e[31m'
STY_RED='\e[00m\e[31m' STY_GREEN='\e[32m'
STY_GREEN='\e[00m\e[32m' STY_YELLOW='\e[33m'
STY_YELLOW='\e[00m\e[33m' STY_BLUE='\e[34m'
STY_BLUE='\e[00m\e[34m' STY_PURPLE='\e[35m'
STY_PURPLE='\e[00m\e[35m' STY_CYAN='\e[36m'
STY_CYAN='\e[00m\e[36m'
STY_BG_RED='\e[30m\e[41m'
STY_BG_GREEN='\e[30m\e[42m'
STY_BG_YELLOW='\e[30m\e[43m'
STY_BG_BLUE='\e[30m\e[44m'
STY_BG_PURPLE='\e[30m\e[45m'
STY_BG_CYAN='\e[30m\e[46m'
STY_BOLD='\e[1m' STY_BOLD='\e[1m'
STY_FAINT='\e[2m' STY_FAINT='\e[2m'
@@ -28,4 +20,4 @@ STY_SLANT='\e[3m'
STY_UNDERLINE='\e[4m' STY_UNDERLINE='\e[4m'
STY_BLINK='\e[5m' STY_BLINK='\e[5m'
STY_INVERT='\e[7m' STY_INVERT='\e[7m'
STY_RESET='\e[00m' STY_RST='\e[00m'
+20 -20
View File
@@ -8,28 +8,28 @@
function try { "$@" || sleep 0; } function try { "$@" || sleep 0; }
function v(){ function v(){
echo -e "####################################################" echo -e "####################################################"
echo -e "${STY_BLUE}[$0]: Next command:${STY_RESET}" echo -e "${STY_BLUE}[$0]: Next command:${STY_RST}"
echo -e "${STY_GREEN}$@${STY_RESET}" echo -e "${STY_GREEN}$@${STY_RST}"
local execute=true local execute=true
if $ask;then if $ask;then
while true;do while true;do
echo -e "${STY_BLUE}Execute? ${STY_RESET}" echo -e "${STY_BLUE}Execute? ${STY_RST}"
echo " y = Yes" echo " y = Yes"
echo " e = Exit now" echo " e = Exit now"
echo " s = Skip this command (NOT recommended - your setup might not work correctly)" echo " s = Skip this command (NOT recommended - your setup might not work correctly)"
echo " yesforall = Yes and don't ask again; NOT recommended unless you really sure" echo " yesforall = Yes and don't ask again; NOT recommended unless you really sure"
local p; read -p "====> " p local p; read -p "====> " p
case $p in case $p in
[yY]) echo -e "${STY_BLUE}OK, executing...${STY_RESET}" ;break ;; [yY]) echo -e "${STY_BLUE}OK, executing...${STY_RST}" ;break ;;
[eE]) echo -e "${STY_BLUE}Exiting...${STY_RESET}" ;exit ;break ;; [eE]) echo -e "${STY_BLUE}Exiting...${STY_RST}" ;exit ;break ;;
[sS]) echo -e "${STY_BLUE}Alright, skipping this one...${STY_RESET}" ;execute=false ;break ;; [sS]) echo -e "${STY_BLUE}Alright, skipping this one...${STY_RST}" ;execute=false ;break ;;
"yesforall") echo -e "${STY_BLUE}Alright, won't ask again. Executing...${STY_RESET}"; ask=false ;break ;; "yesforall") echo -e "${STY_BLUE}Alright, won't ask again. Executing...${STY_RST}"; ask=false ;break ;;
*) echo -e "${STY_RED}Please enter [y/e/s/yesforall].${STY_RESET}";; *) echo -e "${STY_RED}Please enter [y/e/s/yesforall].${STY_RST}";;
esac esac
done done
fi fi
if $execute;then x "$@";else if $execute;then x "$@";else
echo -e "${STY_YELLOW}[$0]: Skipped \"$@\"${STY_RESET}" echo -e "${STY_YELLOW}[$0]: Skipped \"$@\"${STY_RST}"
fi fi
} }
# When use v() for a defined function, use x() INSIDE its definition to catch errors. # When use v() for a defined function, use x() INSIDE its definition to catch errors.
@@ -38,36 +38,36 @@ function x(){
while [ $cmdstatus == 1 ] ;do while [ $cmdstatus == 1 ] ;do
echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed." echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed."
echo -e "You may need to resolve the problem manually BEFORE repeating this command." echo -e "You may need to resolve the problem manually BEFORE repeating this command."
echo -e "[Tip] If a certain package is failing to install, try installing it separately in another terminal.${STY_RESET}" echo -e "[Tip] If a certain package is failing to install, try installing it separately in another terminal.${STY_RST}"
echo " r = Repeat this command (DEFAULT)" echo " r = Repeat this command (DEFAULT)"
echo " e = Exit now" echo " e = Exit now"
echo " i = Ignore this error and continue (your setup might not work correctly)" echo " i = Ignore this error and continue (your setup might not work correctly)"
local p; read -p " [R/e/i]: " p local p; read -p " [R/e/i]: " p
case $p in case $p in
[iI]) echo -e "${STY_BLUE}Alright, ignore and continue...${STY_RESET}";cmdstatus=2;; [iI]) echo -e "${STY_BLUE}Alright, ignore and continue...${STY_RST}";cmdstatus=2;;
[eE]) echo -e "${STY_BLUE}Alright, will exit.${STY_RESET}";break;; [eE]) echo -e "${STY_BLUE}Alright, will exit.${STY_RST}";break;;
*) echo -e "${STY_BLUE}OK, repeating...${STY_RESET}" *) echo -e "${STY_BLUE}OK, repeating...${STY_RST}"
if "$@";then cmdstatus=0;else cmdstatus=1;fi if "$@";then cmdstatus=0;else cmdstatus=1;fi
;; ;;
esac esac
done done
case $cmdstatus in case $cmdstatus in
0) echo -e "${STY_BLUE}[$0]: Command \"${STY_GREEN}$@${STY_BLUE}\" finished.${STY_RESET}";; 0) echo -e "${STY_BLUE}[$0]: Command \"${STY_GREEN}$@${STY_BLUE}\" finished.${STY_RST}";;
1) echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed. Exiting...${STY_RESET}";exit 1;; 1) echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed. Exiting...${STY_RST}";exit 1;;
2) echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed but ignored by user.${STY_RESET}";; 2) echo -e "${STY_RED}[$0]: Command \"${STY_GREEN}$@${STY_RED}\" has failed but ignored by user.${STY_RST}";;
esac esac
} }
function showfun(){ function showfun(){
echo -e "${STY_BLUE}[$0]: The definition of function \"$1\" is as follows:${STY_RESET}" echo -e "${STY_BLUE}[$0]: The definition of function \"$1\" is as follows:${STY_RST}"
printf "${STY_GREEN}" printf "${STY_GREEN}"
type -a $1 type -a $1
printf "${STY_RESET}" printf "${STY_RST}"
} }
function pause(){ function pause(){
if [ ! "$ask" == "false" ];then if [ ! "$ask" == "false" ];then
printf "${STY_FAINT}${STY_SLANT}" printf "${STY_FAINT}${STY_SLANT}"
local p; read -p "(Ctrl-C to abort, others to proceed)" p local p; read -p "(Ctrl-C to abort, others to proceed)" p
printf "${STY_RESET}" printf "${STY_RST}"
fi fi
} }
function remove_bashcomments_emptylines(){ function remove_bashcomments_emptylines(){
@@ -76,7 +76,7 @@ function remove_bashcomments_emptylines(){
} }
function prevent_sudo_or_root(){ function prevent_sudo_or_root(){
case $(whoami) in case $(whoami) in
root) echo -e "${STY_RED}[$0]: This script is NOT to be executed with sudo or as root. Aborting...${STY_RESET}";exit 1;; root) echo -e "${STY_RED}[$0]: This script is NOT to be executed with sudo or as root. Aborting...${STY_RST}";exit 1;;
esac esac
} }
function git_auto_unshallow(){ function git_auto_unshallow(){
+16 -11
View File
@@ -3,26 +3,30 @@
##################################################################################### #####################################################################################
printf "${STY_CYAN}[$0]: Hi there! Before we start:${STY_RESET}\n" printf "${STY_CYAN}[$0]: Hi there! Before we start:${STY_RST}\n"
printf "\n" printf "\n"
printf "${STY_PURPLE}${STY_BOLD}[NEW] illogical-impulse is now powered by Quickshell.${STY_PURPLE}\n" printf "${STY_PURPLE}${STY_BOLD}[NEW] illogical-impulse is now powered by Quickshell.${STY_RST}\n"
printf "${STY_PURPLE}"
printf '# If you were using the old version with AGS and would like to keep it, do not run this script.\n' printf '# If you were using the old version with AGS and would like to keep it, do not run this script.\n'
printf '# The AGS version, although uses less memory, has much worse performance (it uses Gtk3). \n' printf '# The AGS version, although uses less memory, has much worse performance (it uses Gtk3). \n'
printf '# If you aren'\''t running on ewaste, the Quickshell version is recommended. \n' printf '# If you aren'\''t running on ewaste, the Quickshell version is recommended. \n'
printf "# If you would like the AGS version anyway, run the following to switch to its branch first:\n ${STY_INVERT} git checkout ii-ags && ./install.sh ${STY_RESET}\n" printf "# If you would like the AGS version anyway, run the following to switch to its branch first:\n ${STY_INVERT} git checkout ii-ags && ./install.sh ${STY_RST}\n"
printf "\n" printf "\n"
pause pause
printf "${STY_CYAN}${STY_BOLD}Quick overview about what this script does:${STY_CYAN}\n" printf "${STY_CYAN}${STY_BOLD}Quick overview about what this script does:${STY_RST}\n"
printf "${STY_CYAN}"
printf " 1. Install dependencies.\n" printf " 1. Install dependencies.\n"
printf " 2. Setup permissions/services etc.\n" printf " 2. Setup permissions/services etc.\n"
printf " 3. Copying config files.${STY_RESET}\n" printf " 3. Copying config files.${STY_RST}\n"
pause pause
printf "${STY_CYAN}${STY_BOLD}Tips:${STY_CYAN}\n" printf "${STY_CYAN}${STY_BOLD}Tips:${STY_RST}\n"
printf "${STY_CYAN}"
printf " a) It has been designed to be idempotent which means you can run it multiple times.\n" printf " a) It has been designed to be idempotent which means you can run it multiple times.\n"
printf " b) Use ${STY_INVERT} --help ${STY_CYAN} for more options.${STY_RESET}\n" printf " b) Use ${STY_INVERT} --help ${STY_RST}${STY_CYAN} for more options.${STY_RST}\n"
printf "${STY_YELLOW}${STY_BOLD}Note: ${STY_YELLOW}" printf "${STY_YELLOW}${STY_BOLD}Note: ${STY_RST}"
printf "${STY_YELLOW}"
printf "It does not handle system-level/hardware stuff like Nvidia drivers. Please do it by yourself.\n" printf "It does not handle system-level/hardware stuff like Nvidia drivers. Please do it by yourself.\n"
printf "${STY_RESET}" printf "${STY_RST}"
printf "\n" printf "\n"
pause pause
@@ -30,7 +34,8 @@ case $ask in
false) sleep 0 ;; false) sleep 0 ;;
*) *)
printf "${STY_BLUE}" printf "${STY_BLUE}"
printf "${STY_BOLD}Do you want to confirm every time before a command executes?${STY_BLUE}\n" printf "${STY_BOLD}Do you want to confirm every time before a command executes?${STY_RST}\n"
printf "${STY_BLUE}"
printf " y = Yes, ask me before executing each of them. (DEFAULT)\n" printf " y = Yes, ask me before executing each of them. (DEFAULT)\n"
printf " n = No, I know everything this script will do, just execute them automatically.\n" printf " n = No, I know everything this script will do, just execute them automatically.\n"
printf " a = Abort.\n" printf " a = Abort.\n"
@@ -40,6 +45,6 @@ case $ask in
a) exit 1 ;; a) exit 1 ;;
*) ask=true ;; *) ask=true ;;
esac esac
printf "${STY_RESET}" printf "${STY_RST}"
;; ;;
esac esac
+13 -13
View File
@@ -54,7 +54,7 @@ case $MACHINE_ARCH in
printf "This script only supports x86_64.\n" printf "This script only supports x86_64.\n"
printf "It is very likely to fail when installing dependencies on your machine.\n" printf "It is very likely to fail when installing dependencies on your machine.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
;; ;;
esac esac
@@ -80,7 +80,7 @@ if [[ "$INSTALL_VIA_NIX" == "true" ]]; then
printf "The process is still WIP.\n" printf "The process is still WIP.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-deps.sh source ./sdist/${TARGET_ID}/install-deps.sh
@@ -92,7 +92,7 @@ elif [[ "$OS_DISTRO_ID" =~ ^(arch|endeavouros)$ ]]; then
printf "Detected distro ID: ${OS_DISTRO_ID}\n" printf "Detected distro ID: ${OS_DISTRO_ID}\n"
printf "./sdist/${TARGET_ID}/install-deps.sh will be used.\n" printf "./sdist/${TARGET_ID}/install-deps.sh will be used.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-deps.sh source ./sdist/${TARGET_ID}/install-deps.sh
@@ -106,28 +106,28 @@ elif [[ -f "./sdist/${OS_DISTRO_ID}/install-deps.sh" ]]; then
printf "This file is provided by the community.\n" printf "This file is provided by the community.\n"
printf "It is not officially supported by github:end-4/dots-hyprland .\n" printf "It is not officially supported by github:end-4/dots-hyprland .\n"
test -f "./sdist/${TARGET_ID}/README.md" && \ test -f "./sdist/${TARGET_ID}/README.md" && \
printf "Read ${STY_INVERT} ./sdist/${TARGET_ID}/README.md ${STY_PURPLE} for more information.\n" printf "Read ${STY_INVERT} ./sdist/${TARGET_ID}/README.md ${STY_RST}${STY_PURPLE} for more information.\n"
printf "${STY_BOLD}" printf "${STY_BOLD}"
printf "If you find out any problems about it, PR is welcomed if you are able to address it. Or, create a discussion about it, but please do not submit issue, because the developers do not use this distro, therefore they cannot help.${STY_RESET}\n" printf "If you find out any problems about it, PR is welcomed if you are able to address it. Or, create a discussion about it, but please do not submit issue, because the developers do not use this distro, therefore they cannot help.${STY_RST}\n"
printf "${STY_PURPLE}" printf "${STY_PURPLE}"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
tmp_update_status="$(outdate_detect sdist/arch sdist/${TARGET_ID})" tmp_update_status="$(outdate_detect sdist/arch sdist/${TARGET_ID})"
if [[ "${tmp_update_status}" =~ ^(OUTDATED|EMPTY_TARGET|EMPTY_SOURCE|FORCE_OUTDATED|WIP)$ ]]; then if [[ "${tmp_update_status}" =~ ^(OUTDATED|EMPTY_TARGET|EMPTY_SOURCE|FORCE_OUTDATED|WIP)$ ]]; then
printf "${STY_RED}${STY_BOLD}===URGENT===${STY_RST}\n"
printf "${STY_RED}" printf "${STY_RED}"
printf "${STY_BOLD}===URGENT===${STY_RED}\n"
printf "The community provided ./sdist/${TARGET_ID}/ is not updated (update status: ${tmp_update_status}),\n" printf "The community provided ./sdist/${TARGET_ID}/ is not updated (update status: ${tmp_update_status}),\n"
printf "which means it does not fully reflect the latest changes of ./sdist/arch/ .\n" printf "which means it does not fully reflect the latest changes of ./sdist/arch/ .\n"
printf "You are highly recommended to abort this script, until someone (maybe you?) has updated the ./sdist/${TARGET_ID}/ to fully reflect the latest changes in ./sdist/arch/ .\n" printf "You are highly recommended to abort this script, until someone (maybe you?) has updated the ./sdist/${TARGET_ID}/ to fully reflect the latest changes in ./sdist/arch/ .\n"
printf "PR is welcomed. Please see discussion#2140 for details.\n" printf "PR is welcomed. Please see discussion#2140 for details.\n"
printf "${STY_UNDERLINE}https://github.com/end-4/dots-hyprland/discussions/2140${STY_RESET}\n" printf "${STY_UNDERLINE}https://github.com/end-4/dots-hyprland/discussions/2140${STY_RST}\n"
printf "${STY_RED}${STY_INVERT}If you are proceeding anyway, illogical-impulse will very likely not work as expected.${STY_RESET}\n" printf "${STY_RED}${STY_INVERT}If you are proceeding anyway, illogical-impulse will very likely not work as expected.${STY_RST}\n"
if [ "$ask" = "false" ]; then if [ "$ask" = "false" ]; then
echo "Urgent problem encountered, aborting...";exit 1 echo "Urgent problem encountered, aborting...";exit 1
fi fi
printf "${STY_RED}Still proceed?${STY_RESET}\n" printf "${STY_RED}Still proceed?${STY_RST}\n"
read -p "[y/N]: " p read -p "[y/N]: " p
case "$p" in case "$p" in
[yY])sleep 0;; [yY])sleep 0;;
@@ -148,15 +148,15 @@ elif [[ "$OS_DISTRO_ID_LIKE" == "arch" || "$OS_DISTRO_ID" == "cachyos" ]]; then
printf "Still, there is a chance that it not works as expected or even fails.\n" printf "Still, there is a chance that it not works as expected or even fails.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-deps.sh source ./sdist/${TARGET_ID}/install-deps.sh
else else
TARGET_ID=fallback TARGET_ID=fallback
printf "${STY_RED}${STY_BOLD}===URGENT===${STY_RST}\n"
printf "${STY_RED}" printf "${STY_RED}"
printf "${STY_BOLD}===URGENT===${STY_RED}\n"
printf "Detected distro ID: ${OS_DISTRO_ID}\n" printf "Detected distro ID: ${OS_DISTRO_ID}\n"
printf "Detected distro ID_LIKE: ${OS_DISTRO_ID_LIKE}\n" printf "Detected distro ID_LIKE: ${OS_DISTRO_ID_LIKE}\n"
printf "./sdist/${OS_DISTRO_ID}/install-deps.sh not found.\n" printf "./sdist/${OS_DISTRO_ID}/install-deps.sh not found.\n"
@@ -164,7 +164,7 @@ else
printf "1. It may disrupt your system and will likely fail without your manual intervention.\n" printf "1. It may disrupt your system and will likely fail without your manual intervention.\n"
printf "2. It's WIP and only contains small number of dependencies far from enough.\n" printf "2. It's WIP and only contains small number of dependencies far from enough.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-deps.sh source ./sdist/${TARGET_ID}/install-deps.sh
+7 -7
View File
@@ -23,7 +23,7 @@ if [[ "$INSTALL_VIA_NIX" == "true" ]]; then
printf "The process is still WIP.\n" printf "The process is still WIP.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-setups.sh source ./sdist/${TARGET_ID}/install-setups.sh
@@ -35,7 +35,7 @@ elif [[ "$OS_DISTRO_ID" == "arch" ]]; then
printf "Detected distro ID: ${OS_DISTRO_ID}\n" printf "Detected distro ID: ${OS_DISTRO_ID}\n"
printf "./sdist/${TARGET_ID}/install-setups.sh will be used.\n" printf "./sdist/${TARGET_ID}/install-setups.sh will be used.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-setups.sh source ./sdist/${TARGET_ID}/install-setups.sh
@@ -48,12 +48,12 @@ elif [[ -f "./sdist/${OS_DISTRO_ID}/install-setups.sh" ]]; then
printf "./sdist/${TARGET_ID}/install-setups.sh will be used.\n" printf "./sdist/${TARGET_ID}/install-setups.sh will be used.\n"
printf "This file is provided by the community.\n" printf "This file is provided by the community.\n"
printf "It is not officially supported by github:end-4/dots-hyprland .\n" printf "It is not officially supported by github:end-4/dots-hyprland .\n"
printf "${STY_BG_PURPLE}" printf "${STY_INVERT}"
printf "If you find out any problems about it, PR is welcomed if you are able to address it. Or, create a discussion about it, but please do not submit issue, because the developers do not use this distro, therefore they cannot help.${STY_RESET}\n" printf "If you find out any problems about it, PR is welcomed if you are able to address it. Or, create a discussion about it, but please do not submit issue, because the developers do not use this distro, therefore they cannot help.${STY_RST}\n"
printf "${STY_PURPLE}" printf "${STY_PURPLE}"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-setups.sh source ./sdist/${TARGET_ID}/install-setups.sh
@@ -69,7 +69,7 @@ elif [[ "$OS_DISTRO_ID_LIKE" == "arch" || "$OS_DISTRO_ID" == "cachyos" ]]; then
printf "Still, there is a chance that it not works as expected or even fails.\n" printf "Still, there is a chance that it not works as expected or even fails.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-setups.sh source ./sdist/${TARGET_ID}/install-setups.sh
@@ -85,7 +85,7 @@ else
printf "It might fail or disrupt your system.\n" printf "It might fail or disrupt your system.\n"
printf "Proceed only at your own risk.\n" printf "Proceed only at your own risk.\n"
printf "\n" printf "\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
source ./sdist/${TARGET_ID}/install-setups.sh source ./sdist/${TARGET_ID}/install-setups.sh
+33 -30
View File
@@ -6,20 +6,21 @@
function warning_rsync(){ function warning_rsync(){
printf "${STY_YELLOW}" printf "${STY_YELLOW}"
printf "The commands using rsync will overwrite the destination when it exists already.\n" printf "The commands using rsync will overwrite the destination when it exists already.\n"
printf "${STY_RESET}" printf "${STY_RST}"
} }
function backup_clashing_targets(){ function backup_clashing_targets(){
# For dirs/files under target_dir, only backup those which clashes with the ones under source_dir # For dirs/files under target_dir, only backup those which clashes with the ones under source_dir
# Deal with arguments
local source_dir="$1" local source_dir="$1"
local target_dir="$2" local target_dir="$2"
local backup_dir="$3" local backup_dir="$3"
x mkdir -p $backup_dir
# Find clash dirs/files, save as clash_list
local clash_list=()
local source_list=($(ls -A "$source_dir")) local source_list=($(ls -A "$source_dir"))
local target_list=($(ls -A "$target_dir")) local target_list=($(ls -A "$target_dir"))
local clash_list=()
declare -A target_map declare -A target_map
for i in "${target_list[@]}"; do for i in "${target_list[@]}"; do
target_map["$i"]=1 target_map["$i"]=1
@@ -30,6 +31,7 @@ function backup_clashing_targets(){
fi fi
done done
# Construct args_includes for rsync
for i in "${clash_list[@]}"; do for i in "${clash_list[@]}"; do
current_target=$target_dir/$i current_target=$target_dir/$i
if [[ -d $current_target ]]; then if [[ -d $current_target ]]; then
@@ -41,6 +43,7 @@ function backup_clashing_targets(){
done done
args_includes+=(--exclude="*") args_includes+=(--exclude="*")
x mkdir -p $backup_dir
x rsync -av --progress "${arg_includes[@]}" "$target_dir/" "$backup_dir/" x rsync -av --progress "${arg_includes[@]}" "$target_dir/" "$backup_dir/"
} }
@@ -56,7 +59,7 @@ function ask_backup_configs(){
;; ;;
*) echo "Skipping backup..." ;; *) echo "Skipping backup..." ;;
esac esac
printf "${STY_RESET}" printf "${STY_RST}"
} }
##################################################################################### #####################################################################################
@@ -112,40 +115,40 @@ case $SKIP_HYPRLAND in
warning_rsync; v rsync -av --delete "${arg_excludes[@]}" dots/.config/hypr/ "$XDG_CONFIG_HOME"/hypr/ warning_rsync; v rsync -av --delete "${arg_excludes[@]}" dots/.config/hypr/ "$XDG_CONFIG_HOME"/hypr/
t="$XDG_CONFIG_HOME/hypr/hyprland.conf" t="$XDG_CONFIG_HOME/hypr/hyprland.conf"
if [ -f $t ];then if [ -f $t ];then
echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RESET}" echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RST}"
v mv $t $t.old v mv $t $t.old
v cp -f dots/.config/hypr/hyprland.conf $t v cp -f dots/.config/hypr/hyprland.conf $t
existed_hypr_conf_firstrun=y existed_hypr_conf_firstrun=y
else else
echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RST}"
v cp dots/.config/hypr/hyprland.conf $t v cp dots/.config/hypr/hyprland.conf $t
existed_hypr_conf=n existed_hypr_conf=n
fi fi
t="$XDG_CONFIG_HOME/hypr/hypridle.conf" t="$XDG_CONFIG_HOME/hypr/hypridle.conf"
if [ -f $t ];then if [ -f $t ];then
echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RESET}" echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RST}"
v cp -f dots/.config/hypr/hypridle.conf $t.new v cp -f dots/.config/hypr/hypridle.conf $t.new
existed_hypridle_conf=y existed_hypridle_conf=y
else else
echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RST}"
v cp dots/.config/hypr/hypridle.conf $t v cp dots/.config/hypr/hypridle.conf $t
existed_hypridle_conf=n existed_hypridle_conf=n
fi fi
t="$XDG_CONFIG_HOME/hypr/hyprlock.conf" t="$XDG_CONFIG_HOME/hypr/hyprlock.conf"
if [ -f $t ];then if [ -f $t ];then
echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RESET}" echo -e "${STY_BLUE}[$0]: \"$t\" already exists.${STY_RST}"
v cp -f dots/.config/hypr/hyprlock.conf $t.new v cp -f dots/.config/hypr/hyprlock.conf $t.new
existed_hyprlock_conf=y existed_hyprlock_conf=y
else else
echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RST}"
v cp dots/.config/hypr/hyprlock.conf $t v cp dots/.config/hypr/hyprlock.conf $t
existed_hyprlock_conf=n existed_hyprlock_conf=n
fi fi
t="$XDG_CONFIG_HOME/hypr/custom" t="$XDG_CONFIG_HOME/hypr/custom"
if [ -d $t ];then if [ -d $t ];then
echo -e "${STY_BLUE}[$0]: \"$t\" already exists, will not do anything.${STY_RESET}" echo -e "${STY_BLUE}[$0]: \"$t\" already exists, will not do anything.${STY_RST}"
else else
echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: \"$t\" does not exist yet.${STY_RST}"
warning_rsync; v rsync -av --delete dots/.config/hypr/custom/ $t/ warning_rsync; v rsync -av --delete dots/.config/hypr/custom/ $t/
fi fi
;; ;;
@@ -187,39 +190,39 @@ done
printf "\n" printf "\n"
printf "\n" printf "\n"
printf "\n" printf "\n"
printf "${STY_CYAN}[$0]: Finished${STY_RESET}\n" printf "${STY_CYAN}[$0]: Finished${STY_RST}\n"
printf "\n" printf "\n"
printf "${STY_CYAN}When starting Hyprland from your display manager (login screen) ${STY_RED} DO NOT SELECT UWSM ${STY_RESET}\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 "\n"
printf "${STY_CYAN}If you are already running Hyprland,${STY_RESET}\n" printf "${STY_CYAN}If you are already running Hyprland,${STY_RST}\n"
printf "${STY_CYAN}Press ${STY_BG_CYAN} Ctrl+Super+T ${STY_BG_CYAN} to select a wallpaper${STY_RESET}\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_BG_CYAN} Super+/ ${STY_CYAN} for a list of keybinds${STY_RESET}\n" printf "${STY_CYAN}Press ${STY_INVERT} Super+/ ${STY_RST}${STY_CYAN} for a list of keybinds${STY_RST}\n"
printf "\n" printf "\n"
printf "${STY_CYAN}For suggestions/hints after installation:${STY_RESET}\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_RESET}\n" printf "${STY_CYAN}${STY_UNDERLINE} https://ii.clsty.link/en/ii-qs/01setup/#post-installation ${STY_RST}\n"
printf "\n" printf "\n"
case $existed_hypr_conf_firstrun in case $existed_hypr_conf_firstrun in
y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprland.conf\" already existed before. As it seems it is your first run, we replaced it with a new one. ${STY_RESET}\n" y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprland.conf\" already existed before. As it seems it is your first run, we replaced it with a new one. ${STY_RST}\n"
printf "${STY_YELLOW}As it seems it is your first run, we replaced it with a new one. The old one has been renamed to \"$XDG_CONFIG_HOME/hypr/hyprland.conf.old\".${STY_RESET}\n" printf "${STY_YELLOW}As it seems it is your first run, we replaced it with a new one. The old one has been renamed to \"$XDG_CONFIG_HOME/hypr/hyprland.conf.old\".${STY_RST}\n"
;;esac ;;esac
case $existed_hypr_conf in case $existed_hypr_conf in
y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprland.conf\" already existed before and we didn't overwrite it. ${STY_RESET}\n" y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprland.conf\" already existed before and we didn't overwrite it. ${STY_RST}\n"
printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hyprland.conf.new\" as a reference for a proper format.${STY_RESET}\n" printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hyprland.conf.new\" as a reference for a proper format.${STY_RST}\n"
;;esac ;;esac
case $existed_hypridle_conf in case $existed_hypridle_conf in
y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hypridle.conf\" already existed before and we didn't overwrite it. ${STY_RESET}\n" y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hypridle.conf\" already existed before and we didn't overwrite it. ${STY_RST}\n"
printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hypridle.conf.new\" as a reference for a proper format.${STY_RESET}\n" printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hypridle.conf.new\" as a reference for a proper format.${STY_RST}\n"
;;esac ;;esac
case $existed_hyprlock_conf in case $existed_hyprlock_conf in
y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprlock.conf\" already existed before and we didn't overwrite it. ${STY_RESET}\n" y) printf "\n${STY_YELLOW}[$0]: Warning: \"$XDG_CONFIG_HOME/hypr/hyprlock.conf\" already existed before and we didn't overwrite it. ${STY_RST}\n"
printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hyprlock.conf.new\" as a reference for a proper format.${STY_RESET}\n" printf "${STY_YELLOW}Please use \"$XDG_CONFIG_HOME/hypr/hyprlock.conf.new\" as a reference for a proper format.${STY_RST}\n"
;;esac ;;esac
if [[ -z "${ILLOGICAL_IMPULSE_VIRTUAL_ENV}" ]]; then if [[ -z "${ILLOGICAL_IMPULSE_VIRTUAL_ENV}" ]]; then
printf "\n${STY_RED}[$0]: \!! Important \!! : Please ensure environment variable ${STY_RESET} \$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_RESET}\n" 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 fi
if [[ ! -z "${warn_files[@]}" ]]; then if [[ ! -z "${warn_files[@]}" ]]; then
printf "\n${STY_RED}[$0]: \!! Important \!! : Please delete ${STY_RESET} ${warn_files[*]} ${STY_RED} manually as soon as possible, since we\'re now using AUR package or local PKGBUILD to install them for Arch(based) Linux distros, and they'll take precedence over our installation, or at least take up more space.${STY_RESET}\n" printf "\n${STY_RED}[$0]: \!! Important \!! : Please delete ${STY_RST} ${warn_files[*]} ${STY_RED} manually as soon as possible, since we\'re now using AUR package or local PKGBUILD to install them for Arch(based) Linux distros, and they'll take precedence over our installation, or at least take up more space.${STY_RST}\n"
fi fi
+6 -6
View File
@@ -15,7 +15,7 @@ install-yay(){
# NOTE: `handle-deprecated-dependencies` was for the old days when we just switch from dependencies.conf to local PKGBUILDs. # NOTE: `handle-deprecated-dependencies` was for the old days when we just switch from dependencies.conf to local PKGBUILDs.
# However, let's just keep it as references for other distros writing their `sdist/<DISTRO_ID>/install-deps.sh`, if they need it. # However, let's just keep it as references for other distros writing their `sdist/<DISTRO_ID>/install-deps.sh`, if they need it.
handle-deprecated-dependencies(){ handle-deprecated-dependencies(){
printf "${STY_CYAN}[$0]: Removing deprecated dependencies:${STY_RESET}\n" printf "${STY_CYAN}[$0]: Removing deprecated dependencies:${STY_RST}\n"
for i in illogical-impulse-{microtex,pymyc-aur,ags,agsv1} {hyprutils,hyprpicker,hyprlang,hypridle,hyprland-qt-support,hyprland-qtutils,hyprlock,xdg-desktop-portal-hyprland,hyprcursor,hyprwayland-scanner,hyprland}-git;do try sudo pacman --noconfirm -Rdd $i;done for i in illogical-impulse-{microtex,pymyc-aur,ags,agsv1} {hyprutils,hyprpicker,hyprlang,hypridle,hyprland-qt-support,hyprland-qtutils,hyprlock,xdg-desktop-portal-hyprland,hyprcursor,hyprwayland-scanner,hyprland}-git;do try sudo pacman --noconfirm -Rdd $i;done
# Convert old dependencies to non explicit dependencies so that they can be orphaned if not in meta packages # Convert old dependencies to non explicit dependencies so that they can be orphaned if not in meta packages
remove_bashcomments_emptylines ./sdist/arch/previous_dependencies.conf ./cache/old_deps_stripped.conf remove_bashcomments_emptylines ./sdist/arch/previous_dependencies.conf ./cache/old_deps_stripped.conf
@@ -33,7 +33,7 @@ handle-deprecated-dependencies(){
##################################################################################### #####################################################################################
if ! command -v pacman >/dev/null 2>&1; then if ! command -v pacman >/dev/null 2>&1; then
printf "${STY_RED}[$0]: pacman not found, it seems that the system is not ArchLinux or Arch-based distros. Aborting...${STY_RESET}\n" printf "${STY_RED}[$0]: pacman not found, it seems that the system is not ArchLinux or Arch-based distros. Aborting...${STY_RST}\n"
exit 1 exit 1
fi fi
@@ -46,7 +46,7 @@ esac
# Use yay. Because paru does not support cleanbuild. # Use yay. Because paru does not support cleanbuild.
# Also see https://wiki.hyprland.org/FAQ/#how-do-i-update # Also see https://wiki.hyprland.org/FAQ/#how-do-i-update
if ! command -v yay >/dev/null 2>&1;then if ! command -v yay >/dev/null 2>&1;then
echo -e "${STY_YELLOW}[$0]: \"yay\" not found.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: \"yay\" not found.${STY_RST}"
showfun install-yay showfun install-yay
v install-yay v install-yay
fi fi
@@ -93,9 +93,9 @@ case $SKIP_PLASMAINTG in
true) sleep 0;; true) sleep 0;;
*) *)
if $ask;then if $ask;then
echo -e "${STY_YELLOW}[$0]: NOTE: The size of \"plasma-browser-integration\" is about 600 MiB.${STY_RESET}" echo -e "${STY_YELLOW}[$0]: NOTE: The size of \"plasma-browser-integration\" is about 600 MiB.${STY_RST}"
echo -e "${STY_YELLOW}It is needed if you want playtime of media in Firefox to be shown on the music controls widget.${STY_RESET}" echo -e "${STY_YELLOW}It is needed if you want playtime of media in Firefox to be shown on the music controls widget.${STY_RST}"
echo -e "${STY_YELLOW}Install it? [y/N]${STY_RESET}" echo -e "${STY_YELLOW}Install it? [y/N]${STY_RST}"
read -p "====> " p read -p "====> " p
else else
p=y p=y
+3 -3
View File
@@ -7,20 +7,20 @@ printf "GCC-15>= is required for Hyprland\n"
printf "If you have GCC-15>= and it's currently set then you can safely ignore this\n" printf "If you have GCC-15>= and it's currently set then you can safely ignore this\n"
printf "If not, you must ensure you are using the correct GCC version and set it (gcc-config <number>)\n" printf "If not, you must ensure you are using the correct GCC version and set it (gcc-config <number>)\n"
printf "It is heavily recommended to re-emerge @world with an empty tree after changing GCC version (emerge -e @world)\n\n" printf "It is heavily recommended to re-emerge @world with an empty tree after changing GCC version (emerge -e @world)\n\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
printf "${STY_YELLOW}" printf "${STY_YELLOW}"
printf "============WARNING/NOTE (2)============\n" printf "============WARNING/NOTE (2)============\n"
printf "Ensure you have a global use flag for elogind or systemd in your make.conf for simplicity\n" printf "Ensure you have a global use flag for elogind or systemd in your make.conf for simplicity\n"
printf "Or you can manually add the use flags for each package that requires it\n" printf "Or you can manually add the use flags for each package that requires it\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
printf "${STY_YELLOW}" printf "${STY_YELLOW}"
printf "https://github.com/end-4/dots-hyprland/blob/main/sdist/gentoo/README.md" printf "https://github.com/end-4/dots-hyprland/blob/main/sdist/gentoo/README.md"
printf "Checkout the above README for potential bug fixes or additional information" printf "Checkout the above README for potential bug fixes or additional information"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
x sudo emerge --noreplace --quiet app-eselect/eselect-repository x sudo emerge --noreplace --quiet app-eselect/eselect-repository
+1 -1
View File
@@ -27,7 +27,7 @@ elif [[ ! -z $(openrc --version) ]]; then
else else
printf "${STY_RED}" printf "${STY_RED}"
printf "====================INIT SYSTEM NOT FOUND====================\n" printf "====================INIT SYSTEM NOT FOUND====================\n"
printf "${STY_RESET}" printf "${STY_RST}"
pause pause
fi fi