move all the initial questions at the beginning

This commit is contained in:
JaKooLit
2025-02-06 18:54:53 +09:00
parent 113fee6d7a
commit fd1358d920
12 changed files with 243 additions and 216 deletions

View File

@@ -2,11 +2,6 @@
# 💫 https://github.com/JaKooLit 💫 #
# Adding users into input group #
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -20,43 +15,17 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_input.log"
# Checking if current user is in the 'input' group
if groups "$(whoami)" | grep -q '\binput\b'; then
echo "USER $(whoami) is already in the 'input' group." 2>&1 > "$LOG"
exit 0
# Check if the 'input' group exists
if grep -q '^input:' /etc/group; then
echo "${OK} ${MAGENTA}input${RESET} group exists."
else
echo "${NOTE} ${MAGENTA}input${RESET} group doesn't exist. Creating ${MAGENTA}input${RESET} group..."
sudo groupadd input
echo "${MAGENTA}input${RESET} group created" >> "$LOG"
fi
while true; do
echo "${WARN} This script will add your ${YELLOW}user${RESET} to the ${MAGENTA}input${RESET} group."
echo "${NOTE} Please note that adding yourself to the ${MAGENTA}input${RESET} group might be necessary for ${MAGENTA}waybar keyboard-state functionality${RESET} ."
printf "\n%.0s" {1..1}
if [[ -z $input_group_choid ]]; then
read -p "${YELLOW}Do you want to proceed? (y/n): ${RESET}" input_group_choid
fi
# Add the user to the 'input' group
sudo usermod -aG input "$(whoami)"
echo "${OK} ${YELLOW}user${RESET} added to the ${MAGENTA}input${RESET} group. Changes will take effect after you log out and log back in." >> "$LOG"
if [[ $input_group_choid == "y" || $input_group_choid == "Y" ]]; then
if grep -q '^input:' /etc/group; then
echo "${OK} ${MAGENTA}input${RESET} group exists."
else
echo "${NOTE} ${MAGENTA}input${RESET} group doesn't exist. Creating ${MAGENTA}input${RESET} group..."
sudo groupadd input
echo "${MAGENTA}input${RESET} group created" >> "$LOG"
fi
sudo usermod -aG input "$(whoami)"
echo "${OK} ${YELLOW}user${RESET} added to the ${MAGENTA}input${RESET} group. Changes will take effect after you log out and log back in."
echo "User added to 'input' group" >> "$LOG"
break
elif [[ $input_group_choid == "n" || $input_group_choid == "N" ]]; then
echo "${NOTE} No changes made. Exiting the script."
break
else
echo "${ERROR} Invalid choice. Please enter 'y' for yes or 'n' for no."
fi
done
printf "\n%.0s" {1..2}
printf "\n%.0s" {1..2}

View File

@@ -120,30 +120,4 @@ if [ -f /boot/loader/loader.conf ]; then
fi
fi
printf "\n%.0s" {1..1}
# Blacklist nouveau
if [[ -z $blacklist_nouveau ]]; then
read -n1 -rep "${CAT} Would you like to ${YELLOW}blacklist nouveau${RESET}? (y/n)" blacklist_nouveau
fi
echo
if [[ $blacklist_nouveau =~ ^[Yy]$ ]]; then
NOUVEAU="/etc/modprobe.d/nouveau.conf"
if [ -f "$NOUVEAU" ]; then
printf "${OK} Seems like ${YELLOW}nouveau${RESET} is already blacklisted..moving on.\n"
else
echo "blacklist nouveau" | sudo tee -a "$NOUVEAU" 2>&1 | tee -a "$LOG"
printf "${INFO} has been added to $NOUVEAU.\n"
# To completely blacklist nouveau (See wiki.archlinux.org/title/Kernel_module#Blacklisting 6.1)
if [ -f "/etc/modprobe.d/blacklist.conf" ]; then
echo "install nouveau /bin/true" | sudo tee -a "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
else
echo "install nouveau /bin/true" | sudo tee "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
fi
fi
else
printf "${NOTE} Skipping ${YELLOW}nouveau blacklisting${RESET} ..." 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}
printf "\n%.0s" {1..2}

View File

@@ -0,0 +1,34 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia Blacklist #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log"
printf "${INFO} ${SKY_BLUE}blacklist nouveau${RESET}...\n"
# Blacklist nouveau
NOUVEAU="/etc/modprobe.d/nouveau.conf"
if [ -f "$NOUVEAU" ]; then
printf "${OK} Seems like ${YELLOW}nouveau${RESET} is already blacklisted..moving on.\n"
else
echo "blacklist nouveau" | sudo tee -a "$NOUVEAU" 2>&1 | tee -a "$LOG"
# To completely blacklist nouveau (See wiki.archlinux.org/title/Kernel_module#Blacklisting 6.1)
if [ -f "/etc/modprobe.d/blacklist.conf" ]; then
echo "install nouveau /bin/true" | sudo tee -a "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
else
echo "install nouveau /bin/true" | sudo tee "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
fi
fi
printf "\n%.0s" {1..2}

