Compare commits

...

8 Commits

Author SHA1 Message Date
JaKooLit
153721005b updated for new SDDM theme 2025-06-09 08:31:10 +09:00
Ja.KooLit
0e795cfdc5
Merge pull request #198 from JaKooLit/main
main to development
2025-06-09 08:07:49 +09:00
JaKooLit
e9727461b0 install.sh updated to NOT exit if user choose N on the last part. Removed auto-clone instruction for Fish as it creates a big issue 2025-03-25 00:58:25 +09:00
JaKooLit
9024eefdcf adjusted zsh.sh so it will work even on a non-posix compliant shell like fish 2025-03-24 17:11:52 +09:00
JaKooLit
79b63dde32 Updated README re-contributing 2025-03-21 22:25:23 +09:00
JaKooLit
78d3225cbc updated contributing.md 2025-03-21 22:06:12 +09:00
JaKooLit
dbd7b2538c added findutils as dependencies 2025-03-20 15:24:52 +09:00
Ja.KooLit
cdc59f42f2
Merge pull request #192 from JaKooLit/development
branches synchro
2025-03-20 12:21:51 +09:00
7 changed files with 74 additions and 70 deletions

View File

@ -1,5 +1,11 @@
## CHANGELOGS ## CHANGELOGS
## 08 June 2025
- updated SDDM theme.
## 20 March 2025
- added findutils as dependencies
## 11 March 2025 ## 11 March 2025
- Added uninstall script - Added uninstall script
- forked AGS v1 into JakooLit repo. This is just incase Aylur decide to take down v1 - forked AGS v1 into JakooLit repo. This is just incase Aylur decide to take down v1

View File

