Compare commits

...

12 Commits

Author SHA1 Message Date
Ja.KooLit
759bfe0d93
Merge pull request #75 from JaKooLit/dev-Ubuntu-24.04-LTS
Releasing a new installer to work with Hyprland-Dots v2.2.11
2024-05-13 11:20:32 +09:00
JaKooLit
84ab9b775e Updated dotfiles to be installed for Ubuntu 2024-05-13 10:57:47 +09:00
JaKooLit
885db86509 added libnvidia-egl-wayland1. see https://github.com/JaKooLit/Debian-Hyprland/issues/71 2024-05-12 18:00:45 +09:00
Ja.KooLit
85af50ac7c
Update ags.sh 2024-05-10 15:52:32 +09:00
JaKooLit
09d49993cc added ags.sh, wallust and removal of pywal 2024-05-10 15:40:31 +09:00
JaKooLit
2ba26ac72d added gawk 2024-05-09 14:19:27 +09:00
JaKooLit
9aa995bbd6 Updated Readme 2024-05-05 19:51:27 +09:00
JaKooLit
1faf8b22d0 updated readme for Ubuntu LTS installation 2024-05-05 19:06:55 +09:00
JaKooLit
9f7d659f97 update readme 2024-05-05 19:05:34 +09:00
JaKooLit
4d58fbb17a readme test 2024-05-05 19:02:27 +09:00
Ja.KooLit
1ba1413a46 updated install.sh 2024-05-05 09:31:19 +09:00
Ja.KooLit
fabc335dae adjusted to download only specific hyprland dots. Nvidia.sh adjusted for Ubuntu 2024-05-05 09:29:28 +09:00
10 changed files with 217 additions and 140 deletions

View File

@ -1,5 +1,15 @@
## Changelogs
## 10 May 2024
- added wallust-git and remove python-pywal for migration to wallust on Hyprland-Dots v2.2.11
## 07 May 2024
- added ags.sh for upcoming ags overview for next Hyprland-Dots release. Will be installed form source
## 03 May 2024
- Bump swww to v0.9.5
- added python3-pyquery for new weather-waybar python based on Hyprland-Dots
## 03 May 2024
- Bump swww to v0.9.5
- added python3-pyquery for new weather-waybar python based on Hyprland-Dots

View File

