Merge pull request #144 from JaKooLit/development

Development to Main - Refactor of Debian-Hyprland Script
This commit is contained in:
Ja.KooLit 2024-08-23 20:45:25 +09:00 committed by GitHub
commit 4ca3bffc86
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 142 additions and 538 deletions

View File

@ -1,5 +1,8 @@
## Changelogs ## Changelogs
## 22 Aug 2024
- refactor Debian-Hyprland script. As Hyprland is now in official repo
## 07 Jul 2024 ## 07 Jul 2024
- added eza (ls replacement for tty). Note only on .zshrc - added eza (ls replacement for tty). Note only on .zshrc

View File

@ -1,5 +1,3 @@
# ⚠️ NOTE: 08-08-2024 - Hyprland is on Debian Trixie and SID official repo. Including Ubuntu universe repo. However, because I am busy with work and travelling, I cannot adjust the script. Estimated by the End of Aug 2024 that I can adjust Debian and Ubuntu Install-Scripts
<div align="center"> <div align="center">
<br> <br>
<a href="#--ubuntu-2404-lts-noble-numbat-hyprland-install-script-branch-"><kbd><br>Ubuntu 24.04 LTS<br></kbd></a>&ensp;&ensp; <a href="#--ubuntu-2404-lts-noble-numbat-hyprland-install-script-branch-"><kbd><br>Ubuntu 24.04 LTS<br></kbd></a>&ensp;&ensp;
@ -131,10 +129,11 @@ sudo nano /etc/apt/sources.list
</details> </details>
### 🪧🪧🪧 ANNOUNCEMENT 🪧🪧🪧 ### 🪧🪧🪧 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 pre-configured dots, it will be downloaded from that centralized repo. - This Repo does not contain Hyprland Dots or configs! Pre-configured Dotfiles are on [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots) . During installation, if you opt to copy pre-configured dots, 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) - 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 - 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 wallpaper offered to be downloaded towards the end is from this [`WALLPAPER-REPO`](https://github.com/JaKooLit/Wallpaper-Bank)
#### ✨ Some notes on this installer / Prerequisites #### ✨ Some notes on this installer / Prerequisites
- This script is meant to install in Debian Testing (Trixie) and Debian Unstable (SID). This script Will NOT work with Bookworm - This script is meant to install in Debian Testing (Trixie) and Debian Unstable (SID). This script Will NOT work with Bookworm
@ -155,6 +154,7 @@ sudo nano /etc/apt/sources.list
#### 🔔 NOTICE TO NVIDIA OWNERS ### #### 🔔 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 directory to install proper gpu driver - 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 directory to install proper gpu driver
> [!IMPORTANT] > [!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. > 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.
@ -198,25 +198,21 @@ source ~/.zshrc
#### ✨ TO DO once installation done and dotfiles copied #### ✨ TO DO once installation done and dotfiles copied
- SUPER H for HINT or click on the waybar HINT! Button - SUPER H for HINT or click on the waybar HINT! Button
- Head over to [FAQ](https://github.com/JaKooLit/Hyprland-Dots/wiki/FAQ) and [TIPS](https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS) - Head over to [`FAQ`](https://github.com/JaKooLit/Hyprland-Dots/wiki/FAQ) and [`TIPS`](https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS)
- if you installed in your laptop and Brightness and Keyboard brightness does not work you can execute this command `sudo chmod +s $(which brightnessctl)` - if you installed in your laptop and Brightness and Keyboard brightness does not work you can execute this command `sudo chmod +s $(which brightnessctl)`
#### ✨ Packages that are manually downloaded and build. These packages will not be updated by apt and have to be manually updated #### ✨ Packages that are manually downloaded and build. These packages will not be updated by apt and have to be manually updated
- Hyprland [`LINK`](https://github.com/hyprwm/Hyprland)
- nwg-look [`LINK`](https://github.com/nwg-piotr/nwg-look) - nwg-look [`LINK`](https://github.com/nwg-piotr/nwg-look)
- Asus ROG asusctl [`LINK`](https://gitlab.com/asus-linux/asusctl) and superfxctl [`LINK`](https://gitlab.com/asus-linux/supergfxctl) - Asus ROG asusctl [`LINK`](https://gitlab.com/asus-linux/asusctl) and superfxctl [`LINK`](https://gitlab.com/asus-linux/supergfxctl)
- swww [`LINK`](https://github.com/Horus645/swww) - swww [`LINK`](https://github.com/Horus645/swww)
- hyprlock [`LINK`](https://github.com/hyprwm/hyprlock) - hyprlock [`LINK`](https://github.com/hyprwm/hyprlock) #22 Aug 2024 - still not on repo
- hypridle [`LINK`](https://github.com/hyprwm/hypridle) - hypridle [`LINK`](https://github.com/hyprwm/hypridle) #22 Aug 2024 - still not on repo
- hyprlang [`LINK`](https://github.com/hyprwm/hyprlang)
- hyprcursor [`LINK`](https://github.com/hyprwm/hyprcursor)
- swappy [`LINK`](https://github.com/jtheoof/swappy)
- xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland) - xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland)
- rofi-wayland [`LINK`](https://github.com/lbonn/rofi) - rofi-wayland [`LINK`](https://github.com/lbonn/rofi)
- wallust [`LINK`](https://codeberg.org/explosion-mental/wallust) - wallust [`LINK`](https://codeberg.org/explosion-mental/wallust)
- waybar [`LINK`](https://github.com/Alexays/Waybar) - as of 13 May 2024. This was because Hyprland v0.40.0 requires Waybar v0.10.3 and Trixie still has waybar v0.10.3 - Imagemagick [`LINK`](https://github.com/ImageMagick/ImageMagick) - as of 23 AUG 2024, version 7 still not on official repo, hence needed to build from source
> [!TIP] > [!TIP]
> To update to latest packages, re-running this script will auto update all. Script is configured to pull latest packages build for you. > To update to latest packages, re-running this script will auto update all. Script is configured to pull latest packages build for you.
@ -236,7 +232,7 @@ source ~/.zshrc
- [`SEE HERE`](https://github.com/JaKooLit/Hyprland-Dots/discussions/123#discussion-6035205) - [`SEE HERE`](https://github.com/JaKooLit/Hyprland-Dots/discussions/123#discussion-6035205)
#### 🙋 Got a questions regarding the Hyprland Dots configurations? 🙋 #### 🙋 Got a questions regarding the Hyprland Dots configurations? 🙋
- Head over to wiki Link [`WIKI`](https://github.com/JaKooLit/Hyprland-Dots/wiki) - Head over to Hyprland-Dots wiki Link [`KooL's DOTS WIKI`](https://github.com/JaKooLit/Hyprland-Dots/wiki)
#### ⌨ Keybinds #### ⌨ Keybinds
- Keybinds [`CLICK`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Keybinds) - Keybinds [`CLICK`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Keybinds)
@ -246,11 +242,11 @@ source ~/.zshrc
- for the Pre-configured Hyprland dots / configuration, submit issue [`here`](https://github.com/JaKooLit/Hyprland-Dots/issues) - 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 directory #### 🔧 Proper way to re-installing a particular script from install-scripts directory
- CD into Debian-Hyprland Folder and then ran the below command. - CD into Debian-Hyprland DIrectory and then ran the below command.
- i.e. `./install-scripts/gtk-themes.sh` - For reinstall GTK Themes or - i.e. `./install-scripts/gtk-themes.sh` - to reinstall GTK Themes or
- `./install-scripts/sddm.sh` - For reinstall sddm - `./install-scripts/sddm.sh` - to reinstall sddm
> [!IMPORTANT] > [!IMPORTANT]
> DO NOT cd into install-scripts directory as script will most likely to fail > DO NOT CD into install-scripts directory as script as it will fail. Scripts are designed to ran outside install-scripts directory for installation logging purposes.
#### 🛣️ Roadmap: #### 🛣️ Roadmap:
- [ ] possibly adding gruvbox themes, cursors, icons - [ ] possibly adding gruvbox themes, cursors, icons

View File

@ -1,6 +1,8 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 # # 💫 https://github.com/JaKooLit 💫 #
# main dependencies # # main dependencies #
# 22 Aug 2024 - NOTE will trim this more down
# packages neeeded # packages neeeded
dependencies=( dependencies=(
@ -10,74 +12,12 @@ dependencies=(
curl curl
gawk gawk
gettext gettext
gir1.2-graphene-1.0
git git
glslang-tools glslang-tools
gobject-introspection gobject-introspection
golang golang
hwdata hwdata
jq jq
libavcodec-dev
libavformat-dev
libavutil-dev
libcairo2-dev
libdeflate-dev
libdisplay-info-dev
libdrm-dev
libegl1-mesa-dev
libgbm-dev
libgdk-pixbuf-2.0-dev
libgdk-pixbuf2.0-bin
libgirepository1.0-dev
libgl1-mesa-dev
libgraphene-1.0-0
libgraphene-1.0-dev
libgtk-3-dev
libgulkan-0.15-0t64
libgulkan-dev
libinih-dev
libinput-dev
libjbig-dev
libjpeg-dev
libjpeg62-turbo-dev
liblerc-dev
libliftoff-dev
liblzma-dev
libnotify-bin
libpam0g-dev
libpango1.0-dev
libpipewire-0.3-dev
libqt6svg6
libseat-dev
libstartup-notification0-dev
libswresample-dev
libsystemd-dev
libtiff-dev
libtiffxx6
libtomlplusplus-dev
libudev-dev
libvkfft-dev
libvulkan-dev
libvulkan-volk-dev
libwayland-dev
libwebp-dev
libxcb-composite0-dev
libxcb-cursor-dev
libxcb-dri3-dev
libxcb-ewmh-dev
libxcb-icccm4-dev
libxcb-present-dev
libxcb-render-util0-dev
libxcb-res0-dev
libxcb-util-dev
libxcb-xinerama0-dev
libxcb-xinput-dev
libxcb-xkb-dev
libxkbcommon-dev
libxkbcommon-x11-dev
libxkbregistry-dev
libxml2-dev
libxxhash-dev
meson meson
ninja-build ninja-build
openssl openssl
@ -88,8 +28,6 @@ dependencies=(
python3-yaml python3-yaml
python3-pyquery python3-pyquery
qt6-base-dev qt6-base-dev
scdoc
seatd
spirv-tools spirv-tools
vulkan-validationlayers vulkan-validationlayers
vulkan-utility-libraries-dev vulkan-utility-libraries-dev
@ -122,12 +60,4 @@ for PKG1 in "${dependencies[@]}"; do
fi fi
done done
# Install dependencies for wlroots
sudo apt build-dep wlroots
export PATH=$PATH:/usr/local/go/bin
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
clear clear

View File

@ -46,6 +46,7 @@ hypr_package_2=(
btop btop
cava cava
eog eog
fastfetch
gnome-system-monitor gnome-system-monitor
mousepad mousepad
mpv mpv

View File

@ -0,0 +1,49 @@
#!/bin/bash
# This script is cleaning up previous manual installation files / directories
# 22 Aug 2024
# Files to be removed rom /usr/local/bin
TARGET_DIR="/usr/local/bin"
# Define packages to manually remove (was manually installed previously)
PACKAGES=(
hyprctl
hyprpm
hyprland
Hyprland
cliphist
pypr
swappy
waybar
)
## 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)_pre-clean-up.log"
# Loop through the list of packages
for PKG_NAME in "${PACKAGES[@]}"; do
# Construct the full path to the file
FILE_PATH="$TARGET_DIR/$PKG_NAME"
# Check if the file exists
if [[ -f "$FILE_PATH" ]]; then
# Delete the file
sudo rm "$FILE_PATH"
echo "Deleted: $FILE_PATH" 2>&1 | tee -a "$LOG"
else
echo "File not found: $FILE_PATH" 2>&1 | tee -a "$LOG"
fi
done

View File

@ -3,16 +3,16 @@
# Aylur's GTK Shell # # Aylur's GTK Shell #
ags=( ags=(
node-typescript node-typescript
npm npm
meson meson
libgjs-dev libgjs-dev
gjs gjs
libgtk-layer-shell-dev libgtk-layer-shell-dev
libgtk-3-dev libgtk-3-dev
libpulse-dev libpulse-dev
libdbusmenu-gtk3-dev libdbusmenu-gtk3-dev
libsoup-3.0-dev libsoup-3.0-dev
) )
# specific tags to download # specific tags to download
@ -30,7 +30,7 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_ags.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_ags.log"
MLOG="install-$(date +%d-%H%M%S)_ags.log" MLOG="install-$(date +%d-%H%M%S)_ags2.log"
# Installing ags Dependencies # Installing ags Dependencies
for PKG1 in "${ags[@]}"; do for PKG1 in "${ags[@]}"; do

View File

@ -3,8 +3,8 @@
# Bluetooth # # Bluetooth #
blue=( blue=(
bluez bluez
blueman blueman
) )
## 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! ##

View File

@ -3,11 +3,11 @@
# Fonts Required # # Fonts Required #
fonts=( fonts=(
fonts-firacode fonts-firacode
fonts-font-awesome fonts-font-awesome
fonts-noto fonts-noto
fonts-noto-cjk fonts-noto-cjk
fonts-noto-color-emoji fonts-noto-color-emoji
) )
## 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! ##

View File

@ -1,46 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# This is to be use for installing hyprland plugins
# Hyprland plugins: pyprland
pypr_depend=(
python3-aiofiles
python-is-python3
)
## 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)_hypr_eco.log"
# Pyprland
printf "${NOTE} Installing Pyprland Dependencies...\n"
for PYPR in "${pypr_depend[@]}"; do
install_package "$PYPR" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $PYPR Package installation failed, Please check the installation logs"; exit 1; }
done
# Check if the file exists and delete it
pypr="/usr/local/bin/pypr"
if [ -f "$pypr" ]; then
sudo rm "$pypr"
fi
# Hyprland Plugins
# pyprland https://github.com/hyprland-community/pyprland installing using python
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"

View File

@ -1,64 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# hyprcursor #
cursor=(
libzip-dev
librsvg2-dev
)
#specific branch or release
cursor_tag="v0.1.9"
## 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)_hyprcursor.log"
MLOG="install-$(date +%d-%H%M%S)_hyprcursor.log"
# Installation of dependencies
printf "\n%s - Installing hyprcursor dependencies.... \n" "${NOTE}"
for PKG1 in "${cursor[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
exit 1
fi
done
# Check if hyprcursor folder exists and remove it
if [ -d "hyprcursor" ]; then
printf "${NOTE} Removing existing hyprcursor folder...\n"
rm -rf "hyprcursor"
fi
# Clone and build
printf "${NOTE} Installing hyprcursor...\n"
if git clone --recursive -b $cursor_tag https://github.com/hyprwm/hyprcursor.git; then
cd hyprcursor || exit 1
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
printf "${OK} hyprcursor installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for hyprcursor." 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 hyprcursor." 2>&1 | tee -a "$LOG"
fi
clear

View File

@ -3,7 +3,8 @@
# hypidle # # hypidle #
idle=( idle=(
libsdbus-c++-dev libsdbus-c++-dev
libhyprlang-dev
) )
#specific branch or release #specific branch or release
@ -21,7 +22,7 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_hypridle.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypridle.log"
MLOG="install-$(date +%d-%H%M%S)_hypridle.log" MLOG="install-$(date +%d-%H%M%S)_hypridle2.log"
# Installation of dependencies # Installation of dependencies
printf "\n%s - Installing hypridle dependencies.... \n" "${NOTE}" printf "\n%s - Installing hypridle dependencies.... \n" "${NOTE}"

View File

@ -1,15 +1,18 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 # # 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package# # Main Hyprland Package #
#specific branch or release hypr=(
hyprland_tag="v0.41.2" libhyprutils0
libhyprlang-dev
hyprland=( hyprwayland-scanner
libxcb-errors-dev hyprland-protocols
hyprland-dev
hyprland
) )
## 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! ##
# Determine the directory where the script is located # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -17,49 +20,16 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 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 # Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland2.log"
# Installation of dependencies source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
printf "\n%s - Installing hyprland additional dependencies.... \n" "${NOTE}"
for PKG1 in "${hyprland[@]}"; do # Hyprland
install_package "$PKG1" 2>&1 | tee -a "$LOG" printf "${NOTE} Installing Hyprland .......\n"
if [ $? -ne 0 ]; then for HYPR in "${hypr[@]}"; do
echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs" install_package "$HYPR" 2>&1 | tee -a "$LOG"
exit 1 [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR Package installation failed, Please check the installation logs"; exit 1; }
fi
done done
# Clone, build, and install Hyprland using Cmake clear
printf "${NOTE} Cloning Hyprland...\n"
# Check if Hyprland folder exists and remove it
if [ -d "Hyprland" ]; then
printf "${NOTE} Removing existing Hyprland folder...\n"
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi
if git clone --recursive -b $hyprland_tag "https://github.com/hyprwm/Hyprland"; then
cd "Hyprland" || exit 1
make all
if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG"
fi
mv $MLOG ../Install-Logs/ || true
cd ..
else
echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG"
fi
wayland_sessions_dir=/usr/share/wayland-sessions
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG"
clear

View File

@ -1,51 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# hyprlang - hyprland and xdg-desktop-portal- dependencies #
#specific branch or release
lang_tag="v0.5.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)_hyprlang.log"
MLOG="install-$(date +%d-%H%M%S)_hyprlang2.log"
##
printf "${NOTE} Installing hyprlang...\n"
# Check if hyprlang folder exists and remove it
if [ -d "hyprlang" ]; then
printf "${NOTE} Removing existing hyprlang folder...\n"
rm -rf "hyprlang"
fi
# Clone and build hyprlang
printf "${NOTE} Installing hyprlang...\n"
if git clone --recursive -b $lang_tag https://github.com/hyprwm/hyprlang.git; then
cd hyprlang || exit 1
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
printf "${OK} hyprlang installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for hyprlang." 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 hyprlang." 2>&1 | tee -a "$LOG"
fi
clear

View File

@ -3,7 +3,9 @@
# hyprlock # # hyprlock #
lock=( lock=(
libmagic-dev libmagic-dev
libhyprlang-dev
libhyprutils-dev
) )
#specific branch or release #specific branch or release
@ -21,7 +23,7 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_hyprlock.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprlock.log"
MLOG="install-$(date +%d-%H%M%S)_hyprlock.log" MLOG="install-$(date +%d-%H%M%S)_hyprlock2.log"
# Installation of dependencies # Installation of dependencies
printf "\n%s - Installing hyprlock dependencies.... \n" "${NOTE}" printf "\n%s - Installing hyprlock dependencies.... \n" "${NOTE}"

View File

@ -1,48 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprutils #
#specific branch or release
hyprutils_tag="v0.1.5"
## 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)_hyprutils.log"
MLOG="install-$(date +%d-%H%M%S)_hyprutils2.log"
# Clone, build, and install using Cmake
printf "${NOTE} Cloning hyprutils...\n"
# Check if hyprutils folder exists and remove it
if [ -d "hyprutils" ]; then
printf "${NOTE} Removing existing hyprutils folder...\n"
rm -rf "hyprutils" 2>&1 | tee -a "$LOG"
fi
if git clone -b $hyprutils_tag "https://github.com/hyprwm/hyprutils.git"; then
cd "hyprutils" || exit 1
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
fi
mv $MLOG ../Install-Logs/ || true
cd ..
else
echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG"
fi

View File

@ -1,64 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# hyprwayland-scanner - One depency from Hyprland v0.40.0#
scan_depend=(
libpugixml-dev
)
#specific branch or release
scan_tag="v0.4.0"
## 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)_hyprwayland-scanner.log"
MLOG="install-$(date +%d-%H%M%S)_hyprwayland-scanner2.log"
##
# Installation of dependencies
printf "\n%s - Installing hyprwayland-scanner dependencies.... \n" "${NOTE}"
for PKG1 in "${scan_depend[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
exit 1
fi
done
printf "${NOTE} Installing hyprwayland-scanner...\n"
# Check if hyprwayland-scanner folder exists and remove it
if [ -d "hyprwayland-scanner" ]; then
printf "${NOTE} Removing existing hyprwayland-scanner folder...\n"
rm -rf "hyprwayland-scanner"
fi
# Clone and build hyprlang
printf "${NOTE} Installing hyprwayland-scanner...\n"
if git clone --recursive -b $scan_tag https://github.com/hyprwm/hyprwayland-scanner.git; then
cd hyprwayland-scanner || exit 1
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build -j `nproc`
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for hyprwayland-scanner." 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 hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG"
fi
clear

View File

@ -3,7 +3,7 @@
# imagemagick from source # # imagemagick from source #
depend=( depend=(
build-essential build-essential
) )
@ -19,7 +19,7 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_image.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_image.log"
MLOG="install-$(date +%d-%H%M%S)_image.log" MLOG="install-$(date +%d-%H%M%S)_image2.log"
# Installing depencies # Installing depencies
for PKG1 in "${depend[@]}"; do for PKG1 in "${depend[@]}"; do

View File

@ -11,6 +11,17 @@ rofi=(
libmpdclient-dev libmpdclient-dev
libnl-3-dev libnl-3-dev
libasound2-dev libasound2-dev
libstartup-notification0-dev
libxcb-ewmh-dev
libxcb-cursor-dev
libxcb-icccm4-dev
libxcb-randr0-dev
libxcb-render-util0-dev
libxcb-util-dev
libxcb-xkb-dev
libxcb-xinerama0-dev
libxkbcommon-dev
libxkbcommon-x11-dev
) )

View File

@ -3,8 +3,8 @@
# SWWW - Wallpaper Utility # # SWWW - Wallpaper Utility #
swww=( swww=(
cargo cargo
liblz4-dev liblz4-dev
) )
#specific branch or release #specific branch or release
@ -21,8 +21,8 @@ cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_swww2.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_swww.log"
MLOG="install-$(date +%d-%H%M%S)_swww.log" MLOG="install-$(date +%d-%H%M%S)_swww2.log"
# Installation of swww compilation needed # Installation of swww compilation needed
printf "\n%s - Installing swww dependencies.... \n" "${NOTE}" printf "\n%s - Installing swww dependencies.... \n" "${NOTE}"

View File

@ -3,13 +3,13 @@
# Thunar # # Thunar #
thunar=( thunar=(
ffmpegthumbnailer ffmpegthumbnailer
file-roller file-roller
thunar thunar
thunar-volman thunar-volman
tumbler tumbler
thunar-archive-plugin thunar-archive-plugin
xarchiver xarchiver
) )
## 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! ##

View File

@ -3,12 +3,10 @@
# wallust - pywal colors replacment # # wallust - pywal colors replacment #
depend=( depend=(
librust-jpeg-decoder-dev librust-jpeg-decoder-dev
rustup rust
) )
#specific branch or release
wal_tag="dev"
## 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! ##
# Determine the directory where the script is located # Determine the directory where the script is located
@ -22,7 +20,7 @@ source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)_wallust.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_wallust.log"
MLOG="install-$(date +%d-%H%M%S)_wallust.log" MLOG="install-$(date +%d-%H%M%S)_wallust2.log"
# Installing depencies # Installing depencies
for PKG1 in "${depend[@]}"; do for PKG1 in "${depend[@]}"; do
@ -44,7 +42,7 @@ fi
# Clone and build wallust # Clone and build wallust
printf "${NOTE} Installing wallust...\n" printf "${NOTE} Installing wallust...\n"
if git clone --depth 1 -b $wal_tag https://codeberg.org/explosion-mental/wallust.git; then if git clone --depth 1 https://codeberg.org/explosion-mental/wallust.git; then
cd wallust || exit 1 cd wallust || exit 1
make make
if sudo make install 2>&1 | tee -a "$MLOG" ; then if sudo make install 2>&1 | tee -a "$MLOG" ; then

View File

@ -1,82 +0,0 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# waybar - from source #
waybar=(
cmake
meson
scdoc
wayland-protocols
clang-tidy
gobject-introspection
libdbusmenu-gtk3-dev
libevdev-dev
libfmt-dev
libgirepository1.0-dev
libgtk-3-dev
libgtkmm-3.0-dev
libinput-dev
libjsoncpp-dev
libmpdclient-dev
libnl-3-dev
libnl-genl-3-dev
libpulse-dev
libsigc++-2.0-dev
libspdlog-dev
libwayland-dev
scdoc
upower
libxkbregistry-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)_waybar-gt.log"
MLOG="install-$(date +%d-%H%M%S)_waybar-git.log"
# Installation of dependencies
printf "\n%s - Installing waybar-git dependencies.... \n" "${NOTE}"
for PKG1 in "${waybar[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
exit 1
fi
done
# Check if waybar folder exists and remove it
if [ -d "waybar" ]; then
printf "${NOTE} Removing existing waybar folder...\n"
rm -rf "waybar"
fi
# Clone and build waybar from source
printf "${NOTE} Installing waybar...\n"
if git clone https://github.com/Alexays/Waybar; then
cd Waybar || exit 1
meson build
if sudo ninja -C build install 2>&1 | tee -a "$MLOG" ; then
printf "${OK} waybar-git installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for waybar-git." 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 waybar-git" 2>&1 | tee -a "$LOG"
fi
clear

View File

@ -154,6 +154,9 @@ chmod +x install-scripts/*
sudo apt update sudo apt update
# execute pre clean up
execute_script "01-pre-cleanup.sh"
# Install hyprland packages # Install hyprland packages
execute_script "00-dependencies.sh" execute_script "00-dependencies.sh"
execute_script "00-hypr-pkgs.sh" execute_script "00-hypr-pkgs.sh"
@ -163,14 +166,9 @@ execute_script "swww.sh"
execute_script "rofi-wayland.sh" execute_script "rofi-wayland.sh"
execute_script "wallust.sh" execute_script "wallust.sh"
execute_script "ags.sh" execute_script "ags.sh"
execute_script "hyprutils.sh"
execute_script "hyprlang.sh"
execute_script "hyprlock.sh"
execute_script "hyprcursor.sh"
execute_script "hypridle.sh"
execute_script "hyprwayland-scanner.sh"
execute_script "hyprland.sh" execute_script "hyprland.sh"
execute_script "hypr-eco.sh" execute_script "hyprlock.sh"
execute_script "hypridle.sh"
# execute_script "waybar-git.sh" only if waybar on repo is old # execute_script "waybar-git.sh" only if waybar on repo is old