Skip to content

Commit

Permalink
Merge pull request #144 from JaKooLit/development
Browse files Browse the repository at this point in the history
Development to Main - Refactor of Debian-Hyprland Script
  • Loading branch information
JaKooLit authored Aug 23, 2024
2 parents 031e024 + 1972158 commit 4ca3bff
Show file tree
Hide file tree
Showing 23 changed files with 142 additions and 538 deletions.
3 changes: 3 additions & 0 deletions CHANGELOGS.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
30 changes: 13 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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
Expand All @@ -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.
Expand Down Expand Up @@ -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.
Expand All @@ -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)
Expand All @@ -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
Expand Down
74 changes: 2 additions & 72 deletions install-scripts/00-dependencies.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# main dependencies #
# 22 Aug 2024 - NOTE will trim this more down


# packages neeeded
dependencies=(
Expand All @@ -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
Expand All @@ -88,8 +28,6 @@ dependencies=(
python3-yaml
python3-pyquery
qt6-base-dev
scdoc
seatd
spirv-tools
vulkan-validationlayers
vulkan-utility-libraries-dev
Expand Down Expand Up @@ -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
1 change: 1 addition & 0 deletions install-scripts/00-hypr-pkgs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ hypr_package_2=(
btop
cava
eog
fastfetch
gnome-system-monitor
mousepad
mpv
Expand Down
49 changes: 49 additions & 0 deletions install-scripts/01-pre-cleanup.sh
Original file line number Diff line number Diff line change
@@ -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

22 changes: 11 additions & 11 deletions install-scripts/ags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions install-scripts/bluetooth.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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! ##
Expand Down
10 changes: 5 additions & 5 deletions install-scripts/fonts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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! ##
Expand Down
46 changes: 0 additions & 46 deletions install-scripts/hypr-eco.sh

This file was deleted.

Loading

0 comments on commit 4ca3bff

Please sign in to comment.