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
## 22 Aug 2024
- refactor Debian-Hyprland script. As Hyprland is now in official repo
## 07 Jul 2024
- 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">
<br>
<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>
### 🪧🪧🪧 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)
- 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
- 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 ###
- 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]
> 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
- 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)`
#### ✨ 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)
- 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)
- hyprlock [`LINK`](https://github.com/hyprwm/hyprlock)
- hypridle [`LINK`](https://github.com/hyprwm/hypridle)
- hyprlang [`LINK`](https://github.com/hyprwm/hyprlang)
- hyprcursor [`LINK`](https://github.com/hyprwm/hyprcursor)
- swappy [`LINK`](https://github.com/jtheoof/swappy)
- hyprlock [`LINK`](https://github.com/hyprwm/hyprlock) #22 Aug 2024 - still not on repo
- hypridle [`LINK`](https://github.com/hyprwm/hypridle) #22 Aug 2024 - still not on repo
- xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland)
- rofi-wayland [`LINK`](https://github.com/lbonn/rofi)
- 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]
> 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)
#### 🙋 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 [`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)
#### 🔧 Proper way to re-installing a particular script from install-scripts directory
- CD into Debian-Hyprland Folder and then ran the below command.
- i.e. `./install-scripts/gtk-themes.sh` - For reinstall GTK Themes or
- `./install-scripts/sddm.sh` - For reinstall sddm
- CD into Debian-Hyprland DIrectory and then ran the below command.
- i.e. `./install-scripts/gtk-themes.sh` - to reinstall GTK Themes or
- `./install-scripts/sddm.sh` - to reinstall sddm
> [!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:
- [ ] possibly adding gruvbox themes, cursors, icons

View File

@ -1,6 +1,8 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# main dependencies #
# 22 Aug 2024 - NOTE will trim this more down
# packages neeeded
dependencies=(
@ -10,74 +12,12 @@ dependencies=(
curl
gawk
gettext
gir1.2-graphene-1.0
git
glslang-tools
gobject-introspection
golang
hwdata
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
ninja-build
openssl
@ -88,8 +28,6 @@ dependencies=(
python3-yaml
python3-pyquery
qt6-base-dev
scdoc
seatd
spirv-tools
vulkan-validationlayers
vulkan-utility-libraries-dev
@ -122,12 +60,4 @@ for PKG1 in "${dependencies[@]}"; do
fi
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

View File

@ -46,6 +46,7 @@ hypr_package_2=(
btop
cava
eog
fastfetch
gnome-system-monitor
mousepad
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 #
ags=(
node-typescript
npm
meson
libgjs-dev
gjs
libgtk-layer-shell-dev
libgtk-3-dev
libpulse-dev
libdbusmenu-gtk3-dev
libsoup-3.0-dev
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
@ -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
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
for PKG1 in "${ags[@]}"; do

View File

@ -3,8 +3,8 @@
# Bluetooth #
blue=(
bluez
blueman
bluez
blueman
)
## 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=(
fonts-firacode
fonts-font-awesome
fonts-noto
fonts-noto-cjk
fonts-noto-color-emoji
fonts-firacode
fonts-font-awesome
fonts-noto
fonts-noto-cjk
fonts-noto-color-emoji
)
## 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 #
idle=(
libsdbus-c++-dev
libsdbus-c++-dev
libhyprlang-dev
)
#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
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
printf "\n%s - Installing hypridle dependencies.... \n" "${NOTE}"

View File

@ -1,15 +1,18 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package#
# Main Hyprland Package #
#specific branch or release
hyprland_tag="v0.41.2"
hyprland=(
libxcb-errors-dev
hypr=(
libhyprutils0
libhyprlang-dev
hyprwayland-scanner
hyprland-protocols
hyprland-dev
hyprland
)
## 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 )"
@ -17,49 +20,16 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
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)_hyprland.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland2.log"
# Installation of dependencies
printf "\n%s - Installing hyprland additional dependencies.... \n" "${NOTE}"
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
for PKG1 in "${hyprland[@]}"; 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
# Hyprland
printf "${NOTE} Installing Hyprland .......\n"
for HYPR in "${hypr[@]}"; do
install_package "$HYPR" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR Package installation failed, Please check the installation logs"; exit 1; }
done
# Clone, build, and install Hyprland using Cmake
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
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 #
lock=(
libmagic-dev
libmagic-dev
libhyprlang-dev
libhyprutils-dev
)
#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
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
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 #
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
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
for PKG1 in "${depend[@]}"; do

View File

@ -11,6 +11,17 @@ rofi=(
libmpdclient-dev
libnl-3-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=(
cargo
liblz4-dev
cargo
liblz4-dev
)
#specific branch or release
@ -21,8 +21,8 @@ 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)_swww2.log"
MLOG="install-$(date +%d-%H%M%S)_swww.log"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_swww.log"
MLOG="install-$(date +%d-%H%M%S)_swww2.log"
# Installation of swww compilation needed
printf "\n%s - Installing swww dependencies.... \n" "${NOTE}"

View File

@ -3,13 +3,13 @@
# Thunar #
thunar=(
ffmpegthumbnailer
file-roller
thunar
thunar-volman
tumbler
thunar-archive-plugin
xarchiver
ffmpegthumbnailer
file-roller
thunar
thunar-volman
tumbler
thunar-archive-plugin
xarchiver
)
## 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 #
depend=(
librust-jpeg-decoder-dev
rustup
librust-jpeg-decoder-dev
rust
)
#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
@ -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
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
for PKG1 in "${depend[@]}"; do
@ -44,7 +42,7 @@ 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
if git clone --depth 1 https://codeberg.org/explosion-mental/wallust.git; then
cd wallust || exit 1
make
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
# execute pre clean up
execute_script "01-pre-cleanup.sh"
# Install hyprland packages
execute_script "00-dependencies.sh"
execute_script "00-hypr-pkgs.sh"
@ -163,14 +166,9 @@ execute_script "swww.sh"
execute_script "rofi-wayland.sh"
execute_script "wallust.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 "hypr-eco.sh"
execute_script "hyprlock.sh"
execute_script "hypridle.sh"
# execute_script "waybar-git.sh" only if waybar on repo is old