@ -1,6 +1,6 @@
# Contributing to Community Standards # Contributing to KooL Hyprland Projects
Thank you for your interest in contributing to Community Standards! We welcome any contributions, including bug fixes, feature enhancements, documentation improvements, and other general improvements. Thank you for your interest in contributing to KooL Hyprland Projects! We welcome any contributions, including bug fixes, feature enhancements, documentation improvements, and other general improvements.
## Getting Started ## Getting Started
@ -55,10 +55,9 @@ Thank you for your interest in contributing to Community Standards! We welcome a
- Make sure all tests pass or fully tested before submitting your changes. - Make sure all tests pass or fully tested before submitting your changes.
- Keep your pull request focused and avoid including unrelated changes. - Keep your pull request focused and avoid including unrelated changes.
- Remember to follow the following files before submitting your changes. - Remember to follow the following files before submitting your changes.
- [bug_report.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/bug_report.md) - Use this template to create a report to help us improve. - [bug.yml](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/bug.yml) - Use this template to create a report to help us improve.
- [feature_request.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) - Use this template to suggest a feature for this project. - [feature.yml](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/feature.yml) - Use this template to suggest a feature for this project.
- [documentation_update.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/documentation_update.md) - Use this template to propose a change to the documentation. - [documentation-update.yml](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/documentation-update.yml) - Use this template to propose a change to the documentation.
- [custom.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/ISSUE_TEMPLATE/custom.md) - Use this template to submit a custom issue.
- [PULL_REQUEST_TEMPLATE.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/PULL_REQUEST_TEMPLATE.md) - Use this template to submit a pull request. - [PULL_REQUEST_TEMPLATE.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/.github/PULL_REQUEST_TEMPLATE.md) - Use this template to submit a pull request.
- [COMMIT_MESSAGE_GUIDELINES.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/COMMIT_MESSAGE_GUIDELINES.md) - Read this file to learn about the commit message guidelines. - [COMMIT_MESSAGE_GUIDELINES.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/COMMIT_MESSAGE_GUIDELINES.md) - Read this file to learn about the commit message guidelines.
- [CONTRIBUTING.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/CONTRIBUTING.md) - Read this file to learn about the contributing guidelines. - [CONTRIBUTING.md](https://github.com/JaKooLit/Debian-Hyprland/blob/main/CONTRIBUTING.md) - Read this file to learn about the contributing guidelines.

View File

@ -107,7 +107,7 @@ sudo apt install --no-install-recommends -y sddm
- [LINK](https://www.simplified.guide/ubuntu/switch-to-gdm) for some guide - [LINK](https://www.simplified.guide/ubuntu/switch-to-gdm) for some guide
#### 💫 SDDM and GTK Themes offered #### 💫 SDDM and GTK Themes offered
- If you opted to install SDDM theme, here's the [`LINK`](https://codeberg.org/JaKooLit/sddm-sequoia) which is a fork of [`LINK`](https://codeberg.org/minMelody/sddm-sequoia) - If you opted to install SDDM theme, here's the [`LINK`](https://github.com/JaKooLit/simple-sddm-2) which is a modified fork of [`LINK`](https://github.com/Keyitdev/sddm-astronaut-theme)
- If you opted to install GTK Themes, Icons, here's the [`LINK`](https://github.com/JaKooLit/GTK-themes-icons). This also includes Bibata Modern Ice cursor. - If you opted to install GTK Themes, Icons, here's the [`LINK`](https://github.com/JaKooLit/GTK-themes-icons). This also includes Bibata Modern Ice cursor.
#### 🔔 NOTICE TO NVIDIA OWNERS ### #### 🔔 NOTICE TO NVIDIA OWNERS ###
@ -121,15 +121,14 @@ sudo apt install --no-install-recommends -y sddm
> If you have nvidia, by default debian is installing nouveau or open-source nvidia driver. If you want to keep the default nvidia driver installed by Debian, Dont select Nvidia in the options. > If you have nvidia, by default debian is installing nouveau or open-source nvidia driver. If you want to keep the default nvidia driver installed by Debian, Dont select Nvidia in the options.
## ✨ Auto clone and install ## ✨ Auto clone and install
> [!CAUTION]
> If you are using FISH SHELL, DO NOT use this function. Clone and ran install.sh instead
- you can use this command to automatically clone the installer and ran the script for you - you can use this command to automatically clone the installer and ran the script for you
- NOTE: `curl` package is required before running this command - NOTE: `curl` package is required before running this command
```bash ```bash
sh <(curl -L https://raw.githubusercontent.com/JaKooLit/Debian-Hyprland/main/auto-install.sh) sh <(curl -L https://raw.githubusercontent.com/JaKooLit/Debian-Hyprland/main/auto-install.sh)
``` ```
- if you are using say fish or a non-POSIX compliant
```bash
curl -sL https://raw.githubusercontent.com/JaKooLit/Debian-Hyprland/main/auto-install.sh | bash
```
## ✨ to use this script ## ✨ to use this script
> clone this repo (latest commit only) by using git. Change directory, make executable and run the script > clone this repo (latest commit only) by using git. Change directory, make executable and run the script
@ -275,10 +274,11 @@ cd ~/Debian-Hyprland
- Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :) - Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :)
#### Contributing #### ✍️ Contributing
- As stated above, these script does not contain actual config files. These are only the installer of packages - As stated above, these script does not contain actual config files. These are only the installer of packages
- The development branch of this script is pulling the latest "stable" releases of the Hyprland-Dotfiles.
- If you want to contribute and/or test the Hyprland-Dotfiles (development branch), [`Hyprland-Dots-Development`](https://github.com/JaKooLit/Hyprland-Dots/tree/development) - If you want to contribute and/or test the Hyprland-Dotfiles (development branch), [`Hyprland-Dots-Development`](https://github.com/JaKooLit/Hyprland-Dots/tree/development)
- Want to contribute on KooL-Hyprland-Dots Click [`HERE`](https://github.com/JaKooLit/Hyprland-Dots/blob/main/CONTRIBUTING.md) for a guide how to contribute
- Want to contribute on This Installer? Click [`HERE`](https://github.com/JaKooLit/Debian-Hyprland/blob/main/CONTRIBUTING.md) for a guide how to contribute
#### 👍👍👍 Thanks and Credits! #### 👍👍👍 Thanks and Credits!

View File

@ -10,6 +10,7 @@ dependencies=(
cmake cmake
cmake-extras cmake-extras
curl curl
findutils
gawk gawk
gettext gettext
git git

View File

@ -2,8 +2,8 @@
# 💫 https://github.com/JaKooLit 💫 # # 💫 https://github.com/JaKooLit 💫 #
# SDDM themes # # SDDM themes #
source_theme="https://codeberg.org/JaKooLit/sddm-sequoia" source_theme="https://github.com/JaKooLit/simple-sddm-2.git"
theme_name="sequoia_2" theme_name="simple_sddm_2"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -18,6 +18,7 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
exit 1 exit 1
fi fi
# Set the name of the log file to include the current date and time # 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" LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm_theme.log"
@ -51,51 +52,43 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then
# Move cloned theme to the themes directory # Move cloned theme to the themes directory
sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG" sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG"
# setting up SDDM theme # setting up SDDM theme
sddm_conf_dir="/etc/sddm.conf.d" sddm_conf="/etc/sddm.conf"
BACKUP_SUFFIX=".bak" BACKUP_SUFFIX=".bak"
echo -e "${NOTE} Setting up the login screen." | tee -a "$LOG" echo -e "${NOTE} Setting up the login screen." | tee -a "$LOG"
if [ -d "$sddm_conf_dir" ]; then # Backup the sddm.conf file if it exists
echo "Backing up files in $sddm_conf_dir" | tee -a "$LOG" if [ -f "$sddm_conf" ]; then
for file in "$sddm_conf_dir"/*; do echo "Backing up $sddm_conf" | tee -a "$LOG"
if [ -f "$file" ]; then sudo cp "$sddm_conf" "$sddm_conf$BACKUP_SUFFIX" 2>&1 | tee -a "$LOG"
if [[ "$file" == *$BACKUP_SUFFIX ]]; then
echo "Skipping backup file: $file" | tee -a "$LOG"
continue
fi
# Backup each original file
sudo cp "$file" "$file$BACKUP_SUFFIX" 2>&1 | tee -a "$LOG"
echo "Backup created for $file" | tee -a "$LOG"
# Edit existing "Current="
if grep -q '^[[:space:]]*Current=' "$file"; then
sudo sed -i "s/^[[:space:]]*Current=.*/Current=$theme_name/" "$file" 2>&1 | tee -a "$LOG"
echo "Updated theme in $file" | tee -a "$LOG"
fi
fi
done
else else
echo "$CAT - $sddm_conf_dir not found, creating..." | tee -a "$LOG" echo "$sddm_conf does not exist, creating a new one." | tee -a "$LOG"
sudo mkdir -p "$sddm_conf_dir" 2>&1 | tee -a "$LOG" sudo touch "$sddm_conf" 2>&1 | tee -a "$LOG"
fi fi
if [ ! -f "$sddm_conf_dir/theme.conf.user" ]; then # Check if the [Theme] section exists
echo -e "[Theme]\nCurrent = $theme_name" | sudo tee "$sddm_conf_dir/theme.conf.user" > /dev/null if grep -q '^\[Theme\]' "$sddm_conf"; then
# Update the Current= line under [Theme]
sudo sed -i "/^\[Theme\]/,/^\[/{s/^\s*Current=.*/Current=$theme_name/}" "$sddm_conf" 2>&1 | tee -a "$LOG"
if [ -f "$sddm_conf_dir/theme.conf.user" ]; then # If no Current= line was found and replaced, append it after the [Theme] section
echo "Created and configured $sddm_conf_dir/theme.conf.user with theme $theme_name" | tee -a "$LOG" if ! grep -q '^\s*Current=' "$sddm_conf"; then
sudo sed -i "/^\[Theme\]/a Current=$theme_name" "$sddm_conf" 2>&1 | tee -a "$LOG"
echo "Appended Current=$theme_name under [Theme] in $sddm_conf" | tee -a "$LOG"
else else
echo "Failed to create $sddm_conf_dir/theme.conf.user" | tee -a "$LOG" echo "Updated Current=$theme_name in $sddm_conf" | tee -a "$LOG"
fi fi
else else
echo "$sddm_conf_dir/theme.conf.user already exists, skipping creation." | tee -a "$LOG" # Append the [Theme] section at the end if it doesn't exist
echo -e "\n[Theme]\nCurrent=$theme_name" | sudo tee -a "$sddm_conf" > /dev/null
echo "Added [Theme] section with Current=$theme_name in $sddm_conf" | tee -a "$LOG"
fi fi
# Replace current background from assets # Replace current background from assets
sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/backgrounds/default" 2>&1 | tee -a "$LOG" sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/Backgrounds/default" 2>&1 | tee -a "$LOG"
sudo sed -i 's|^wallpaper=".*"|wallpaper="backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG" sudo sed -i 's|^wallpaper=".*"|wallpaper="Backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG"
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
printf "${NOTE} copying ${YELLOW}JetBrains Mono Nerd Font${RESET} to ${YELLOW}/usr/local/share/fonts${RESET} .......\n" printf "${NOTE} copying ${YELLOW}JetBrains Mono Nerd Font${RESET} to ${YELLOW}/usr/local/share/fonts${RESET} .......\n"
@ -110,7 +103,8 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then
echo "Failed to copy fonts." echo "Failed to copy fonts."
fi fi
fc-cache -fv 2>&1 | tee -a "$LOG" # Update font cache and log the output
fc-cache -v -f 2>&1 | tee -a "$LOG"
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
@ -121,5 +115,4 @@ else
echo "${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection." | tee -a "$LOG" >&2 echo "${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection." | tee -a "$LOG" >&2
fi fi
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}

View File

@ -76,18 +76,20 @@ if command -v zsh >/dev/null; then
cp -r 'assets/.zprofile' ~/ cp -r 'assets/.zprofile' ~/
# Check if the current shell is zsh # Check if the current shell is zsh
if [[ "$SHELL" != *"zsh"* ]]; then current_shell=$(basename "$SHELL")
if [ "$current_shell" != "zsh" ]; then
printf "${NOTE} Changing default shell to ${MAGENTA}zsh${RESET}..." printf "${NOTE} Changing default shell to ${MAGENTA}zsh${RESET}..."
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}
while ! chsh -s $(which zsh); do # Loop to ensure the chsh command succeeds
while ! chsh -s "$(command -v zsh)"; do
echo "${ERROR} Authentication failed. Please enter the correct password." 2>&1 | tee -a "$LOG" echo "${ERROR} Authentication failed. Please enter the correct password." 2>&1 | tee -a "$LOG"
sleep 1 sleep 1
done done
printf "${INFO} Shell changed successfully to ${MAGENTA}zsh${RESET}" 2>&1 | tee -a "$LOG" printf "${INFO} Shell changed successfully to ${MAGENTA}zsh${RESET}" 2>&1 | tee -a "$LOG"
else else
echo "${NOTE}Your shell is already set to ${MAGENTA}zsh${RESET}." echo "${NOTE} Your shell is already set to ${MAGENTA}zsh${RESET}."
fi fi
fi fi

View File

@ -431,36 +431,39 @@ printf "\n%.0s" {1..1}
# Check if either hyprland or hyprland-git is installed # Check if either hyprland or hyprland-git is installed
if dpkg -l | grep -qw hyprland; then if dpkg -l | grep -qw hyprland; then
printf "\n${OK} Hyprland is installed. However, some essential packages may not be installed. Please see above!" printf "\n ${OK} 👌 Hyprland is installed. However, some essential packages may not be installed. Please see above!"
printf "\n${CAT} Ignore this message if it states ${YELLOW}All essential packages${RESET} are installed as per above\n" printf "\n${CAT} Ignore this message if it states ${YELLOW}All essential packages${RESET} are installed as per above\n"
sleep 2 sleep 2
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}
printf "${SKY_BLUE}Thank you${RESET} for using ${MAGENTA}KooL's Hyprland Dots${RESET}. ${YELLOW}Enjoy and Have a good day!${RESET}" printf "${SKY_BLUE}Thank you${RESET} 🫰 for using 🇵🇭 ${MAGENTA}KooL's Hyprland Dots${RESET}. ${YELLOW}Enjoy and Have a good day!${RESET}"
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}
printf "\n${NOTE} You can start Hyprland by typing ${SKY_BLUE}Hyprland${RESET} (IF SDDM is not installed) (note the capital H!).\n" printf "\n${NOTE} You can start Hyprland by typing ${SKY_BLUE}Hyprland${RESET} (IF SDDM is not installed) (note the capital H!).\n"
printf "\n${NOTE} However, it is ${YELLOW}highly recommended to reboot${RESET} your system.\n\n" printf "\n${NOTE} However, it is ${YELLOW}highly recommended to reboot${RESET} your system.\n\n"
read -rp "${CAT} Would you like to reboot now? (y/n): " HYP while true; do
echo -n "${CAT} Would you like to reboot now? (y/n): "
read HYP
HYP=$(echo "$HYP" | tr '[:upper:]' '[:lower:]')
HYP=$(echo "$HYP" | tr '[:upper:]' '[:lower:]') if [[ "$HYP" == "y" || "$HYP" == "yes" ]]; then
echo "${INFO} Rebooting now..."
if [[ "$HYP" == "y" || "$HYP" == "yes" ]]; then systemctl reboot
echo "${INFO} Rebooting now..." break
systemctl reboot elif [[ "$HYP" == "n" || "$HYP" == "no" ]]; then
elif [[ "$HYP" == "n" || "$HYP" == "no" ]]; then echo "👌 ${OK} You chose NOT to reboot"
echo "${OK} You choose NOT to reboot"
printf "\n%.0s" {1..1}
# Check if NVIDIA GPU is present
if lspci | grep -i "nvidia" &> /dev/null; then
echo "${INFO} HOWEVER ${YELLOW}NVIDIA GPU${RESET} detected. Reminder that you must REBOOT your SYSTEM..."
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
# Check if NVIDIA GPU is present
if lspci | grep -i "nvidia" &> /dev/null; then
echo "${INFO} HOWEVER ${YELLOW}NVIDIA GPU${RESET} detected. Reminder that you must REBOOT your SYSTEM..."
printf "\n%.0s" {1..1}
fi
break
else
echo "${WARN} Invalid response. Please answer with 'y' or 'n'."
fi fi
else done
echo "${WARN} Invalid response. Please answer with 'y' or 'n'. Exiting."
exit 1
fi
else else
# Print error message if neither package is installed # Print error message if neither package is installed
printf "\n${WARN} Hyprland is NOT installed. Please check 00_CHECK-time_installed.log and other files in the Install-Logs/ directory..." printf "\n${WARN} Hyprland is NOT installed. Please check 00_CHECK-time_installed.log and other files in the Install-Logs/ directory..."