View File

@@ -1,9 +1,6 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SDDM Log-in Manager #
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
sddm=(
qt6-5compat
@@ -13,7 +10,6 @@ sddm=(
)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -52,59 +48,4 @@ sddm_conf_dir=/etc/sddm.conf.d
wayland_sessions_dir=/usr/share/wayland-sessions
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
printf "\n%.0s" {1..2}
# SDDM-themes
valid_input=false
while [ "$valid_input" != true ]; do
if [[ -z $install_sddm_theme ]]; then
read -n 1 -r -p "${CAT} OPTIONAL - Would you like to install ${YELLOW}additional SDDM themes?${RESET} (y/n)" install_sddm_theme
fi
if [[ $install_sddm_theme =~ ^[Yy]$ ]]; then
printf "\n%s - Installing ${SKY_BLUE}Additional SDDM Theme${RESET}\n" "${NOTE}"
# Check if /usr/share/sddm/themes/sequoia_2 exists and remove if it does
if [ -d "/usr/share/sddm/themes/sequoia_2" ]; then
sudo rm -rf "/usr/share/sddm/themes/sequoia_2"
echo -e "\e[1A\e[K${OK} - Removed existing 'sequoia_2' directory." 2>&1 | tee -a "$LOG"
fi
# Check if sequoia_2 directory exists in the current directory and remove if it does
if [ -d "sequoia_2" ]; then
rm -rf "sequoia_2"
echo -e "\e[1A\e[K${OK} - Removed existing 'sequoia_2' directory from the current location." 2>&1 | tee -a "$LOG"
fi
if git clone --depth 1 https://codeberg.org/JaKooLit/sddm-sequoia sequoia_2; then
while [ ! -d "sequoia_2" ]; do
sleep 1
done
if [ ! -d "/usr/share/sddm/themes" ]; then
sudo mkdir -p /usr/share/sddm/themes
echo -e "\e[1A\e[K${OK} - Directory '/usr/share/sddm/themes' created." 2>&1 | tee -a "$LOG"
fi
sudo mv sequoia_2 /usr/share/sddm/themes/sequoia_2
echo -e "[Theme]\nCurrent=sequoia_2" | sudo tee "$sddm_conf_dir/theme.conf.user" &>> "$LOG"
# replace current background from assets
sudo cp -r assets/sddm.png /usr/share/sddm/themes/sequoia_2/backgrounds/default
sudo sed -i 's|^wallpaper=".*"|wallpaper="backgrounds/default"|' /usr/share/sddm/themes/sequoia_2/theme.conf
echo -e "\e[1A\e[K${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed" | tee -a "$LOG" >&2
else
echo -e "\e[1A\e[K${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection" | tee -a "$LOG" >&2
fi
valid_input=true
elif [[ $install_sddm_theme =~ ^[Nn]$ ]]; then
printf "\n%s - No SDDM themes will be installed.\n" "${NOTE}" 2>&1 | tee -a "$LOG"
valid_input=true
else
printf "\n%s - Invalid input. Please enter 'y' for Yes or 'n' for No.\n" "${ERROR}" 2>&1 | tee -a "$LOG"
install_sddm_theme=""
fi
done
printf "\n%.0s" {1..2}

57
install-scripts/sddm_theme.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SDDM themes #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm_theme.log"
# SDDM-themes
printf "${INFO} Installing ${SKY_BLUE}Additional SDDM Theme${RESET}\n"
# Check if /usr/share/sddm/themes/sequoia_2 exists and remove if it does
if [ -d "/usr/share/sddm/themes/sequoia_2" ]; then
sudo rm -rf "/usr/share/sddm/themes/sequoia_2"
echo -e "\e[1A\e[K${OK} - Removed existing 'sequoia_2' directory." 2>&1 | tee -a "$LOG"
fi
# Check if sequoia_2 directory exists in the current directory and remove if it does
if [ -d "sequoia_2" ]; then
rm -rf "sequoia_2"
echo -e "\e[1A\e[K${OK} - Removed existing 'sequoia_2' directory from the current location." 2>&1 | tee -a "$LOG"
fi
if git clone --depth 1 https://codeberg.org/JaKooLit/sddm-sequoia sequoia_2; then
while [ ! -d "sequoia_2" ]; do
sleep 1
done
if [ ! -d "/usr/share/sddm/themes" ]; then
sudo mkdir -p /usr/share/sddm/themes
echo -e "\e[1A\e[K${OK} - Directory '/usr/share/sddm/themes' created." 2>&1 | tee -a "$LOG"
fi
sudo mv sequoia_2 /usr/share/sddm/themes/sequoia_2
echo -e "[Theme]\nCurrent=sequoia_2" | sudo tee "$sddm_conf_dir/theme.conf.user" &>> "$LOG"
# replace current background from assets
sudo cp -r assets/sddm.png /usr/share/sddm/themes/sequoia_2/backgrounds/default
sudo sed -i 's|^wallpaper=".*"|wallpaper="backgrounds/default"|' /usr/share/sddm/themes/sequoia_2/theme.conf
echo -e "\e[1A\e[K${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed" | tee -a "$LOG" >&2
else
echo -e "\e[1A\e[K${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection" | tee -a "$LOG" >&2
fi
printf "\n%.0s" {1..2}

View File

@@ -30,39 +30,11 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log"
# Thunar
printf "${NOTE} Installing ${SKY_BLUE}Thunar${RESET} Packages...\n"
printf "${INFO} Installing ${SKY_BLUE}Thunar${RESET} Packages...\n"
for THUNAR in "${thunar[@]}"; do
install_package "$THUNAR" "$LOG"
done
printf "\n%.0s" {1..1}
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
# Confirm if wanted to set as default
while true; do
if [[ -z $thunar_choice ]]; then
read -p "${CAT} want to set ${MAGENTA}Thunar${RESET} as the default file manager? (y/n): " thunar_choice
fi
case "$thunar_choice" in
[Yy]*)
xdg-mime default thunar.desktop inode/directory
xdg-mime default thunar.desktop application/x-wayland-gnome-saved-search
echo "${OK} ${MAGENTA}Thunar${RESET} is now set as the default file manager." | tee -a "$LOG"
break
;;
[Nn]*)
echo "${NOTE} You chose not to set ${MAGENTA}Thunar${RESET} as the default file manager." | tee -a "$LOG"
break
;;
*)
echo "${WARN} Invalid input. Please enter 'y' or 'n'."
;;
esac
done
printf "\n%.0s" {1..1}
# Check for existing configs and copy if does not exist

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar-default #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar-default.log"
printf "${INFO} Setting ${SKY_BLUE}Thunar${RESET} as default file manager...\n"
xdg-mime default thunar.desktop inode/directory
xdg-mime default thunar.desktop application/x-wayland-gnome-saved-search
echo "${OK} ${MAGENTA}Thunar${RESET} is now set as the default file manager." | tee -a "$LOG"
printf "\n%.0s" {1..2}

