Compare commits
46 Commits
Arch-Hyprl
...
arch-v2.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5acde89271 | ||
|
|
7ebe599868 | ||
|
|
ae0c8b155c | ||
|
|
3781f9c510 | ||
|
|
bbeaa681e0 | ||
|
|
47f4e4d7b6 | ||
|
|
23f52b3f00 | ||
|
|
956fb369b5 | ||
|
|
9cf06be539 | ||
|
|
1808001bdb | ||
|
|
46728206a0 | ||
|
|
27b7ba5578 | ||
|
|
bcfade3e24 | ||
|
|
f231d77b5c | ||
|
|
d1c0e89737 | ||
|
|
f1e2d27625 | ||
|
|
2789e1544c | ||
|
|
a9e33e5c58 | ||
|
|
93581957d4 | ||
|
|
6c86adfcdc | ||
|
|
0ab997e352 | ||
|
|
5b427072ae | ||
|
|
f6a7c27229 | ||
|
|
aa140acf69 | ||
|
|
560ecf3bb6 | ||
|
|
516f2e609c | ||
|
|
66cebd2247 | ||
|
|
c16b3bc2c0 | ||
|
|
ead2235eba | ||
|
|
729149b7cc | ||
|
|
efba587fde | ||
|
|
c2a30d5a08 | ||
|
|
ab31c829e2 | ||
|
|
5b29ba38d8 | ||
|
|
d26c9e30bd | ||
|
|
78aa1dbcb2 | ||
|
|
47836c2fb9 | ||
|
|
3b2281568c | ||
|
|
f185af7389 | ||
|
|
deb545e3b1 | ||
|
|
5a3895682d | ||
|
|
2fbfecd07a | ||
|
|
8813180c2d | ||
|
|
2afc7293d5 | ||
|
|
e433e89754 | ||
|
|
b5f342f62c |
@@ -1,221 +1,312 @@
|
||||
## CHANGELOGS
|
||||
|
||||
## Dec 2025
|
||||
|
||||
Added:
|
||||
|
||||
- `qt5-quickcontrols2` to sddm.sh - User reported w/o this SDDM crashed on login
|
||||
Fixed:
|
||||
- AGS v1
|
||||
- It now does the following:
|
||||
- Clone upstream AGS 1.9.0.
|
||||
- Stub out PAM/GUtils via pam.ts.
|
||||
- Build and install AGS.
|
||||
- Install the known-good launcher from install-scripts/ags.launcher.com.github.Aylur.ags.
|
||||
- Points /usr/local/bin/ags at that launcher.
|
||||
- AGS is no longer removed when you add quickshell.
|
||||
- AGS overview is a backup if quickshell overview fails.
|
||||
- meson build errors
|
||||
- `rofi-wayland` package changed to 'rofi'
|
||||
- Add missing monitor scripts from Fedora-Hyprland PR #234
|
||||
|
||||
## 22 July 2025
|
||||
|
||||
- Updated sddm theme and script to work with the updated simple_sddm_2 theme
|
||||
|
||||
## 17 July 2025
|
||||
|
||||
- added quickshell script to replace ags for desktop overview
|
||||
|
||||
## 08 June 2025
|
||||
|
||||
- updated SDDM theme.
|
||||
|
||||
## 20 March 2025
|
||||
|
||||
- adjusted hyprland installation script. This is great for those who are using -git packages
|
||||
- added findutils as dependencies
|
||||
|
||||
## 11 March 2025
|
||||
|
||||
- Added uninstall script
|
||||
- forked AGS v1 into JakooLit repo. This is just incase Aylur decide to take down v1
|
||||
|
||||
## 10 March 2025
|
||||
|
||||
- Dropped pyprland in favor of hyprland built in tool for a drop down like terminal and Desktop magnifier
|
||||
|
||||
## 06 March 2025
|
||||
|
||||
- Switched to whiptail version for Y & N questions
|
||||
- switched eza to lsd
|
||||
|
||||
## 23 Feb 2025
|
||||
|
||||
- added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12
|
||||
- added Fantasque Sans Mono Nerd for Kitty
|
||||
|
||||
## 22 Feb 2025
|
||||
|
||||
- replaced eog with loupe
|
||||
- changed url for installing oh-my-zsh to get wider coverage. Some countries are blocking github raw url's
|
||||
|
||||
## 20 Feb 2025
|
||||
|
||||
- Added nwg-displays for the upcoming Kools dots v2.3.12
|
||||
|
||||
## 18 Feb 2025
|
||||
|
||||
- Change default zsh theme to adnosterzak
|
||||
- pokemon coloscript integrated with fastfetch when opted with pokemon to add some bling
|
||||
- additional external oh-my-zsh theme
|
||||
|
||||
## 06 Feb 2025
|
||||
|
||||
- added semi-unattended function.
|
||||
- move all the initial questions at the beginning
|
||||
|
||||
## 04 Feb 2025
|
||||
|
||||
- Re-coded for better visibility
|
||||
- Offered a new SDDM theme.
|
||||
- script will automatically detect if you have nvidia but script still offer if you want to set up for user
|
||||
|
||||
## 29 Jan 2025
|
||||
|
||||
- enhanced nvidia.sh to add additional systemd-bootloader entries for nvidia
|
||||
|
||||
## 16 Jan 2025
|
||||
|
||||
- updated nvidia.sh to install non-git libva-nvidia-driver
|
||||
|
||||
## 13 Jan 2025
|
||||
|
||||
- replaced polkit-gnome with hyprpolkitagent
|
||||
|
||||
## 12 Jan 2025
|
||||
|
||||
- switch to final version of aylurs-gtk-shell-v1
|
||||
|
||||
## 11 Jan 2025
|
||||
|
||||
- added cachyos-hyprland-settings to uninstall
|
||||
|
||||
## 06 Jan 2025
|
||||
|
||||
- added copying of modified fastfetch-compact for Arch
|
||||
- default theme for oh my zsh theme is now "funky"
|
||||
|
||||
## 26 Dec 2024
|
||||
|
||||
- Removal of Bibata Ice cursor on assets since its integrated in the GTK Themes and Icons extract from a separate repo
|
||||
- integrated hyprcursor in Bibata Ice Cursor
|
||||
|
||||
## 15 Nov 2024
|
||||
|
||||
- revert Aylurs GTK Shell (AGS) to install older version
|
||||
- added aylurs-gtk-shell to uninstall
|
||||
|
||||
## 20 Sep 2024
|
||||
|
||||
- User will be ask if they want to set Thunar as default file manager if they decided to install it
|
||||
|
||||
## 19 Sep 2024
|
||||
|
||||
- Added fastfetch on tty. However, will be disabled if user decided to install pokemon colorscripts
|
||||
|
||||
## 18 Sep 2024
|
||||
|
||||
- dotfiles will now be downloaded from main or master branch instead of from the releases version.
|
||||
|
||||
## 14 Sep 2024
|
||||
|
||||
- remove the final error checks instead, introduced a final check of essential packages to ran Hyprland
|
||||
|
||||
## 08 Sep 2024
|
||||
|
||||
- Added final error checks on install-logs
|
||||
|
||||
## 07 Sep 2024
|
||||
|
||||
- added pulseaudio check
|
||||
- added sof-firmware
|
||||
|
||||
## 29 Aug 2024
|
||||
|
||||
- switched over to non-git wallust package
|
||||
- improved indentions on some install scripts
|
||||
|
||||
## 28 Aug 2024
|
||||
|
||||
- Added final check if hyprland is installed and will give an error to user
|
||||
|
||||
## 26 Aug 2024
|
||||
|
||||
- Set to uninstall rofi as conflicts with rofi-wayland
|
||||
- added nvidia_drm.fbdev=1 for grub
|
||||
|
||||
## 14 Aug 2024
|
||||
|
||||
- added archlinux-keyring on base.sh
|
||||
|
||||
## 08 Aug 2024
|
||||
|
||||
- Increased to 1 sec delay for installing base-devel [commit](https://github.com/JaKooLit/Arch-Hyprland/commit/7ebfa06c3b186f9bec0bcf268fae401ba67dfc2a)
|
||||
|
||||
## 07 Jul 2024
|
||||
|
||||
- added eza (ls replacement for tty). Note only on .zshrc
|
||||
|
||||
## 25 Jun 2024
|
||||
|
||||
- added fbdev=1 for nvidia.sh on `/etc/modprobe.d/nvidia.conf`. see here `https://wiki.hyprland.org/Nvidia/#drm-kernel-mode-setting`
|
||||
|
||||
## 26 May 2024
|
||||
|
||||
- Added fzf for zsh (CTRL R to invoke FZF history)
|
||||
|
||||
## 23 May 2024
|
||||
|
||||
- added qalculate-gtk to work with rofi-calc. Default keybinds (SUPER ALT C)
|
||||
- added power-profiles-daemon for ROG laptops. Note, I cant add to all since it conflicts with TLP, CPU-Auto-frequency etc.
|
||||
- added fastfetch
|
||||
|
||||
## 22 May 2024
|
||||
|
||||
- nwg-look is now in extra repo so replaced with nwg-look from nwg-look-bin
|
||||
- change the sddm theme destination to /etc/sddm.conf.d/10-theme.conf to theme.conf.user
|
||||
|
||||
## 19 May 2024
|
||||
|
||||
- Disabled the auto-login in .zprofile as it causes auto-login to Hyprland if any wayland was chosen. Can enabled if only using hyprland
|
||||
|
||||
## 10 May 2024
|
||||
|
||||
- added wallust-git and remove python-pywal for migration to wallust on Hyprland-Dots v2.2.11
|
||||
|
||||
## 08 May 2024
|
||||
|
||||
- Adjusted sddm.sh since it does not respect preset.sh
|
||||
- install.sh have been rearranged so it quits if user choose not to proceed
|
||||
|
||||
## 07 May 2024
|
||||
|
||||
- Minor typo change on nvidia.sh
|
||||
- switch back to cava since installing cava-git keep it hanging (see known-issue on readme)
|
||||
|
||||
## 05 May 2024
|
||||
|
||||
- switched to rofi-wayland Extra Repo
|
||||
|
||||
## 04 May 2024
|
||||
|
||||
- separated fonts installation script for easy debugging
|
||||
|
||||
## 03 May 2024
|
||||
|
||||
- added python3-pyquery for new weather-waybar python based on Hyprland-Dots
|
||||
|
||||
## 02 May 2024
|
||||
|
||||
- Added pyprland (hyprland plugin)
|
||||
|
||||
## 26 Apr 2024
|
||||
|
||||
- Updated sddm.sh for Qt6 variant
|
||||
|
||||
## 23 Apr 2024
|
||||
|
||||
- Dropping swayidle and swaylock in favor of hypridle and hyprlock
|
||||
|
||||
## 20 Apr 2024
|
||||
|
||||
- Change default Oh-my-zsh theme to xiong-chiamiov-plus
|
||||
|
||||
## 16 Mar 2024
|
||||
|
||||
- added hyprcursor
|
||||
|
||||
## 1 Mar 2024
|
||||
|
||||
- replaced sddm-git with sddm
|
||||
|
||||
## 11 Jan 2024
|
||||
|
||||
- dropped wlsunset
|
||||
|
||||
## 05 Jan 2024
|
||||
|
||||
- Added a preset feature
|
||||
- Added templates for contributing, and reporting, etc
|
||||
|
||||
## 01 Jan 2024
|
||||
|
||||
- Re-coded complete and test
|
||||
- Added to spice up pacman.conf including adding of ILoveCandy on it :)
|
||||
|
||||
## 30 Dec 2023
|
||||
|
||||
- Install scripts reconstructed
|
||||
|
||||
## 29 December 2023
|
||||
|
||||
- Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start
|
||||
|
||||
## 16 Dec 2023
|
||||
|
||||
- zsh theme switched to `agnoster` theme by default
|
||||
- pywal tty color change disabled by default
|
||||
|
||||
## 13 Dec 2023
|
||||
|
||||
- switched hyprland to Extra Repo hyprland (both nvidia and non-nvidia). Seeing they are updating all the time :)
|
||||
|
||||
## 11 Dec 2023
|
||||
|
||||
- Changing over to zsh automatically if user opted
|
||||
- If chose to install zsh and have no login manager, zsh auto login will auto start Hyprland
|
||||
- added as optional, with zsh, pokemon colorscripts
|
||||
- improved zsh install scripts, so even the existing zsh users of can still opt for zsh and oh-my-zsh installation :)
|
||||
|
||||
## 03 Dec 2023
|
||||
|
||||
- Added kvantum for qt apps theming
|
||||
- return of wlogout due to theming issues of rofi-power
|
||||
|
||||
## 01 Dec 2023
|
||||
|
||||
- Added pipewire to install
|
||||
|
||||
## 30 Nov 2023
|
||||
|
||||
- switched to swaylock-effects-git as non-git does not seem to work
|
||||
|
||||
## 29 Nov 2023
|
||||
|
||||
- nvidia.sh edited to remove hyprland-nvidia-git as well
|
||||
|
||||
## 26 Nov 2023
|
||||
|
||||
- nvidia - Move to hyprland-git. see [`commit`](https://github.com/hyprwm/Hyprland/commit/cd96ceecc551c25631783499bd92c6662c5d3616)
|
||||
|
||||
## 25 Nov 2023
|
||||
|
||||
- drop wlogout since Hyprland-Dots v2.1.9 uses rofi-power
|
||||
|
||||
## 23-Nov-2023
|
||||
|
||||
- Added Bibata cursor to install if opted for GTK Themes. However, it is not pre-applied. Use nwg-look utility to apply
|
||||
|
||||
## 19-Nov-2023
|
||||
|
||||
- Adjust dotfiles script to download from releases instead of from upstream
|
||||
|
||||
|
||||
|
||||
|
||||
77
README.md
77
README.md
@@ -8,7 +8,6 @@
|
||||
|
||||
   <a href="https://discord.gg/kool-tech-world"> <img src="https://img.shields.io/discord/1151869464405606400?style=for-the-badge&logo=discord&color=cba6f7&link=https%3A%2F%2Fdiscord.gg%kool-tech-world"> </a>
|
||||
|
||||
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
@@ -54,12 +53,14 @@ https://github.com/user-attachments/assets/49bc12b2-abaf-45de-a21c-67aacd9bb872
|
||||
</div>
|
||||
|
||||
### Gallery and Videos
|
||||
|
||||
#### 🎥 Feb 2025 Video explanation of installation with preset
|
||||
|
||||
- [YOUTUBE-LINK](https://youtu.be/wQ70lo7P6vA?si=_QcbrNKh_Bg0L3wC)
|
||||
- [YOUTUBE-Hyprland-Playlist](https://youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx&si=iaNjLulFdsZ6AV-t)
|
||||
|
||||
|
||||
### 🪧🪧🪧 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.
|
||||
- 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
|
||||
@@ -72,27 +73,32 @@ https://github.com/user-attachments/assets/49bc12b2-abaf-45de-a21c-67aacd9bb872
|
||||
> Download this script on a directory where you have write permissions. ie. HOME. Or any directory within your home directory. Else script will fail
|
||||
|
||||
#### 🆕 Prerequisites
|
||||
|
||||
- This install script is intended for atleast Server type / Minimal Arch Linux installed.
|
||||
|
||||
> [!NOTE]
|
||||
> 🔘 Pipewire and Pipewire audio
|
||||
|
||||
- This script will install pipewire and will also disable or will uninstall pulseaudio. If you dont want it, edit install.sh, about line 191 and comment the line `execute_script "pipewire.sh"` or you can simply just delete pipewire.sh in install-scripts directory before installing.
|
||||
|
||||
#### ✨ Customize the packages to be installed
|
||||
|
||||
- inside the install-scripts directory, you can edit 00-hypr-pkgs.sh. Care though as the Hyprland Dots may not work properly!
|
||||
|
||||
#### 🚩 Switching to SDDM assuming you have GDM installed and running
|
||||
|
||||
- if you really want switch to SDDM from GDM, you need to disable the gdm first.
|
||||
- `sudo systemctl disable gdm.service` then reboot
|
||||
- after reboot, need to ran the install script via tty. So suggest download the install script first. Then disable gdm. reboot and once logged in, cd into Distro-Hyprland then `./install.sh` and then choose SDDM and SDDM theme in the options.
|
||||
- NOTE: Distro-Hyprland is Arch-Hyprland, or Fedora-Hyprland .. depends on which install scripts you downloaded.
|
||||
|
||||
|
||||
#### 💫 SDDM and GTK Themes offered
|
||||
- If you opted to install SDDM theme, here's the [`LINK`](https://codeberg.org/JaKooLit/sddm-sequoia) which is a fork of [`LINK`](https://codeberg.org/minMelody/sddm-sequoia)
|
||||
|
||||
- If you opted to install SDDM theme, here's the [`LINK`](https://github.com/JaKooLit/simple-sddm-2) which is a modified fork of [`LINK`](https://github.com/Keyitdev/sddm-astronaut-theme)
|
||||
- If you opted to install GTK Themes, Icons, here's the [`LINK`](https://github.com/JaKooLit/GTK-themes-icons). This also includes Bibata Modern Ice cursor.
|
||||
|
||||
#### 👀 NVidia GPU Owners.
|
||||
#### 👀 Nvidia GPU Owners.
|
||||
|
||||
- By default, nvidia-dkms will be installed. and only supports GTX 900 and newer. If required to install older driver, edit the nvidia.sh in install-scripts directory
|
||||
|
||||
> [!IMPORTANT]
|
||||
@@ -101,16 +107,19 @@ https://github.com/user-attachments/assets/49bc12b2-abaf-45de-a21c-67aacd9bb872
|
||||
- After installation, check [`THIS`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Notes_to_remember#--for-nvidia-gpu-users)
|
||||
|
||||
## ✨ Auto clone and install
|
||||
|
||||
> [!CAUTION]
|
||||
> If you are using FISH SHELL, DO NOT use this function. Clone and ran install.sh instead
|
||||
|
||||
- you can use this command to automatically clone the installer and ran the script for you
|
||||
- NOTE: `curl` package is required before running this command
|
||||
|
||||
```bash
|
||||
sh <(curl -L https://raw.githubusercontent.com/JaKooLit/Arch-Hyprland/main/auto-install.sh)
|
||||
```
|
||||
|
||||
## ✨ to use this script
|
||||
|
||||
- clone this repo (latest commit only) to reduce file size download by using git. Change directory, make executable and run the script
|
||||
|
||||
```bash
|
||||
@@ -121,61 +130,92 @@ chmod +x install.sh
|
||||
```
|
||||
|
||||
### 💥 💥 UNINSTALL SCRIPT / Removal of Config Files
|
||||
|
||||
- 11 March 2025, due to popular request, created a guided `uninstall.sh` script. USE this with caution as it may render your system unstable.
|
||||
- I will not be responsible if your system breaks
|
||||
- The best still to revert to previous state of your system is via `timeshift or snapper`
|
||||
|
||||
#### ✨ for ZSH and OH-MY-ZSH installation
|
||||
|
||||
> installer should auto change your default shell to zsh. However, if it does not, do this
|
||||
|
||||
```bash
|
||||
chsh -s $(which zsh)
|
||||
zsh
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
- reboot or logout
|
||||
- by default `agnosterzak` theme is installed. Which is from external oh-my-zsh theme. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
|
||||
- to change the theme, `SUPER SHIFT O` , choose desired theme, and close and open terminal.
|
||||
- or manually edit `~/.zshrc` . Look for ZSH_THEME="desired theme"
|
||||
|
||||
#### 🎞️ AGS Overview DEMO
|
||||
|
||||
- in case you wonder, here is a short demo of AGS overview [Youtube LINK](https://youtu.be/zY5SLNPBJTs)
|
||||
|
||||
#### ✨ TO DO once installation done and dotfiles copied
|
||||
|
||||
- SUPER H for HINT or click on the waybar HINT! Button
|
||||
- Head over to [KooL Hyprland WIKI](https://github.com/JaKooLit/Hyprland-Dots/wiki)
|
||||
|
||||
#### 🙋 Got a questions regarding the Hyprland Dots or configurations? 🙋
|
||||
|
||||
- Head over to wiki Link [`WIKI`](https://github.com/JaKooLit/Hyprland-Dots/wiki)
|
||||
|
||||
#### ⌨ Keybinds
|
||||
|
||||
- Keybinds [`CLICK`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Keybinds)
|
||||
|
||||
> [!TIP]
|
||||
> KooL Hyprland has a searchable keybind function via rofi. (SUPER SHIFT K) or right click the `HINTS` waybar button
|
||||
|
||||
|
||||
#### 🔄 switching between Hyprland-git and none Hyprland-git
|
||||
|
||||
- you can use my prepared script [`LINK`](https://github.com/JaKooLit/Arch-Hyprland/tree/main/assets/hyprland-install)
|
||||
- Readme is also there
|
||||
|
||||
|
||||
#### 🙋 👋 Having issues or questions?
|
||||
|
||||
- for the install part, kindly open issue on this repo
|
||||
- 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 Arch-Hyprland directory 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
|
||||
|
||||
> [!IMPORTANT]
|
||||
> DO NOT cd into install-scripts directory as script will most likely to fail
|
||||
#### 🛠️ Optional system monitor scripts (cross-distro compatible)
|
||||
- These installer helpers will set up user-level services and install required packages automatically.
|
||||
- Works on Fedora, Arch, and other distributions using standard tools.
|
||||
- Re-run any time from the repo root (do not `cd` into `install-scripts`).
|
||||
|
||||
- `./install-scripts/battery-monitor.sh`
|
||||
- Installs: `acpi`, `libnotify`
|
||||
- Creates: `~/.config/hypr/scripts/battery-monitor.sh` and user service `battery-monitor.service`
|
||||
- Manage: `systemctl --user status|start|stop battery-monitor`
|
||||
- `./install-scripts/disk-monitor.sh`
|
||||
- Installs: `libnotify`
|
||||
- Creates: `~/.config/hypr/scripts/disk-monitor.sh` and user service `disk-monitor.service`
|
||||
- Manage: `systemctl --user status|start|stop disk-monitor`
|
||||
- `./install-scripts/temp-monitor.sh`
|
||||
- Installs: `lm_sensors`, `libnotify`
|
||||
- Detects sensors (runs `sudo sensors-detect --auto` once)
|
||||
- Creates: `~/.config/hypr/scripts/temp-monitor.sh` and user service `temp-monitor.service`
|
||||
- Manage: `systemctl --user status|start|stop temp-monitor`
|
||||
> Packages above are installed by the respective installer scripts; no manual action is required. If you prefer package pre-install via the main package list, ensure `acpi`, `lm_sensors`, and `libnotify` are present in your setup.
|
||||
|
||||
#### 🛣️ Roadmap:
|
||||
|
||||
- [ ] show a progress bar in downloading and compiling part when installing outside AUR or official repo
|
||||
|
||||
#### ❗ some known issues for nvidia
|
||||
|
||||
- reports from members of my discord, states that some users of nvidia are getting stuck on sddm login. credit to @Kenni Fix stated was
|
||||
|
||||
```
|
||||
while in sddm press ctrl+alt+F2 or F3
|
||||
log into your account
|
||||
@@ -184,48 +224,52 @@ log into your account
|
||||
`ls -l /dev/dri/by-path` to check where the symlink points to
|
||||
)
|
||||
```
|
||||
|
||||
- add "env = WLR_DRM_DEVICES,/dev/dri/cardX" to the ENVvariables config `~/.config/hypr/UserConfigs/ENVariables.conf` ; X being where the symlink of the gpu points to
|
||||
|
||||
- more info from the hyprland wiki [`Hyprland Wiki Link`](https://wiki.hyprland.org/FAQ/#my-external-monitor-is-blank--doesnt-render--receives-no-signal-laptop)
|
||||
|
||||
|
||||
- reports from a member of discord for Nvidia for additional env's
|
||||
- remove # from the following env's on
|
||||
|
||||
```
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = WLR_RENDERER_ALLOW_SOFTWARE,1
|
||||
```
|
||||
|
||||
#### ❗ other known issues
|
||||
|
||||
- [ ] If you are using this script on an Arch-Based distros like Arco linux, or cachy OS or EOS or Manjaro, make sure to install pipewire, pipewire-pulse & pipewire-audio first. Arco Linux, on some of their ISO's still shipped with pulseaudio as audio backend. You will experience getting "stuck" on installation.
|
||||
- [ ] To install pipewire and its services , `sudo pacman -S pipewire wireplumber pipewire-audio pipewire-pulse` . When prompted, remove / replace pulseaudio. After that, you can ran `./install.sh`
|
||||
- [ ] installing of cava-git on a newly installed Arch makes the install keep hanging. Switched back to cava. After booting and logged in, if cava dont work, replace it cava-git `yay -S cava-git` or `paru -S cava-git`
|
||||
> [!NOTE]
|
||||
> Auto start of Hyprland after login (no SDDM or GDM or any login managers)
|
||||
> [!NOTE]
|
||||
> Auto start of Hyprland after login (no SDDM or GDM or any login managers)
|
||||
- [ ] This was disabled a few days ago. (19 May 2024). This was because some users, after they used the Distro-Hyprland scripts with other DE (gnome-wayland or plasma-wayland), if they choose to login into gnome-wayland for example, Hyprland is starting.
|
||||
- [ ] to avoid this, I disabled it. You can re-enable again by editing `~/.zprofile` . Remove all the # on the first lines
|
||||
- [ ] ROFI issues (scaling, unexplained scaling etc). This is most likely to experience if you are installing on a system where rofi is currently installed. To fix it uninstall rofi and install rofi-wayland . `sudo pacman -Rns rofi` . Install rofi-wayland with `sudo pacman -S rofi-wayland`. Rofi-wayland is compatible with x11 so no need to worry.
|
||||
|
||||
|
||||
#### 🫥 Improving performance for Older Nvidia Cards using driver 470
|
||||
- [`SEE HERE`](https://github.com/JaKooLit/Hyprland-Dots/discussions/123#discussion-6035205)
|
||||
|
||||
- [`SEE HERE`](https://github.com/JaKooLit/Hyprland-Dots/discussions/123#discussion-6035205)
|
||||
|
||||
#### 📒 Final Notes
|
||||
|
||||
- join my discord channel [`Discord`](https://discord.com/invite/kool-tech-world)
|
||||
- Feel free to copy, re-distribute, and use this script however you want. Would appreciate if you give me some loves by crediting my work :)
|
||||
|
||||
|
||||
|
||||
#### ✍️ Contributing
|
||||
|
||||
- As stated above, these script does not contain actual config files. These are only the installer of packages
|
||||
- If you want to contribute and/or test the Hyprland-Dotfiles (development branch), [`Hyprland-Dots-Development`](https://github.com/JaKooLit/Hyprland-Dots/tree/development)
|
||||
- Want to contribute on KooL-Hyprland-Dots Click [`HERE`](https://github.com/JaKooLit/Hyprland-Dots/blob/main/CONTRIBUTING.md) for a guide how to contribute
|
||||
- Want to contribute on This Installer? Click [`HERE`](https://github.com/JaKooLit/Arch-Hyprland/blob/main/CONTRIBUTING.md) for a guide how to contribute
|
||||
|
||||
#### 👍👍👍 Thanks and Credits!
|
||||
|
||||
- [`Hyprland`](https://hyprland.org/) Of course to Hyprland and @vaxerski for this awesome Dynamic Tiling Manager.
|
||||
|
||||
## 💖 Support
|
||||
|
||||
- a Star on my Github repos would be nice 🌟
|
||||
|
||||
- Subscribe to my Youtube Channel [YouTube](https://www.youtube.com/@Ja.KooLit)
|
||||
@@ -239,14 +283,15 @@ or
|
||||
[](https://www.buymeacoffee.com/JaKooLit)
|
||||
|
||||
Or you can donate cryto on my btc wallet :)
|
||||
|
||||
> 1N3MeV2dsX6gQB42HXU6MF2hAix1mqjo8i
|
||||
|
||||

|
||||
|
||||
|
||||
#### 📹 Youtube videos (Click to view and watch the playlist) 📹
|
||||
|
||||
[](https://youtube.com/playlist?list=PLDtGd5Fw5_GjXCznR0BzCJJDIQSZJRbxx&si=iaNjLulFdsZ6AV-t)
|
||||
|
||||
|
||||
## 🥰🥰 💖💖 👍👍👍
|
||||
|
||||
[](https://starchart.cc/JaKooLit/Arch-Hyprland)
|
||||
|
||||
@@ -36,7 +36,7 @@ hypr_package=(
|
||||
qt5ct
|
||||
qt6ct
|
||||
qt6-svg
|
||||
rofi-wayland
|
||||
rofi
|
||||
slurp
|
||||
swappy
|
||||
swaync
|
||||
|
||||
18
install-scripts/ags.launcher.com.github.Aylur.ags
Executable file
18
install-scripts/ags.launcher.com.github.Aylur.ags
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/gjs -m
|
||||
|
||||
import { exit, programArgs, programInvocationName } from "system";
|
||||
import GLib from "gi://GLib";
|
||||
|
||||
// Ensure GI can see typelibs in /usr/local and the system girepository
|
||||
GLib.setenv("GI_TYPELIB_PATH", "/usr/local/lib:/usr/lib/girepository-1.0", true);
|
||||
|
||||
imports.package.init({
|
||||
name: "com.github.Aylur.ags",
|
||||
version: "1.9.0",
|
||||
prefix: "/usr/local",
|
||||
libdir: "/usr/local/lib",
|
||||
});
|
||||
|
||||
const module = await import("resource:///com/github/Aylur/ags/main.js");
|
||||
const exitCode = await module.main([programInvocationName, ...programArgs]);
|
||||
exit(exitCode);
|
||||
@@ -38,22 +38,16 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Fail early and make pipelines fail if any command fails
|
||||
set -eo pipefail
|
||||
|
||||
# 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)_ags2.log"
|
||||
|
||||
# Check if AGS is installed
|
||||
if command -v ags &>/dev/null; then
|
||||
AGS_VERSION=$(ags -v | awk '{print $NF}')
|
||||
if [[ "$AGS_VERSION" == "1.9.0" ]]; then
|
||||
printf "${INFO} ${MAGENTA}Aylur's GTK Shell v1.9.0${RESET} is already installed. Skipping installation."
|
||||
printf "\n%.0s" {1..2}
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# NOTE: We intentionally do NOT run `ags -v` here, because a broken AGS
|
||||
# installation (missing GUtils, etc.) would crash gjs and spam errors
|
||||
# during install. We always (re)install v1.9.0 when this script is run.
|
||||
# Installation of main components
|
||||
printf "\n%s - Installing ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET} Dependencies \n" "${NOTE}"
|
||||
|
||||
@@ -76,16 +70,83 @@ fi
|
||||
printf "\n%.0s" {1..1}
|
||||
printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n"
|
||||
printf "\n%.0s" {1..1}
|
||||
# Clone repository with the specified tag and capture git output into MLOG
|
||||
# Clone repository with the specified tag and compile AGS
|
||||
if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git; then
|
||||
cd ags_v1.9.0 || exit 1
|
||||
|
||||
# Patch tsconfig to avoid TS5107 failure (moduleResolution=node10 deprecation)
|
||||
if [ -f tsconfig.json ]; then
|
||||
# 1) Ensure ignoreDeprecations is present
|
||||
if ! grep -q '"ignoreDeprecations"[[:space:]]*:' tsconfig.json; then
|
||||
sed -i 's/"compilerOptions":[[:space:]]*{/"compilerOptions": {\n "ignoreDeprecations": "6.0",/' tsconfig.json
|
||||
fi
|
||||
# 2) Bump moduleResolution from node10 to node16 if present
|
||||
if grep -q '"moduleResolution"[[:space:]]*:[[:space:]]*"node10"' tsconfig.json; then
|
||||
sed -i 's/"moduleResolution"[[:space:]]*:[[:space:]]*"node10"/"moduleResolution": "node16"/' tsconfig.json || true
|
||||
fi
|
||||
# 3) Fallback with Node to rewrite JSON if sed failed to catch patterns
|
||||
if grep -q '"moduleResolution"[[:space:]]*:[[:space:]]*"node10"' tsconfig.json; then
|
||||
if command -v node >/dev/null 2>&1; then
|
||||
node -e '\n const fs = require("fs");\n const p = "tsconfig.json";\n const j = JSON.parse(fs.readFileSync(p, "utf8"));\n j.compilerOptions = j.compilerOptions || {};\n if (j.compilerOptions.moduleResolution === "node10") j.compilerOptions.moduleResolution = "node16";\n if (j.compilerOptions.ignoreDeprecations === undefined) j.compilerOptions.ignoreDeprecations = "6.0";\n fs.writeFileSync(p, JSON.stringify(j, null, 2));\n '
|
||||
fi
|
||||
fi
|
||||
# Log what we ended up with for troubleshooting
|
||||
echo "== tsconfig.json after patch ==" >> "$MLOG"
|
||||
grep -n 'moduleResolution\|ignoreDeprecations' tsconfig.json >> "$MLOG" || true
|
||||
fi
|
||||
|
||||
# Replace pam.ts with a stub that does NOT depend on GUtils at all.
|
||||
# The desktop overview does not use PAM, and GUtils typelib support is
|
||||
# inconsistent across distros, so we disable these helpers instead of
|
||||
# crashing at startup when the typelib is missing.
|
||||
if [ -f src/utils/pam.ts ]; then
|
||||
printf "%s Replacing src/utils/pam.ts with PAM stub (no GUtils dependency)...\\n" "${NOTE}" | tee -a "$MLOG"
|
||||
cat > src/utils/pam.ts <<'PAM_STUB'
|
||||
// Stubbed PAM auth for AGS installed via Arch-Hyprland.
|
||||
// The desktop overview does not use PAM, and GUtils typelib support
|
||||
// is unreliable across distros, so we disable these helpers here.
|
||||
|
||||
export function authenticate(password: string): Promise<number> {
|
||||
return Promise.reject(new Error("PAM authentication disabled on this system (no GUtils)"));
|
||||
}
|
||||
|
||||
export function authenticateUser(username: string, password: string): Promise<number> {
|
||||
return Promise.reject(new Error("PAM authentication disabled on this system (no GUtils)"));
|
||||
}
|
||||
PAM_STUB
|
||||
fi
|
||||
|
||||
npm install
|
||||
meson setup build
|
||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then
|
||||
printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||
else
|
||||
echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG"
|
||||
# Abort here on build/install failure so we do NOT install a broken launcher
|
||||
# or report success when AGS binaries are missing.
|
||||
mv "$MLOG" ../Install-Logs/ || true
|
||||
cd ..
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LAUNCHER_DIR="/usr/local/share/com.github.Aylur.ags"
|
||||
LAUNCHER_PATH="$LAUNCHER_DIR/com.github.Aylur.ags"
|
||||
sudo mkdir -p "$LAUNCHER_DIR"
|
||||
|
||||
# Install the known-good launcher we captured from a working system.
|
||||
# This JS entry script uses GLib to set GI_TYPELIB_PATH and does not
|
||||
# depend on GIRepository, which avoids missing-typelib crashes.
|
||||
LAUNCHER_SRC="$SCRIPT_DIR/ags.launcher.com.github.Aylur.ags"
|
||||
if [ -f "$LAUNCHER_SRC" ]; then
|
||||
sudo install -m 755 "$LAUNCHER_SRC" "$LAUNCHER_PATH"
|
||||
else
|
||||
printf "${WARN} Saved launcher not found at %s; leaving Meson-installed launcher untouched.\\n" "$LAUNCHER_SRC" | tee -a "$MLOG"
|
||||
fi
|
||||
|
||||
# Ensure /usr/local/bin/ags points to the JS entry script.
|
||||
sudo mkdir -p /usr/local/bin
|
||||
sudo ln -srf "$LAUNCHER_PATH" /usr/local/bin/ags
|
||||
printf "${OK} AGS launcher installed.\\n"
|
||||
# Move logs to Install-Logs directory
|
||||
mv "$MLOG" ../Install-Logs/ || true
|
||||
cd ..
|
||||
|
||||
116
install-scripts/battery-monitor.sh
Normal file
116
install-scripts/battery-monitor.sh
Normal file
@@ -0,0 +1,116 @@
|
||||
#!/bin/bash
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# Battery Monitor and Low Battery Notification #
|
||||
|
||||
battery=(
|
||||
acpi
|
||||
libnotify
|
||||
)
|
||||
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
echo "Failed to source Global_functions.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_battery-monitor.log"
|
||||
|
||||
# Battery Monitor
|
||||
printf "${NOTE} Installing ${SKY_BLUE}Battery Monitor${RESET} Packages...\n"
|
||||
for BAT in "${battery[@]}"; do
|
||||
install_package "$BAT" "$LOG"
|
||||
done
|
||||
|
||||
# Create battery monitoring script
|
||||
printf "${NOTE} Creating ${YELLOW}battery monitoring${RESET} script...\n"
|
||||
|
||||
BATTERY_SCRIPT="$HOME/.config/hypr/scripts/battery-monitor.sh"
|
||||
mkdir -p "$HOME/.config/hypr/scripts"
|
||||
|
||||
cat > "$BATTERY_SCRIPT" << 'EOF'
|
||||
#!/bin/bash
|
||||
# Low Battery Notification Script
|
||||
# Monitors battery level and sends notifications
|
||||
|
||||
# Configuration
|
||||
LOW_BATTERY_THRESHOLD=20
|
||||
CRITICAL_BATTERY_THRESHOLD=10
|
||||
CHECK_INTERVAL=60 # Check every 60 seconds
|
||||
|
||||
# Track notification state to avoid spam
|
||||
NOTIFIED_LOW=false
|
||||
NOTIFIED_CRITICAL=false
|
||||
|
||||
while true; do
|
||||
# Get battery percentage
|
||||
BATTERY_LEVEL=$(acpi -b | grep -P -o '[0-9]+(?=%)')
|
||||
BATTERY_STATUS=$(acpi -b | grep -o 'Discharging\|Charging\|Full')
|
||||
|
||||
# Only send notifications when discharging
|
||||
if [ "$BATTERY_STATUS" = "Discharging" ]; then
|
||||
if [ "$BATTERY_LEVEL" -le "$CRITICAL_BATTERY_THRESHOLD" ] && [ "$NOTIFIED_CRITICAL" = false ]; then
|
||||
notify-send -u critical -i battery-caution "Critical Battery" "Battery level is at ${BATTERY_LEVEL}%! Please plug in your charger immediately."
|
||||
NOTIFIED_CRITICAL=true
|
||||
NOTIFIED_LOW=true
|
||||
elif [ "$BATTERY_LEVEL" -le "$LOW_BATTERY_THRESHOLD" ] && [ "$NOTIFIED_LOW" = false ]; then
|
||||
notify-send -u normal -i battery-low "Low Battery" "Battery level is at ${BATTERY_LEVEL}%. Consider plugging in your charger."
|
||||
NOTIFIED_LOW=true
|
||||
fi
|
||||
else
|
||||
# Reset notification flags when charging or full
|
||||
NOTIFIED_LOW=false
|
||||
NOTIFIED_CRITICAL=false
|
||||
fi
|
||||
|
||||
sleep "$CHECK_INTERVAL"
|
||||
done
|
||||
EOF
|
||||
|
||||
chmod +x "$BATTERY_SCRIPT"
|
||||
|
||||
printf "${OK} Battery monitoring script created at ${YELLOW}$BATTERY_SCRIPT${RESET}\n"
|
||||
|
||||
# Create systemd user service
|
||||
printf "${NOTE} Creating ${YELLOW}systemd user service${RESET} for battery monitoring...\n"
|
||||
|
||||
SYSTEMD_DIR="$HOME/.config/systemd/user"
|
||||
mkdir -p "$SYSTEMD_DIR"
|
||||
|
||||
cat > "$SYSTEMD_DIR/battery-monitor.service" << EOF
|
||||
[Unit]
|
||||
Description=Battery Level Monitor
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=$BATTERY_SCRIPT
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
printf "${OK} Systemd service created\n"
|
||||
|
||||
# Enable and start the service
|
||||
printf "${NOTE} Enabling and starting ${YELLOW}battery-monitor${RESET} service...\n"
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable battery-monitor.service 2>&1 | tee -a "$LOG"
|
||||
systemctl --user start battery-monitor.service 2>&1 | tee -a "$LOG"
|
||||
|
||||
printf "${OK} Battery monitor service is now running!\n"
|
||||
printf "${INFO} You can check status with: ${YELLOW}systemctl --user status battery-monitor${RESET}\n"
|
||||
printf "${INFO} To stop: ${YELLOW}systemctl --user stop battery-monitor${RESET}\n"
|
||||
printf "${INFO} To disable: ${YELLOW}systemctl --user disable battery-monitor${RESET}\n"
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
126
install-scripts/disk-monitor.sh
Normal file
126
install-scripts/disk-monitor.sh
Normal file
@@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# Disk Space Monitor #
|
||||
|
||||
disk=(
|
||||
libnotify
|
||||
)
|
||||
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
echo "Failed to source Global_functions.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_disk-monitor.log"
|
||||
|
||||
# Disk Monitor
|
||||
printf "${NOTE} Installing ${SKY_BLUE}Disk Monitor${RESET} Packages...\n"
|
||||
for DISK in "${disk[@]}"; do
|
||||
install_package "$DISK" "$LOG"
|
||||
done
|
||||
|
||||
# Create disk monitoring script
|
||||
printf "${NOTE} Creating ${YELLOW}disk space monitoring${RESET} script...\n"
|
||||
|
||||
DISK_SCRIPT="$HOME/.config/hypr/scripts/disk-monitor.sh"
|
||||
mkdir -p "$HOME/.config/hypr/scripts"
|
||||
|
||||
cat > "$DISK_SCRIPT" << 'EOF'
|
||||
#!/bin/bash
|
||||
# Disk Space Monitoring Script
|
||||
# Monitors disk usage and sends notifications
|
||||
|
||||
# Configuration
|
||||
DISK_WARNING_THRESHOLD=80
|
||||
DISK_CRITICAL_THRESHOLD=90
|
||||
CHECK_INTERVAL=300 # Check every 5 minutes
|
||||
|
||||
# Track notification state
|
||||
declare -A NOTIFIED_WARNING
|
||||
declare -A NOTIFIED_CRITICAL
|
||||
|
||||
while true; do
|
||||
# Get disk usage for all mounted filesystems
|
||||
df -h | grep '^/dev/' | while read -r line; do
|
||||
DEVICE=$(echo "$line" | awk '{print $1}')
|
||||
MOUNT=$(echo "$line" | awk '{print $6}')
|
||||
USAGE=$(echo "$line" | awk '{print $5}' | sed 's/%//')
|
||||
|
||||
# Skip if usage is not a number
|
||||
if ! [[ "$USAGE" =~ ^[0-9]+$ ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Check disk usage
|
||||
if [ "$USAGE" -ge "$DISK_CRITICAL_THRESHOLD" ]; then
|
||||
if [ "${NOTIFIED_CRITICAL[$MOUNT]}" != "true" ]; then
|
||||
notify-send -u critical -i drive-harddisk "Critical Disk Space" "Mount point $MOUNT is ${USAGE}% full!\nDevice: $DEVICE"
|
||||
NOTIFIED_CRITICAL[$MOUNT]="true"
|
||||
NOTIFIED_WARNING[$MOUNT]="true"
|
||||
fi
|
||||
elif [ "$USAGE" -ge "$DISK_WARNING_THRESHOLD" ]; then
|
||||
if [ "${NOTIFIED_WARNING[$MOUNT]}" != "true" ]; then
|
||||
notify-send -u normal -i drive-harddisk "Low Disk Space" "Mount point $MOUNT is ${USAGE}% full\nDevice: $DEVICE"
|
||||
NOTIFIED_WARNING[$MOUNT]="true"
|
||||
fi
|
||||
else
|
||||
# Reset notifications when usage drops
|
||||
if [ "$USAGE" -lt $((DISK_WARNING_THRESHOLD - 5)) ]; then
|
||||
NOTIFIED_WARNING[$MOUNT]="false"
|
||||
NOTIFIED_CRITICAL[$MOUNT]="false"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
sleep "$CHECK_INTERVAL"
|
||||
done
|
||||
EOF
|
||||
|
||||
chmod +x "$DISK_SCRIPT"
|
||||
|
||||
printf "${OK} Disk monitoring script created at ${YELLOW}$DISK_SCRIPT${RESET}\n"
|
||||
|
||||
# Create systemd user service
|
||||
printf "${NOTE} Creating ${YELLOW}systemd user service${RESET} for disk monitoring...\n"
|
||||
|
||||
SYSTEMD_DIR="$HOME/.config/systemd/user"
|
||||
mkdir -p "$SYSTEMD_DIR"
|
||||
|
||||
cat > "$SYSTEMD_DIR/disk-monitor.service" << EOF
|
||||
[Unit]
|
||||
Description=Disk Space Monitor
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=$DISK_SCRIPT
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
printf "${OK} Systemd service created\n"
|
||||
|
||||
# Enable and start the service
|
||||
printf "${NOTE} Enabling and starting ${YELLOW}disk-monitor${RESET} service...\n"
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable disk-monitor.service 2>&1 | tee -a "$LOG"
|
||||
systemctl --user start disk-monitor.service 2>&1 | tee -a "$LOG"
|
||||
|
||||
printf "${OK} Disk monitor service is now running!\n"
|
||||
printf "${INFO} You can check status with: ${YELLOW}systemctl --user status disk-monitor${RESET}\n"
|
||||
printf "${INFO} View disk usage: ${YELLOW}df -h${RESET}\n"
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
@@ -19,7 +19,6 @@ fonts=(
|
||||
noto-fonts
|
||||
)
|
||||
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
|
||||
41
install-scripts/quickshell.sh
Executable file
41
install-scripts/quickshell.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# quickshell - for desktop overview replacing AGS
|
||||
|
||||
if [[ $USE_PRESET = [Yy] ]]; then
|
||||
source ./preset.sh
|
||||
fi
|
||||
|
||||
quick=(
|
||||
qt6-5compat
|
||||
quickshell
|
||||
)
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
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" || {
|
||||
echo "${ERROR} Failed to change directory to $PARENT_DIR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
echo "Failed to source Global_functions.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_quick.log"
|
||||
|
||||
# Installation of main components
|
||||
printf "\n%s - Installing ${SKY_BLUE}Quick Shell ${RESET} for Desktop Overview \n" "${NOTE}"
|
||||
|
||||
for PKG1 in "${quick[@]}"; do
|
||||
install_package "$PKG1" "$LOG"
|
||||
done
|
||||
|
||||
printf "\n%.0s" {1..1}
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
# SDDM Log-in Manager #
|
||||
|
||||
sddm=(
|
||||
qt6-5compat
|
||||
qt6-declarative
|
||||
qt6-svg
|
||||
qt6-virtualkeyboard
|
||||
qt6-multimedia-ffmpeg
|
||||
qt5-quickcontrols2
|
||||
sddm
|
||||
)
|
||||
|
||||
@@ -19,11 +21,14 @@ login=(
|
||||
)
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Change the working directory to the parent directory of the script
|
||||
PARENT_DIR="$SCRIPT_DIR/.."
|
||||
cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
cd "$PARENT_DIR" || {
|
||||
echo "${ERROR} Failed to change directory to $PARENT_DIR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
@@ -31,33 +36,30 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.log"
|
||||
|
||||
|
||||
# Install SDDM and SDDM theme
|
||||
printf "${NOTE} Installing sddm and dependencies........\n"
|
||||
for package in "${sddm[@]}"; do
|
||||
for package in "${sddm[@]}"; do
|
||||
install_package "$package" "$LOG"
|
||||
done
|
||||
done
|
||||
|
||||
printf "\n%.0s" {1..1}
|
||||
|
||||
# Check if other login managers installed and disabling its service before enabling sddm
|
||||
for login_manager in "${login[@]}"; do
|
||||
if pacman -Qs "$login_manager" > /dev/null 2>&1; then
|
||||
sudo systemctl disable "$login_manager.service" >> "$LOG" 2>&1
|
||||
echo "$login_manager disabled." >> "$LOG" 2>&1
|
||||
if pacman -Qs "$login_manager" >/dev/null 2>&1; then
|
||||
sudo systemctl disable "$login_manager.service" >>"$LOG" 2>&1
|
||||
echo "$login_manager disabled." >>"$LOG" 2>&1
|
||||
fi
|
||||
done
|
||||
|
||||
# Double check with systemctl
|
||||
for manager in "${login[@]}"; do
|
||||
if systemctl is-active --quiet "$manager" > /dev/null 2>&1; then
|
||||
echo "$manager is active, disabling it..." >> "$LOG" 2>&1
|
||||
sudo systemctl disable "$manager" --now >> "$LOG" 2>&1
|
||||
if systemctl is-active --quiet "$manager" >/dev/null 2>&1; then
|
||||
echo "$manager is active, disabling it..." >>"$LOG" 2>&1
|
||||
sudo systemctl disable "$manager" --now >>"$LOG" 2>&1
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -66,6 +68,10 @@ printf "${INFO} Activating sddm service........\n"
|
||||
sudo systemctl enable sddm
|
||||
|
||||
wayland_sessions_dir=/usr/share/wayland-sessions
|
||||
[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; }
|
||||
[ ! -d "$wayland_sessions_dir" ] && {
|
||||
printf "$CAT - $wayland_sessions_dir not found, creating...\n"
|
||||
sudo mkdir "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"
|
||||
}
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# SDDM themes #
|
||||
|
||||
source_theme="https://codeberg.org/JaKooLit/sddm-sequoia"
|
||||
theme_name="sequoia_2"
|
||||
source_theme="https://github.com/JaKooLit/simple-sddm-2.git"
|
||||
theme_name="simple_sddm_2"
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
@@ -52,59 +52,63 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then
|
||||
# Move cloned theme to the themes directory
|
||||
sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG"
|
||||
|
||||
|
||||
# setting up SDDM theme
|
||||
sddm_conf_dir="/etc/sddm.conf.d"
|
||||
sddm_conf="/etc/sddm.conf"
|
||||
BACKUP_SUFFIX=".bak"
|
||||
|
||||
echo -e "${NOTE} Setting up the login screen." | tee -a "$LOG"
|
||||
|
||||
if [ -d "$sddm_conf_dir" ]; then
|
||||
echo "Backing up files in $sddm_conf_dir" | tee -a "$LOG"
|
||||
for file in "$sddm_conf_dir"/*; do
|
||||
if [ -f "$file" ]; then
|
||||
if [[ "$file" == *$BACKUP_SUFFIX ]]; then
|
||||
echo "Skipping backup file: $file" | tee -a "$LOG"
|
||||
continue
|
||||
fi
|
||||
# Backup each original file
|
||||
sudo cp "$file" "$file$BACKUP_SUFFIX" 2>&1 | tee -a "$LOG"
|
||||
echo "Backup created for $file" | tee -a "$LOG"
|
||||
|
||||
# Edit existing "Current="
|
||||
if grep -q '^[[:space:]]*Current=' "$file"; then
|
||||
sudo sed -i "s/^[[:space:]]*Current=.*/Current=$theme_name/" "$file" 2>&1 | tee -a "$LOG"
|
||||
echo "Updated theme in $file" | tee -a "$LOG"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# Backup the sddm.conf file if it exists
|
||||
if [ -f "$sddm_conf" ]; then
|
||||
echo "Backing up $sddm_conf" | tee -a "$LOG"
|
||||
sudo cp "$sddm_conf" "$sddm_conf$BACKUP_SUFFIX" 2>&1 | tee -a "$LOG"
|
||||
else
|
||||
echo "$CAT - $sddm_conf_dir not found, creating..." | tee -a "$LOG"
|
||||
sudo mkdir -p "$sddm_conf_dir" 2>&1 | tee -a "$LOG"
|
||||
echo "$sddm_conf does not exist, creating a new one." | tee -a "$LOG"
|
||||
sudo touch "$sddm_conf" 2>&1 | tee -a "$LOG"
|
||||
fi
|
||||
|
||||
if [ ! -f "$sddm_conf_dir/theme.conf.user" ]; then
|
||||
echo -e "[Theme]\nCurrent = $theme_name" | sudo tee "$sddm_conf_dir/theme.conf.user" > /dev/null
|
||||
# Check if the [Theme] section exists
|
||||
if grep -q '^\[Theme\]' "$sddm_conf"; then
|
||||
# Update the Current= line under [Theme]
|
||||
sudo sed -i "/^\[Theme\]/,/^\[/{s/^\s*Current=.*/Current=$theme_name/}" "$sddm_conf" 2>&1 | tee -a "$LOG"
|
||||
|
||||
if [ -f "$sddm_conf_dir/theme.conf.user" ]; then
|
||||
echo "Created and configured $sddm_conf_dir/theme.conf.user with theme $theme_name" | tee -a "$LOG"
|
||||
# If no Current= line was found and replaced, append it after the [Theme] section
|
||||
if ! grep -q '^\s*Current=' "$sddm_conf"; then
|
||||
sudo sed -i "/^\[Theme\]/a Current=$theme_name" "$sddm_conf" 2>&1 | tee -a "$LOG"
|
||||
echo "Appended Current=$theme_name under [Theme] in $sddm_conf" | tee -a "$LOG"
|
||||
else
|
||||
echo "Failed to create $sddm_conf_dir/theme.conf.user" | tee -a "$LOG"
|
||||
echo "Updated Current=$theme_name in $sddm_conf" | tee -a "$LOG"
|
||||
fi
|
||||
else
|
||||
echo "$sddm_conf_dir/theme.conf.user already exists, skipping creation." | tee -a "$LOG"
|
||||
# Append the [Theme] section at the end if it doesn't exist
|
||||
echo -e "\n[Theme]\nCurrent=$theme_name" | sudo tee -a "$sddm_conf" > /dev/null
|
||||
echo "Added [Theme] section with Current=$theme_name in $sddm_conf" | tee -a "$LOG"
|
||||
fi
|
||||
|
||||
# Add [General] section with InputMethod=qtvirtualkeyboard if it doesn't exist
|
||||
if ! grep -q '^\[General\]' "$sddm_conf"; then
|
||||
echo -e "\n[General]\nInputMethod=qtvirtualkeyboard" | sudo tee -a "$sddm_conf" > /dev/null
|
||||
echo "Added [General] section with InputMethod=qtvirtualkeyboard in $sddm_conf" | tee -a "$LOG"
|
||||
else
|
||||
# Update InputMethod line if section exists
|
||||
if grep -q '^\s*InputMethod=' "$sddm_conf"; then
|
||||
sudo sed -i '/^\[General\]/,/^\[/{s/^\s*InputMethod=.*/InputMethod=qtvirtualkeyboard/}' "$sddm_conf" 2>&1 | tee -a "$LOG"
|
||||
echo "Updated InputMethod to qtvirtualkeyboard in $sddm_conf" | tee -a "$LOG"
|
||||
else
|
||||
sudo sed -i '/^\[General\]/a InputMethod=qtvirtualkeyboard' "$sddm_conf" 2>&1 | tee -a "$LOG"
|
||||
echo "Appended InputMethod=qtvirtualkeyboard under [General] in $sddm_conf" | tee -a "$LOG"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Replace current background from assets
|
||||
sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/backgrounds/default" 2>&1 | tee -a "$LOG"
|
||||
sudo sed -i 's|^wallpaper=".*"|wallpaper="backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG"
|
||||
sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/Backgrounds/default" 2>&1 | tee -a "$LOG"
|
||||
sudo sed -i 's|^wallpaper=".*"|wallpaper="Backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG"
|
||||
|
||||
echo "${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed." | tee -a "$LOG"
|
||||
echo "${OK} - ${MAGENTA}Additional ${YELLOW}$theme_name SDDM Theme${RESET} successfully installed." | tee -a "$LOG"
|
||||
|
||||
else
|
||||
|
||||
echo "${ERROR} - Failed to clone the sddm theme repository. Please check your internet connection." | tee -a "$LOG" >&2
|
||||
fi
|
||||
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
156
install-scripts/temp-monitor.sh
Normal file
156
install-scripts/temp-monitor.sh
Normal file
@@ -0,0 +1,156 @@
|
||||
#!/bin/bash
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# Temperature Monitor - CPU/GPU Temperature Alerts #
|
||||
|
||||
temp=(
|
||||
lm_sensors
|
||||
libnotify
|
||||
)
|
||||
|
||||
|
||||
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||
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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; }
|
||||
|
||||
# Source the global functions script
|
||||
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
|
||||
echo "Failed to source Global_functions.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set the name of the log file to include the current date and time
|
||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_temp-monitor.log"
|
||||
|
||||
# Temperature Monitor
|
||||
printf "${NOTE} Installing ${SKY_BLUE}Temperature Monitor${RESET} Packages...\n"
|
||||
for TEMP in "${temp[@]}"; do
|
||||
install_package "$TEMP" "$LOG"
|
||||
done
|
||||
|
||||
# Detect sensors
|
||||
printf "${NOTE} Detecting ${YELLOW}hardware sensors${RESET}...\n"
|
||||
sudo sensors-detect --auto 2>&1 | tee -a "$LOG"
|
||||
|
||||
# Create temperature monitoring script
|
||||
printf "${NOTE} Creating ${YELLOW}temperature monitoring${RESET} script...\n"
|
||||
|
||||
TEMP_SCRIPT="$HOME/.config/hypr/scripts/temp-monitor.sh"
|
||||
mkdir -p "$HOME/.config/hypr/scripts"
|
||||
|
||||
cat > "$TEMP_SCRIPT" << 'EOF'
|
||||
#!/bin/bash
|
||||
# Temperature Monitoring Script
|
||||
# Monitors CPU and GPU temperatures and sends alerts
|
||||
|
||||
# Configuration
|
||||
CPU_TEMP_WARNING=75
|
||||
CPU_TEMP_CRITICAL=85
|
||||
GPU_TEMP_WARNING=75
|
||||
GPU_TEMP_CRITICAL=85
|
||||
CHECK_INTERVAL=30 # Check every 30 seconds
|
||||
|
||||
# Track notification state
|
||||
NOTIFIED_CPU_WARN=false
|
||||
NOTIFIED_CPU_CRIT=false
|
||||
NOTIFIED_GPU_WARN=false
|
||||
NOTIFIED_GPU_CRIT=false
|
||||
|
||||
while true; do
|
||||
# Get CPU temperature (average of all cores)
|
||||
CPU_TEMP=$(sensors | grep -i 'Package id 0:\|Tdie:' | awk '{print $4}' | sed 's/+//;s/°C//' | head -1)
|
||||
|
||||
# If Package id not found, try other methods
|
||||
if [ -z "$CPU_TEMP" ]; then
|
||||
CPU_TEMP=$(sensors | grep -i 'Core 0:' | awk '{print $3}' | sed 's/+//;s/°C//' | head -1)
|
||||
fi
|
||||
|
||||
# Get GPU temperature (if available)
|
||||
GPU_TEMP=$(sensors | grep -i 'edge:\|temp1:' | awk '{print $2}' | sed 's/+//;s/°C//' | head -1)
|
||||
|
||||
# Check CPU temperature
|
||||
if [ -n "$CPU_TEMP" ]; then
|
||||
CPU_TEMP_INT=${CPU_TEMP%.*}
|
||||
|
||||
if [ "$CPU_TEMP_INT" -ge "$CPU_TEMP_CRITICAL" ]; then
|
||||
if [ "$NOTIFIED_CPU_CRIT" = false ]; then
|
||||
notify-send -u critical -i temperature-high "Critical CPU Temperature" "CPU temperature is ${CPU_TEMP}°C! System may throttle or shutdown."
|
||||
NOTIFIED_CPU_CRIT=true
|
||||
NOTIFIED_CPU_WARN=true
|
||||
fi
|
||||
elif [ "$CPU_TEMP_INT" -ge "$CPU_TEMP_WARNING" ]; then
|
||||
if [ "$NOTIFIED_CPU_WARN" = false ]; then
|
||||
notify-send -u normal -i temperature-normal "High CPU Temperature" "CPU temperature is ${CPU_TEMP}°C"
|
||||
NOTIFIED_CPU_WARN=true
|
||||
fi
|
||||
else
|
||||
NOTIFIED_CPU_WARN=false
|
||||
NOTIFIED_CPU_CRIT=false
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check GPU temperature
|
||||
if [ -n "$GPU_TEMP" ]; then
|
||||
GPU_TEMP_INT=${GPU_TEMP%.*}
|
||||
|
||||
if [ "$GPU_TEMP_INT" -ge "$GPU_TEMP_CRITICAL" ]; then
|
||||
if [ "$NOTIFIED_GPU_CRIT" = false ]; then
|
||||
notify-send -u critical -i temperature-high "Critical GPU Temperature" "GPU temperature is ${GPU_TEMP}°C!"
|
||||
NOTIFIED_GPU_CRIT=true
|
||||
NOTIFIED_GPU_WARN=true
|
||||
fi
|
||||
elif [ "$GPU_TEMP_INT" -ge "$GPU_TEMP_WARNING" ]; then
|
||||
if [ "$NOTIFIED_GPU_WARN" = false ]; then
|
||||
notify-send -u normal -i temperature-normal "High GPU Temperature" "GPU temperature is ${GPU_TEMP}°C"
|
||||
NOTIFIED_GPU_WARN=true
|
||||
fi
|
||||
else
|
||||
NOTIFIED_GPU_WARN=false
|
||||
NOTIFIED_GPU_CRIT=false
|
||||
fi
|
||||
fi
|
||||
|
||||
sleep "$CHECK_INTERVAL"
|
||||
done
|
||||
EOF
|
||||
|
||||
chmod +x "$TEMP_SCRIPT"
|
||||
|
||||
printf "${OK} Temperature monitoring script created at ${YELLOW}$TEMP_SCRIPT${RESET}\n"
|
||||
|
||||
# Create systemd user service
|
||||
printf "${NOTE} Creating ${YELLOW}systemd user service${RESET} for temperature monitoring...\n"
|
||||
|
||||
SYSTEMD_DIR="$HOME/.config/systemd/user"
|
||||
mkdir -p "$SYSTEMD_DIR"
|
||||
|
||||
cat > "$SYSTEMD_DIR/temp-monitor.service" << EOF
|
||||
[Unit]
|
||||
Description=Temperature Monitor
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=$TEMP_SCRIPT
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
EOF
|
||||
|
||||
printf "${OK} Systemd service created\n"
|
||||
|
||||
# Enable and start the service
|
||||
printf "${NOTE} Enabling and starting ${YELLOW}temp-monitor${RESET} service...\n"
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable temp-monitor.service 2>&1 | tee -a "$LOG"
|
||||
systemctl --user start temp-monitor.service 2>&1 | tee -a "$LOG"
|
||||
|
||||
printf "${OK} Temperature monitor service is now running!\n"
|
||||
printf "${INFO} You can check status with: ${YELLOW}systemctl --user status temp-monitor${RESET}\n"
|
||||
printf "${INFO} View temperatures: ${YELLOW}sensors${RESET}\n"
|
||||
|
||||
printf "\n%.0s" {1..2}
|
||||
12
install.sh
12
install.sh
@@ -125,7 +125,7 @@ execute_script() {
|
||||
gtk_themes="OFF"
|
||||
bluetooth="OFF"
|
||||
thunar="OFF"
|
||||
ags="OFF"
|
||||
quickshell="OFF"
|
||||
sddm="OFF"
|
||||
sddm_theme="OFF"
|
||||
xdph="OFF"
|
||||
@@ -259,10 +259,10 @@ fi
|
||||
|
||||
# Add the remaining static options
|
||||
options_command+=(
|
||||
"gtk_themes" "Install GTK themes (required for Dark/Light function)" "OFF"
|
||||
"gtk_themes" "Install GTK themes? (required for Dark/Light function)" "OFF"
|
||||
"bluetooth" "Do you want script to configure Bluetooth?" "OFF"
|
||||
"thunar" "Do you want Thunar file manager to be installed?" "OFF"
|
||||
"ags" "Install AGS v1 for Desktop-Like Overview" "OFF"
|
||||
"quickshell" "Install quickshell for Desktop-Like Overview?" "OFF"
|
||||
"xdph" "Install XDG-DESKTOP-PORTAL-HYPRLAND (for screen share)?" "OFF"
|
||||
"zsh" "Install zsh shell with Oh-My-Zsh?" "OFF"
|
||||
"pokemon" "Add Pokemon color scripts to your terminal?" "OFF"
|
||||
@@ -404,9 +404,9 @@ for option in "${options[@]}"; do
|
||||
echo "${INFO} Adding user into ${SKY_BLUE}input group...${RESET}" | tee -a "$LOG"
|
||||
execute_script "InputGroup.sh"
|
||||
;;
|
||||
ags)
|
||||
echo "${INFO} Installing ${SKY_BLUE}AGS v1 for Desktop Overview...${RESET}" | tee -a "$LOG"
|
||||
execute_script "ags.sh"
|
||||
quickshell)
|
||||
echo "${INFO} Installing ${SKY_BLUE}quickshell for Desktop Overview...${RESET}" | tee -a "$LOG"
|
||||
execute_script "quickshell.sh"
|
||||
;;
|
||||
xdph)
|
||||
echo "${INFO} Installing ${SKY_BLUE}xdg-desktop-portal-hyprland...${RESET}" | tee -a "$LOG"
|
||||
|
||||
48
preset.sh
48
preset.sh
@@ -1,48 +0,0 @@
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
|
||||
# Define the options you want to preselect (either ON or OFF)
|
||||
# IMPORTANT: answer should be inside ""
|
||||
|
||||
### Script will install nvidia-dkms nvidia-utils & nvidia-settings
|
||||
###-Would you like script to Configure NVIDIA for you?
|
||||
nvidia="OFF"
|
||||
### Would you like to blacklist nouveau? (y/n)
|
||||
nouveau="OFF"
|
||||
|
||||
###-Install GTK themes (required for Dark/Light function)?
|
||||
gtk_themes="ON"
|
||||
|
||||
###-Do you want to configure Bluetooth?
|
||||
bluetooth="ON"
|
||||
|
||||
###-Do you want to install Thunar file manager?
|
||||
thunar="ON"
|
||||
|
||||
### Adding user to the 'input' group might be necessary for waybar keyboard-state functionality
|
||||
input_group="ON"
|
||||
|
||||
### Desktop overview Demo Link in README
|
||||
### Desktop overview Demo Link in README
|
||||
### Install AGS (aylur's GTK shell) v1 for Desktop-Like Overview?"
|
||||
ags="ON"
|
||||
|
||||
###-Install & configure SDDM log-in Manager
|
||||
sddm="ON"
|
||||
### install and download SDDM themes
|
||||
sddm_theme="ON"
|
||||
|
||||
###-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)
|
||||
xdph="ON"
|
||||
|
||||
### Shell extension. Bash alternative
|
||||
###-Install zsh, oh-my-zsh
|
||||
zsh="ON"
|
||||
### add Pokemon color scripts to terminal
|
||||
pokemon="ON"
|
||||
|
||||
### This will install ASUSCTL & SUPERGFXCTL
|
||||
###-Installing on Asus ROG Laptops?
|
||||
rog="OFF"
|
||||
|
||||
###-Download and Add pre-configured Hyprland dotfiles?
|
||||
dots="ON"
|
||||
@@ -106,9 +106,10 @@ packages=(
|
||||
"pavucontrol" "pavucontrol" "off"
|
||||
"playerctl" "playerctl" "off"
|
||||
"pyprland" "pyprland" "off"
|
||||
"qalculate-gtk" "calculater - QT" "off"
|
||||
"qalculate-gtk" "calculator - QT" "off"
|
||||
"qt5ct" "qt5ct" "off"
|
||||
"qt6ct" "qt6ct" "off"
|
||||
"quickshell" "quickshell" "off"
|
||||
"rofi-wayland" "rofi-wayland" "off"
|
||||
"slurp" "screenshot tool" "off"
|
||||
"swappy" "screenshot tool" "off"
|
||||
@@ -134,13 +135,13 @@ packages=(
|
||||
|
||||
# Define the list of directories to choose from (with options_command tags)
|
||||
directories=(
|
||||
"ags" "AGS desktop overview configuration" "off"
|
||||
"btop" "btop configuration" "off"
|
||||
"cava" "cava configuration" "off"
|
||||
"fastfetch" "fastfetch configuration" "off"
|
||||
"hypr" "main hyprland configuration" "off"
|
||||
"kitty" "kitty terminal configuration" "off"
|
||||
"Kvantum" "Kvantum-manager configuration" "off"
|
||||
"quickshell" "quickshell desktop overview configuration" "off"
|
||||
"qt5ct" "qt5ct configuration" "off"
|
||||
"qt6ct" "qt6ct configuration" "off"
|
||||
"rofi" "rofi configuration" "off"
|
||||
|
||||
Reference in New Issue
Block a user