@ -1,15 +1,17 @@
<div align="center">
## 💌 JaKooLit's Debian/Ubuntu Hyprland Install Script 💌
#### For Debian 13 Trixie and SID and Ubuntu 24.04 Noble Numbat
## 💌 JaKooLit's Ubuntu Hyprland Install Script 💌
#### For Ubuntu 24.04 Noble Numbat
![GitHub Repo stars](https://img.shields.io/github/stars/JaKooLit/Debian-Hyprland?style=for-the-badge&color=cba6f7) ![GitHub last commit](https://img.shields.io/github/last-commit/JaKooLit/Debian-Hyprland?style=for-the-badge&color=b4befe) ![GitHub repo size](https://img.shields.io/github/repo-size/JaKooLit/Debian-Hyprland?style=for-the-badge&color=cba6f7)
<br/>
</div>
### ♨️♨️♨️ ATTENTION ♨️♨️♨️ 30 Apr 2024
- This script will not work on older build of Ubuntu like Ubuntu 23.10 and older. Due to depencies. If you want to install on Ubuntu 23.10, you can download the version v2.2.3 from the releases
### 🛋️ Why I created a separate branch for Ubuntu 24.04 LTS
- With latest Hyprland v0.40.0 released, it wont build on Ubuntu 24.04 LTS. Reason is that Ubuntu did not update their wayland-protocol. Its the reason why it wont build.
- This is the reason why I have to set a specific release version on Hyprland packages including its eco-system as it is most likely wayland protocol wont be updated since its an LTS version.
> [!IMPORTANT]
> install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages
@ -23,31 +25,22 @@
#### ⚠️ Pre-requisites and VERY Important! ###
- Do not run this installer as sudo or as root
- This Installer requires a user with a priviledge to install packages
- Needs a Debian 13 Testing (Trixie) Branch as it needs a newer wayland packages! I have tried on Stable Debian 12 Bookworm in which, Hyprland wont build.
- In theory, it should also work on Debian SID (unstable) but I have not tested yet.
- edit your /etc/apt/sources.list and remove # on lines with deb-src to enable source packaging else will not install properly especially Hyprland
```bash
sudo nano /etc/apt/sources.list
```
- delete # on the lines with 'deb-src'
- ensure to allow to install non-free drivers especially for users with NVIDIA gpus. You can also install non-free drivers if required. Edit install-scripts/nvidia.sh and change the nvidia stuff's if required
- This is only tested on 24.04 LTS. Older Ubuntu versions wont work
- If you have login Manager already like GDM (gnome login manager), I highly advice not to install SDDM. But if you decide to install SDDM, see here [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2)
> [!NOTE]
> UBUNTU USERS: Will only work on Ubuntu 24.04. See above!
> For Ubuntu 24.04 LTS, no need to edit the /etc/apt/sources.list
> [!IMPORTANT]
> If you are using Gnome already, DO NOT install the SDDM. The GDM Login Manager works well with Hyprland. For some reason, during installation, you will be asked which login manager you wanted to use. But during my test, nothing happened.
> [!CAUTION]
> For Ubuntu with NVIDIA GPU's, make sure to edit the install-scripts/nvidia.sh . Delete all packages in nvidia_pkg except libva-wayland2 and nvidia-vaapi-driver and uncomment/remove # before sudo ubuntu-drivers install. You also need to delete or simply just add # in the lines 37 and 38 echo "echo "## for nvidia" | sudo tee -a... and echo "deb http://deb.debian.org/debian........
> [!WARNING]
> If you have GDM already as log-in manager, DO NOT install SDDM
> You will encounter issues. See [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2)
#### 📷 Gallery
### Gallery and Videos
<details>
<summary>
📷 Screenshots
</summary>
<p align="center">
<img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Distro-Hyprland/Debian/debian.png" /> <img align="center" width="49%" src="https://raw.githubusercontent.com/JaKooLit/screenshots/main/Distro-Hyprland/Debian/debian2.png" />
</p>
@ -70,6 +63,13 @@ sudo nano /etc/apt/sources.list
#### 📷 Older Screenshots: v1[`Link`](https://github.com/JaKooLit/screenshots/tree/main/Hyprland-ScreenShots/Debian) & v2[`Link`](https://github.com/JaKooLit/screenshots/tree/main/Hyprland-ScreenShots/Debian-v2)
</details>
<details>
<summary>
📽️ Youtube Videos
</summary>
#### ✨ Youtube presentation [`V1`](https://youtu.be/hGEWOif5D4Y?si=WQ-PrPwEhM5Og76Q)
#### ✨ Youtube presentation [`V2`](https://youtu.be/Qc4VP9JFh2Y)
@ -82,15 +82,18 @@ sudo nano /etc/apt/sources.list
#### 💯💯 Check out Installation Video coverage by KSK royal (Kali Linux xfce + nvidia). He have details regarding installing timeshift and switching to sddm from lightdm. He also covers removal of nouveau in favor of proprietary nvidia drivers
- [`Link`](https://youtu.be/NtpRtSBjz3I?si=YGkS75u_7cW5D_zu)
</details>
### 🪧🪧🪧 ANNOUNCEMENT 🪧🪧🪧
- This Repo does not contain Hyprland Dots or configs! Dotfiles can be checked here [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots) . During installation, if you opt to copy installation, it will be downloaded from that centralized repo.
- Hyprland-Dots use are constantly evolving / improving. you can check CHANGELOGS here [`Hyprland-Dots-Changelogs`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Changelogs)
- Since the Hyprland-Dots are evolving, some of the screenshots maybe old
- the wallpaper offered to be downloaded towards the end is from this [`REPO`](https://github.com/JaKooLit/Wallpaper-Bank)
- The dotfiles that will be pulled by this installer is only specific. Since newer dotfiles might not work properly
#### ✨ Some notes on this installer / Prerequisites
- This script is meant to install in Debian Testing (Trixie).
- If However, decided to try, recommend to install SDDM. Apart from GDM and SDDM, any other Login Manager may not work nor launch Hyprland. However, hyprland can be launched through tty by type Hyprland
- This script is meant to install in Ubuntu 24.04 LTS
- If you are using gnome already, DO NOT install SDDM. GDM will work. Apart from GDM and SDDM, any other Login Manager may not work nor launch Hyprland. However, hyprland can be launched through tty by type Hyprland
- 🕯️ network-manager-gnome (nm-applet) has been removed from the packages to install. This is because it is known to restart the networkmanager causing issues in the installation process. After you boot up, inorder to get the network-manager applet, install network-manager-gnome. `sudo apt install network-manager-gnome` See below if your network or wifi became unmanaged after installation
- If you have nvidia, and wanted to use proprietary drivers, uninstall nouveau first (if installed). This script will be installing proprietary nvidia drivers and will not deal with removal of nouveau.
- NVIDIA users / owners, after installation, check [`THIS`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Notes_to_remember#--for-nvidia-gpu-users)
@ -107,15 +110,14 @@ sudo nano /etc/apt/sources.list
- If you opted to install GTK Themes, Icons and Cursor offered are Tokyo Nights. [`LINK`](https://github.com/JaKooLit/GTK-themes-icons) & Bibata Cursor Modern Ice
#### 🔔 NOTICE TO NVIDIA OWNERS ###
- by default it is installing the latest and newest nvidia drivers. If you have an older nvidia-gpu (GTX 800 series and older), check out nvidia-debian website [`LINK`](https://wiki.debian.org/NvidiaGraphicsDrivers) and edit nvidia.sh in install-scripts folder to install proper gpu driver
> [!IMPORTANT]
> If you want to use nouveau driver, choose N when asked if you have nvidia gpu. This is because the nvidia installer part, it will blacklist nouveau. Hyprland will still be installed but it will skip blacklisting nouveau.
# ✨ to run or Use this script
> clone this repo (latest commit only) by using git. Change directory, make executable and run the script
```bash
git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git ~/Debian-Hyprland
cd ~/Debian-Hyprland
git clone --depth=1 -b Ubuntu-24.04-LTS https://github.com/JaKooLit/Debian-Hyprland.git ~/Ubuntu-Hyprland
cd ~/Ubuntu-Hyprland
chmod +x install.sh
./install.sh
```
@ -177,7 +179,7 @@ source ~/.zshrc
- for the Pre-configured Hyprland dots / configuration, submit issue [`here`](https://github.com/JaKooLit/Hyprland-Dots/issues)
#### 🔧 Proper way to re-installing a particular script from install-scripts folder
- CD into Debian-Hyprland Folder and then ran the below command.
- CD into Ubuntu-Hyprland Folder and then ran the below command.
- i.e. `./install-scripts/gtk-themes` - For reinstall GTK Themes.
#### 🛣️ Roadmap:

View File

@ -8,6 +8,7 @@ dependencies=(
cmake
cmake-extras
curl
gawk
gettext
gir1.2-graphene-1.0
git

77
install-scripts/ags.sh Executable file
View File

@ -0,0 +1,77 @@
7#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Aylur's GTK Shell #
ags=(
node-typescript
npm
meson
libgjs-dev
gjs
libgtk-layer-shell-dev
libgtk-3-dev
libpulse-dev
libdbusmenu-gtk3-dev
libsoup-3.0-dev
)
# specific tags to download
ags_tag="v1.8.2"
## 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)_ags.log"
MLOG="install-$(date +%d-%H%M%S)_ags.log"
# Installing ags Dependencies
for PKG1 in "${ags[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\033[1A\033[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
exit 1
fi
done
#install typescript by npm
sudo npm install --global typescript 2>&1 | tee -a "$LOG"
# ags
printf "${NOTE} Install and Compiling Aylurs GTK shell\n"
# Check if folder exists and remove it
if [ -d "ags" ]; then
printf "${NOTE} Removing existing ags folder...\n"
rm -rf "ags"
fi
# Clone nwg-look repository with the specified tag
if git clone --recursive -b "$ags_tag" --depth 1 https://github.com/Aylur/ags.git; then
cd ags || exit 1
# Build and install ags
npm install
meson setup build
if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then
printf "${OK} ags installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for ags" 2>&1 | tee -a "$MLOG"
fi
# Move logs to Install-Logs directory
mv "$MLOG" ../Install-Logs/ || true
cd ..
else
echo -e "${ERROR} Failed to download ags Please check your connection" 2>&1 | tee -a "$LOG"
mv "$MLOG" ../Install-Logs/ || true
exit 1
fi

View File

@ -1,86 +1,51 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland-Dots to download from Releases #
if [[ $USE_PRESET = [Yy] ]]; then
source ./preset.sh
fi
# Hyprland-Dots to download a specific release #
# Define the specific release version to download
specific_version="v2.2.11"
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
printf "${NOTE} Downloading / Checking for existing Hyprland-Dots.tar.gz...\n"
printf "${NOTE} Downloading / Checking for existing Hyprland-Dots-${specific_version}.tar.gz...\n"
# Check if Hyprland-Dots.tar.gz exists
if [ -f Hyprland-Dots.tar.gz ]; then
printf "${NOTE} Hyprland-Dots.tar.gz found.\n"
# Get the version from the existing tarball filename
existing_version=$(echo Hyprland-Dots.tar.gz | grep -oP 'v\d+\.\d+\.\d+' | sed 's/v//')
# Fetch the tag_name for the latest release using the GitHub API
latest_version=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4 | sed 's/v//')
# Check if versions match
if [ "$existing_version" = "$latest_version" ]; then
echo -e "${OK} Hyprland-Dots.tar.gz is up-to-date with the latest release ($latest_version)."
# Sleep for 10 seconds before exiting
printf "${NOTE} No update found. Sleeping for 10 seconds...\n"
sleep 10
exit 0
else
echo -e "${WARN} Hyprland-Dots.tar.gz is outdated (Existing version: $existing_version, Latest version: $latest_version)."
if [[ -z $upgrade_choice ]]; then
read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice
fi
if [ "$upgrade_choice" = "y" ]; then
echo -e "${NOTE} Proceeding to download the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
# Delete existing directories starting with JaKooLit-Hyprland-Dots
find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} +
rm -f Hyprland-Dots.tar.gz
printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n"
else
echo -e "${NOTE} User chose not to upgrade. Exiting..." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
# Check if the specific release tarball exists
if [ -f "Hyprland-Dots-${specific_version}.tar.gz" ]; then
printf "${NOTE} Hyprland-Dots-${specific_version}.tar.gz found.\n"
echo -e "${OK} Hyprland-Dots-${specific_version}.tar.gz is already downloaded."
exit 0
fi
fi
fi
printf "${NOTE} Downloading the latest Hyprland source code release...\n"
printf "${NOTE} Downloading the Hyprland-Dots-${specific_version} source code release...\n"
# Fetch the tag name for the latest release using the GitHub API
latest_tag=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4)
# Check if the tag is obtained successfully
if [ -z "$latest_tag" ]; then
echo -e "${ERROR} Unable to fetch the latest tag information." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
# Fetch the tag name for the specific release using the GitHub API
release_info=$(curl -s "https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/tags/${specific_version}")
if [ -z "$release_info" ]; then
echo -e "${ERROR} Unable to fetch information for release ${specific_version}." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
# Fetch the tarball URL for the latest release using the GitHub API
latest_tarball_url=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tarball_url" | cut -d '"' -f 4)
# Get the tarball URL for the specific release
tarball_url=$(echo "$release_info" | grep "tarball_url" | cut -d '"' -f 4)
# Check if the URL is obtained successfully
if [ -z "$latest_tarball_url" ]; then
echo -e "${ERROR} Unable to fetch the tarball URL for the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
if [ -z "$tarball_url" ]; then
echo -e "${ERROR} Unable to fetch the tarball URL for release ${specific_version}." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
# Get the filename from the URL and include the tag name in the file name
file_name="Hyprland-Dots-${latest_tag}.tar.gz"
# Download the latest release source code tarball to the current directory
if curl -L "$latest_tarball_url" -o "$file_name"; then
# Download the specific release source code tarball to the current directory
if curl -L "$tarball_url" -o "Hyprland-Dots-${specific_version}.tar.gz"; then
# Extract the contents of the tarball
tar -xzf "$file_name" || exit 1
tar -xzf "Hyprland-Dots-${specific_version}.tar.gz" || exit 1
# delete existing Hyprland-Dots
# Delete existing Hyprland-Dots
rm -rf JaKooLit-Hyprland-Dots
# Identify the extracted directory
extracted_directory=$(tar -tf "$file_name" | grep -o '^[^/]\+' | uniq)
extracted_directory=$(tar -tf "Hyprland-Dots-${specific_version}.tar.gz" | grep -o '^[^/]\+' | uniq)
# Rename the extracted directory to JaKooLit-Hyprland-Dots
mv "$extracted_directory" JaKooLit-Hyprland-Dots || exit 1
@ -91,9 +56,9 @@ if curl -L "$latest_tarball_url" -o "$file_name"; then
chmod +x copy.sh
./copy.sh
echo -e "${OK} Latest Dotfiles release downloaded, extracted, and processed successfully. Check JaKooLit-Hyprland-Dots folder for more detailed install logs" 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
echo -e "${OK} Hyprland-Dots-${specific_version} release downloaded, extracted, and processed successfully. Check JaKooLit-Hyprland-Dots folder for more detailed install logs" 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
else
echo -e "${ERROR} Failed to download the latest Dotfiles release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
echo -e "${ERROR} Failed to download Hyprland-Dots-${specific_version} release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi

View File

@ -4,6 +4,7 @@
# Hyprland plugins: pyprland
pypr_depend=(
python3-aiofiles
python-is-python3
)
@ -40,8 +41,6 @@ printf "${NOTE} Installing pyprland\n"
curl https://raw.githubusercontent.com/hyprland-community/pyprland/main/scripts/get-pypr | sh 2>&1 | tee -a "$LOG"
pip install pyprland --break-system-packages 2>&1 | tee -a "$LOG"
pip install pyprland 2>&1 | tee -a "$LOG"
clear

View File

@ -4,16 +4,13 @@
# UBUNTU USERS, FOLLOW README!
nvidia_pkg=(
nvidia-driver
firmware-misc-nonfree
nvidia-kernel-dkms
linux-headers-$(uname -r)
libva-wayland2
libnvidia-egl-wayland1
nvidia-vaapi-driver
)
# for ubuntu-nvidia owners! just delete #
# sudo ubuntu-drivers install
sudo ubuntu-drivers install
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
@ -35,8 +32,8 @@ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2>&1 | tee -a "$LOG"
## UBUNTU - NVIDIA (comment this two by adding # you dont need this!)
# Add the comment and repository entry to sources.list
echo "## for nvidia" | sudo tee -a /etc/apt/sources.list 2>&1 | tee -a "$LOG"
echo "deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware" | sudo tee -a /etc/apt/sources.list 2>&1 | tee -a "$LOG"
#echo "## for nvidia" | sudo tee -a /etc/apt/sources.list 2>&1 | tee -a "$LOG"
#echo "deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware" | sudo tee -a /etc/apt/sources.list 2>&1 | tee -a "$LOG"
# Update the package list
sudo apt update

View File

@ -1,32 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Pywal Colors) #
pywal=(
imagemagick
python3-pip
)
## 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')_pywal.log"
# Installing Pywal dependencies
for package in "${pywal[@]}"; do
install_package "$package" || exit 1
done
## Installing pywal colors
printf "\n%s - Installing Pywal.... \n" "${NOTE}"
sudo pip3 install pywal --break-system-packages 2>&1 | tee -a "$LOG"
clear

64
install-scripts/wallust.sh Executable file
View File

@ -0,0 +1,64 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# wallust - pywal colors replacment #
depend=(
librust-jpeg-decoder-dev
imagemagick
rustup
)
#specific branch or release
wal_tag="dev"
## 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)_wallust.log"
MLOG="install-$(date +%d-%H%M%S)_wallust.log"
# Installing depencies
for PKG1 in "${depend[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\033[1A\033[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
exit 1
fi
done
##
printf "${NOTE} Installing wallust from dev branch...\n"
# Check if folder exists and remove it
if [ -d "wallust" ]; then
printf "${NOTE} Removing existing wallust folder...\n"
rm -rf "wallust"
fi
# Clone and build wallust
printf "${NOTE} Installing wallust...\n"
if git clone --depth 1 -b $wal_tag https://codeberg.org/explosion-mental/wallust.git; then
cd wallust || exit 1
make
if sudo make install 2>&1 | tee -a "$MLOG" ; then
printf "${OK} wallust installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for wallust." 2>&1 | tee -a "$MLOG"
fi
#moving the addional logs to Install-Logs directory
mv $MLOG ../Install-Logs/ || true
cd ..
else
echo -e "${ERROR} Download failed for wallust." 2>&1 | tee -a "$LOG"
fi
clear

View File

@ -16,7 +16,7 @@ echo " \_| (_| o |\ (_) (_) |_ | |_ "
printf "\n%.0s" {1..2}
# Welcome message
echo "$(tput setaf 6)Welcome to JaKooLit's Debian / Ubuntu Hyprland Install Script!$(tput sgr0)"
echo "$(tput setaf 6)Welcome to JaKooLit's Ubuntu 24.04 Hyprland Install Script!$(tput sgr0)"
echo
echo "$(tput setaf 166)ATTENTION: Run a full system update and Reboot first!! (Highly Recommended) $(tput sgr0)"
echo
@ -32,13 +32,6 @@ if [ "$proceed" != "y" ]; then
exit 1
fi
read -p "$(tput setaf 6)Have you edited your /etc/apt/sources.list? [Debian only] (y/n): $(tput sgr0)" proceed2
if [ "$proceed2" != "y" ]; then
echo "Installation aborted Kindly edit your sources.list first. Refer to readme."
exit 1
fi
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
@ -161,8 +154,9 @@ execute_script "fonts.sh"
execute_script "swappy.sh"
execute_script "swww.sh"
execute_script "rofi-wayland.sh"
execute_script "pywal.sh"
execute_script "wallust.sh"
execute_script "force-install.sh"
execute_script "ags.sh"
execute_script "hyprlang.sh"
execute_script "hyprlock.sh"
execute_script "hyprcursor.sh"