View File

@@ -1,10 +1,6 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# zsh and oh my zsh including pokemon-color-scripts#
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
# zsh and oh my zsh#
zsh_pkg=(
eza
@@ -32,36 +28,6 @@ for ZSH in "${zsh_pkg[@]}"; do
install_package "$ZSH" "$LOG"
done
## Optional Pokemon color scripts
while true; do
if [[ -z $pokemon_choice ]]; then
read -p "${CAT} OPTIONAL - Do you want to add ${YELLOW}Pokemon color scripts${RESET}? (y/n): " pokemon_choice
fi
case "$pokemon_choice" in
[Yy]*)
sed -i '/#pokemon-colorscripts --no-title -s -r/s/^#//' assets/.zshrc >> "$LOG" 2>&1
sed -i '/^fastfetch -c $HOME\/.config\/fastfetch\/config-compact.jsonc/s/^/#/' assets/.zshrc >> "$LOG" 2>&1
break
;;
[Nn]*)
echo "${NOTE}Skipping Pokemon color scripts installation.${RESET}" 2>&1 | tee -a "$LOG"
break
;;
*)
echo "${WARN}Please enter 'y' for yes or 'n' for no.${RESET}"
pokemon_choice=""
;;
esac
done
# Install the Pokemon color scripts if user choose Y
if [[ "$pokemon_choice" =~ [Yy] ]]; then
echo "${NOTE} Installing ${SKY_BLUE}Pokemon color scripts${RESET} ..."
install_package 'pokemon-colorscripts-git' "$LOG"
fi
# Install Oh My Zsh, plugins, and set zsh as default shell
if command -v zsh >/dev/null; then
printf "${NOTE} Installing ${SKY_BLUE}Oh My Zsh and plugins${RESET} ...\n"

29
install-scripts/zsh_pokemon.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# pokemon-color-scripts#
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh_pokemon.log"
printf "${INFO} Installing ${SKY_BLUE}Pokemon color scripts${RESET} ..."
install_package 'pokemon-colorscripts-git' "$LOG"
# Check if ~/.zshrc exists
if [ -f "$HOME/.zshrc" ]; then
sed -i '/#pokemon-colorscripts --no-title -s -r/s/^#//' "$HOME/.zshrc" >> "$LOG" 2>&1
sed -i '/^fastfetch -c $HOME\/.config\/fastfetch\/config-compact.jsonc/s/^/#/' "$HOME/.zshrc" >> "$LOG" 2>&11
else
echo "$HOME/.zshrc not found. Cant enable ${YELLOW}Pokemon color scripts${RESET}" >> "$LOG" 2>&1
fi
printf "\n%.0s" {1..2}