Add files via upload
18
CHANGELOGS.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
## Changelogs
|
||||||
|
|
||||||
|
## 30-Sep-2023
|
||||||
|
- replaced missioncenter with gnome-system-monitor
|
||||||
|
- added some wallpaper
|
||||||
|
|
||||||
|
## 27-Sep-2023
|
||||||
|
- remove auto start of portal-hyprland-hyprland
|
||||||
|
- removal of Virtual-1 monitor in Monitors.conf
|
||||||
|
|
||||||
|
## 25-Sep-2023
|
||||||
|
- added grub function to add nvidia_drm.modeset=1 for nvidia-grub users
|
||||||
|
|
||||||
|
## 14-Sep-2023
|
||||||
|
- Bump to v4
|
||||||
|
- Renamed repo to Hyprland-v4
|
||||||
|
|
||||||
|
|
||||||
24
LICENSE.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
|
distribute this software, either in source code form or as a compiled
|
||||||
|
binary, for any purpose, commercial or non-commercial, and by any
|
||||||
|
means.
|
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors
|
||||||
|
of this software dedicate any and all copyright interest in the
|
||||||
|
software to the public domain. We make this dedication for the benefit
|
||||||
|
of the public at large and to the detriment of our heirs and
|
||||||
|
successors. We intend this dedication to be an overt act of
|
||||||
|
relinquishment in perpetuity of all present and future rights to this
|
||||||
|
software under copyright law.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
For more information, please refer to <https://unlicense.org>
|
||||||
97
README.md
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<div align="center">
|
||||||
|
|
||||||
|
# 💌 ** JaKooLit's Arch Hyprland Install Script ** 💌
|
||||||
|
|
||||||
|
  
|
||||||
|
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### A re-structured install script of my Hyprland-v3 [`Link`](https://github.com/JaKooLit/Hyprland-v3)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 📷 you can find more screenshots in the screenshots directory
|
||||||
|
|
||||||
|
### 📽️ youtube video showcase: [`Youtube Link`](https://youtu.be/otda1nXJ5Dg?si=Wbb8eg-u3Y-tDnDQ)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### ✨ A video walk through my dotfiles[`Link`](https://youtu.be/fO-RBHvVEcc?si=ijqxxnq_DLiyO8xb)
|
||||||
|
|
||||||
|
|
||||||
|
### 🆕 What's new compared to my V3
|
||||||
|
- restructured Install script
|
||||||
|
- Can modify the packages easily. (install-scripts/00-hypr-pkgs.sh) edit as desired
|
||||||
|
- Added Tokyo-night-theme and TokyoNight-SE icons
|
||||||
|
- using dunst instead of mako
|
||||||
|
- Added Tokyo-Night SDDM Theme
|
||||||
|
- Use a wofi-power menu instead of wlogout
|
||||||
|
- Added the following:
|
||||||
|
- a. gnome-system-monitor - right click on cpu waybar module
|
||||||
|
- b. nvtop - right click on temperature waybar module
|
||||||
|
|
||||||
|
|
||||||
|
### 👀 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 scripts-folder
|
||||||
|
|
||||||
|
|
||||||
|
### ✨ to run
|
||||||
|
> clone this repo by using git. Change directory, make executable and run the script
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/JaKooLit/Hyprland-v4.git
|
||||||
|
cd Hyprland-v4
|
||||||
|
chmod +x install-v4.sh
|
||||||
|
./install-v4.sh
|
||||||
|
```
|
||||||
|
### ✨ for ZSH and OH-MY-ZSH installation
|
||||||
|
> do this once installed and script completed; do the following to change the default shell zsh
|
||||||
|
```bash
|
||||||
|
chsh -s $(which zsh)
|
||||||
|
zsh
|
||||||
|
source ~/.zshrc
|
||||||
|
```
|
||||||
|
- reboot or logout
|
||||||
|
- by default gnzh theme is installed. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
|
||||||
|
- to change the theme, edit ~/.zshrc ZSH_THEME="desired theme"
|
||||||
|
|
||||||
|
### 📒 Notes
|
||||||
|
- super h for launching a small help file
|
||||||
|
- super e to view / edit settings, monitor, keybinds, Environment Variables, etc
|
||||||
|
- go through the keybinds. There are alot of hidden features like dual panel, change waybar styles, change wallpaper, etc... its too long to put all in the readme!!!
|
||||||
|
|
||||||
|
### 🛣️ Roadmap:
|
||||||
|
- [ ] Install zsh and oh-my-zsh without necessary steps above
|
||||||
|
- [ ] possibly adding gruvbox themes, cursors, icons
|
||||||
|
- [ ] adding vertical waybar
|
||||||
|
- [X] ~~Use kitty in favor of foot~~ - Dropped the idea of kitty. Kitty is using twice memory compared to foot.
|
||||||
|
|
||||||
|
### ⚠️ some known issues
|
||||||
|
- 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
|
||||||
|
`lspci -nn`, find the id of your nvidia card
|
||||||
|
`ls /dev/dri/by-path` find the matching id
|
||||||
|
`ls -l /dev/dri/by-path` to check where the symlink points to
|
||||||
|
)
|
||||||
|
7. add "env = WLR_DRM_DEVICES,/dev/dri/cardX" to the ENVvariables config (.config/hypr/configs/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)
|
||||||
|
|
||||||
|
|
||||||
|
### 👍👍👍 Thanks and Credits!
|
||||||
|
- shout out to CooSee from Gentoo forums for the nice rainbow borders
|
||||||
|
|
||||||
|
|
||||||
|
## 💖 Support
|
||||||
|
- a Star on my Github repos would be nice 🌟
|
||||||
|
|
||||||
|
- Subscribe to my Youtube Channel [YouTube](https://www.youtube.com/@Ja.KooLit)
|
||||||
|
|
||||||
|
- You can also buy me Coffee Through ko-fi.com 🤩
|
||||||
|
|
||||||
|
<a href='https://ko-fi.com/jakoolit' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />
|
||||||
5
assets/hyprland.desktop
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Hyprland
|
||||||
|
Comment=An intelligent dynamic tiling Wayland compositor
|
||||||
|
Exec=Hyprland
|
||||||
|
Type=Application
|
||||||
BIN
assets/tokyo-themes/Tokyonight-Dark-B.zip
Normal file
BIN
assets/tokyo-themes/Tokyonight-Light-B.zip
Normal file
122
install-scripts/00-hypr-pkgs.sh
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# https://github.com/JaKooLit
|
||||||
|
|
||||||
|
# edit your packages desired here.
|
||||||
|
# WARNING! If you remove packages here, dotfiles may not work properly.
|
||||||
|
# and also, ensure that packages are present in AUR and official Arch Repo
|
||||||
|
|
||||||
|
# add packages wanted here
|
||||||
|
Extra=(
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
hypr_package=(
|
||||||
|
cliphist
|
||||||
|
dunst
|
||||||
|
foot
|
||||||
|
grim
|
||||||
|
gvfs
|
||||||
|
gvfs-mtp
|
||||||
|
jq
|
||||||
|
network-manager-applet
|
||||||
|
pamixer
|
||||||
|
pavucontrol
|
||||||
|
pipewire-alsa
|
||||||
|
playerctl
|
||||||
|
polkit-kde-agent
|
||||||
|
python-requests
|
||||||
|
qt5ct
|
||||||
|
slurp
|
||||||
|
swappy
|
||||||
|
swayidle
|
||||||
|
swaylock-effects
|
||||||
|
swww
|
||||||
|
waybar
|
||||||
|
wget
|
||||||
|
wl-clipboard
|
||||||
|
wofi
|
||||||
|
xdg-user-dirs
|
||||||
|
)
|
||||||
|
|
||||||
|
# the following packages can be deleted. however, dotfiles may not work properly
|
||||||
|
hypr_package_2=(
|
||||||
|
brightnessctl
|
||||||
|
btop
|
||||||
|
cava
|
||||||
|
ffmpegthumbs
|
||||||
|
gnome-system-monitor
|
||||||
|
mousepad
|
||||||
|
mpv
|
||||||
|
nvtop
|
||||||
|
nwg-look-bin
|
||||||
|
swaybg
|
||||||
|
viewnior
|
||||||
|
vim
|
||||||
|
wlsunset
|
||||||
|
)
|
||||||
|
|
||||||
|
fonts=(
|
||||||
|
adobe-source-code-pro-fonts
|
||||||
|
noto-fonts-emoji
|
||||||
|
otf-font-awesome
|
||||||
|
otf-font-awesome-4
|
||||||
|
ttf-droid
|
||||||
|
ttf-fira-code
|
||||||
|
ttf-jetbrains-mono
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_hypr-pkgs.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Installation of main components
|
||||||
|
printf "\n%s - Installing hyprland packages.... \n" "${NOTE}"
|
||||||
|
|
||||||
|
for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${fonts[@]}" "${Extra[@]}"; do
|
||||||
|
install_package "$PKG1" 2>&1 | tee -a "$LOG"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "\e[1A\e[K${ERROR} - $PKG1 install had failed, please check the install.log"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
clear
|
||||||
58
install-scripts/bluetooth.sh
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
blue=(
|
||||||
|
bluez
|
||||||
|
bluez-utils
|
||||||
|
blueman
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_bluetooth.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
|
||||||
|
printf "${NOTE} Installing Bluetooth Packages...\n"
|
||||||
|
for BLUE in "${blue[@]}"; do
|
||||||
|
install_package "$BLUE" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
printf " Activating Bluetooth Services...\n"
|
||||||
|
sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG"
|
||||||
|
|
||||||
|
clear
|
||||||
25
install-scripts/dotfiles.sh
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +'%d-%H%M%S')_dots.log"
|
||||||
|
|
||||||
|
printf "${NOTE} Downloading Hyprland dots...\n"
|
||||||
|
|
||||||
|
if git clone https://github.com/JaKooLit/Hyprland-Dots.git; then
|
||||||
|
cd Hyprland-Dots || exit 1
|
||||||
|
chmod +x copy.sh
|
||||||
|
./copy.sh 2>&1 | tee -a "$LOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Cant download Hyprland-Dots" 2>&1 | tee -a "$LOG"
|
||||||
|
fi
|
||||||
|
|
||||||
106
install-scripts/gtk_themes.sh
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_themes.log"
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_themes.log"
|
||||||
|
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Themes and cursors
|
||||||
|
printf "\n${NOTE} INSTALLING GTK THEMES \n"
|
||||||
|
while true; do
|
||||||
|
read -rp "${CAT} Which GTK Theme and Cursors to install? Catppuccin or Tokyo Theme? Enter 'c' or 't': " choice
|
||||||
|
case "$choice" in
|
||||||
|
c|C)
|
||||||
|
printf "${NOTE} Installing Catpuccin Theme packages...\n"
|
||||||
|
for THEME1 in catppuccin-gtk-theme-mocha catppuccin-gtk-theme-latte catppuccin-cursors-mocha; do
|
||||||
|
install_package "$THEME1" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THEME1 install had failed, please check the install.log"; exit 1; }
|
||||||
|
done
|
||||||
|
# Shiny-Dark-Icons-themes
|
||||||
|
mkdir -p ~/.icons
|
||||||
|
cd assets
|
||||||
|
tar -xf Shiny-Dark-Icons.tar.gz -C ~/.icons
|
||||||
|
tar -xf Shiny-Light-Icons.tar.gz -C ~/.icons
|
||||||
|
cd ..
|
||||||
|
sed -i '9,12s/#//' config/hypr/scripts/DarkLight.sh
|
||||||
|
sed -i '9,12s/#//' config/hypr/scripts/DarkLight-swaybg.sh
|
||||||
|
sed -i '31s/#//' config/hypr/configs/Settings.conf
|
||||||
|
cp -f 'config/hypr/waybar/style/dark-styles/style-dark-cat.css' 'config/hypr/waybar/style/style-dark.css'
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
t|T)
|
||||||
|
printf "${NOTE} Installing Tokyo Theme packages...\n"
|
||||||
|
wget https://github.com/ljmill/tokyo-night-icons/releases/download/v0.2.0/TokyoNight-SE.tar.bz2
|
||||||
|
mkdir -p ~/.icons
|
||||||
|
tar -xvjf TokyoNight-SE.tar.bz2 -C ~/.icons
|
||||||
|
mkdir -p ~/.themes
|
||||||
|
cp -r -f assets/tokyo-themes/* ~/.themes/
|
||||||
|
sed -i '15,18s/#//' config/hypr/scripts/DarkLight.sh
|
||||||
|
sed -i '15,18s/#//' config/hypr/scripts/DarkLight-swaybg.sh
|
||||||
|
sed -i '32s/#//' config/hypr/configs/Settings.conf
|
||||||
|
cp -f 'config/hypr/waybar/style/dark-styles/style-dark-tokyo.css' 'config/hypr/waybar/style/style-dark.css'
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "%s - Invalid choice. Please enter 'c' or 't'\n" "${ERROR}"
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
clear
|
||||||
53
install-scripts/hyprland.sh
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
hypr=(
|
||||||
|
hyprland
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_hyprland.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Hyprland
|
||||||
|
|
||||||
|
printf "${NOTE} Installing Hyprland Packages...\n"
|
||||||
|
for HYPR in "${hypr[@]}"; do
|
||||||
|
install_package "$HYPR" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR install had failed, please check the install.log"; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
clear
|
||||||
141
install-scripts/nvidia.sh
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
nvidia_pkg=(
|
||||||
|
nvidia-dkms
|
||||||
|
nvidia-settings
|
||||||
|
nvidia-utils
|
||||||
|
libva
|
||||||
|
libva-nvidia-driver-git
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_nvidia.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry, I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# nvidia stuff
|
||||||
|
printf "${YELLOW}Installing Nvidia Hyprland...${RESET}\n"
|
||||||
|
if pacman -Qs hyprland > /dev/null; then
|
||||||
|
read -n1 -rp "${CAT} Hyprland detected. Would you like to remove and install hyprland-nvidia instead? (y/n) " nvidia_hypr
|
||||||
|
echo
|
||||||
|
if [[ $nvidia_hypr =~ ^[Yy]$ ]]; then
|
||||||
|
for hyprnvi in hyprland hyprland-nvidia hyprland-nvidia-hidpi-git; do
|
||||||
|
sudo pacman -R --noconfirm "$hyprnvi" 2>/dev/null | tee -a "$LOG" || true
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install hyprland-nvidia-git
|
||||||
|
install_package "hyprland-nvidia-git" 2>&1 | tee -a "$LOG"
|
||||||
|
|
||||||
|
# Install additional Nvidia packages
|
||||||
|
printf "${YELLOW} Installing Nvidia packages...\n"
|
||||||
|
for krnl in $(cat /usr/lib/modules/*/pkgbase); do
|
||||||
|
for NVIDIA in "${krnl}-headers" "${nvidia_pkg[@]}"; do
|
||||||
|
install_package "$NVIDIA" 2>&1 | tee -a "$LOG"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check if the Nvidia modules are already added in mkinitcpio.conf and add if not
|
||||||
|
if grep -qE '^MODULES=.*nvidia. *nvidia_modeset.*nvidia_uvm.*nvidia_drm' /etc/mkinitcpio.conf; then
|
||||||
|
echo "Nvidia modules already included in /etc/mkinitcpio.conf" 2>&1 | tee -a "$LOG"
|
||||||
|
else
|
||||||
|
sudo sed -Ei 's/^(MODULES=\([^\)]*)\)/\1 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf 2>&1 | tee -a "$LOG"
|
||||||
|
echo "Nvidia modules added in /etc/mkinitcpio.conf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo mkinitcpio -P 2>&1 | tee -a "$LOG"
|
||||||
|
printf "\n"
|
||||||
|
printf "\n"
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
# Preparing exec.conf to enable env = WLR_NO_HARDWARE_CURSORS,1 so it will be ready once config files copied
|
||||||
|
sed -i '21s/#//' config/hypr/configs/ENVariables.conf
|
||||||
|
|
||||||
|
# Additional Nvidia steps
|
||||||
|
NVEA="/etc/modprobe.d/nvidia.conf"
|
||||||
|
if [ -f "$NVEA" ]; then
|
||||||
|
printf "${OK} Seems like nvidia-drm modeset=1 is already added in your system..moving on.\n"
|
||||||
|
printf "\n"
|
||||||
|
else
|
||||||
|
printf "\n"
|
||||||
|
printf "${YELLOW} Adding options to $NVEA..."
|
||||||
|
sudo echo -e "options nvidia-drm modeset=1" | sudo tee -a /etc/modprobe.d/nvidia.conf 2>&1 | tee -a "$LOG"
|
||||||
|
printf "\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# additional for GRUB users
|
||||||
|
# Check if /etc/default/grub exists
|
||||||
|
if [ -f /etc/default/grub ]; then
|
||||||
|
# Check if nvidia_drm.modeset=1 is already present
|
||||||
|
if ! sudo grep -q "nvidia-drm.modeset=1" /etc/default/grub; then
|
||||||
|
# Add nvidia_drm.modeset=1 to GRUB_CMDLINE_LINUX_DEFAULT
|
||||||
|
sudo sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub
|
||||||
|
# Regenerate GRUB configuration
|
||||||
|
sudo grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
echo "nvidia-drm.modeset=1 added to /etc/default/grub"
|
||||||
|
else
|
||||||
|
echo "nvidia-drm.modeset=1 is already present in /etc/default/grub"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "/etc/default/grub does not exist"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Blacklist nouveau
|
||||||
|
read -n1 -rep "${CAT} Would you like to blacklist nouveau? (y/n)" response
|
||||||
|
echo
|
||||||
|
if [[ $response =~ ^[Yy]$ ]]; then
|
||||||
|
NOUVEAU="/etc/modprobe.d/nouveau.conf"
|
||||||
|
if [ -f "$NOUVEAU" ]; then
|
||||||
|
printf "${OK} Seems like nouveau is already blacklisted..moving on.\n"
|
||||||
|
else
|
||||||
|
printf "\n"
|
||||||
|
echo "blacklist nouveau" | sudo tee -a "$NOUVEAU" 2>&1 | tee -a "$LOG"
|
||||||
|
printf "${NOTE} has been added to $NOUVEAU.\n"
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
# To completely blacklist nouveau (See wiki.archlinux.org/title/Kernel_module#Blacklisting 6.1)
|
||||||
|
if [ -f "/etc/modprobe.d/blacklist.conf" ]; then
|
||||||
|
echo "install nouveau /bin/true" | sudo tee -a "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
|
||||||
|
else
|
||||||
|
echo "install nouveau /bin/true" | sudo tee "/etc/modprobe.d/blacklist.conf" 2>&1 | tee -a "$LOG"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "${NOTE} Skipping nouveau blacklisting.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
35
install-scripts/paru.sh
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_paru.log"
|
||||||
|
|
||||||
|
# Check for AUR helper and install if not found
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
if [ -n "$ISAUR" ]; then
|
||||||
|
printf "\n%s - AUR helper was located, moving on.\n" "${OK}"
|
||||||
|
else
|
||||||
|
printf "\n%s - AUR helper was NOT located\n" "$WARN"
|
||||||
|
printf "\n%s - Installing paru from AUR\n" "${NOTE}"
|
||||||
|
git clone https://aur.archlinux.org/paru-bin.git || { printf "%s - Failed to clone paru from AUR\n" "${ERROR}"; exit 1; }
|
||||||
|
cd paru-bin || { printf "%s - Failed to enter paru-bin directory\n" "${ERROR}"; exit 1; }
|
||||||
|
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install paru from AUR\n" "${ERROR}"; exit 1; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update system before proceeding
|
||||||
|
printf "\n%s - Performing a full system update to avoid issues.... \n" "${NOTE}"
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
$ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; }
|
||||||
|
|
||||||
|
clear
|
||||||
62
install-scripts/rog.sh
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_rog.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
### Install software for Asus ROG laptops ###
|
||||||
|
|
||||||
|
printf " Installing ASUS ROG packages...\n"
|
||||||
|
for ASUS in asusctl supergfxctl rog-control-center; do
|
||||||
|
install_package "$ASUS" 2>&1 | tee -a "$LOG"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
printf " Activating ROG services...\n"
|
||||||
|
sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG"
|
||||||
|
sed -i '20s/#//' config/hypr/configs/Execs.conf
|
||||||
|
|
||||||
|
clear
|
||||||
119
install-scripts/sddm.sh
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_sddm.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# SDDM
|
||||||
|
|
||||||
|
# Check if SDDM is already installed
|
||||||
|
if pacman -Qs sddm > /dev/null; then
|
||||||
|
# Prompt user to manually install sddm-git to remove SDDM
|
||||||
|
read -n1 -rep "SDDM is already installed. Would you like to manually install sddm-git to remove it? This requires manual intervention. (y/n)" manual_install_sddm
|
||||||
|
echo
|
||||||
|
if [[ $manual_install_sddm =~ ^[Yy]$ ]]; then
|
||||||
|
$ISAUR -S sddm-git 2>&1 | tee -a "$LOG"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install SDDM and Catppuccin theme
|
||||||
|
printf "${NOTE} Installing SDDM-git........\n"
|
||||||
|
for package in sddm-git; do
|
||||||
|
install_package "$package" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $package install has failed, please check the install.log"; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check if other login managers installed and disabling its service before enabling sddm
|
||||||
|
for login_manager in lightdm gdm lxdm lxdm-gtk3; do
|
||||||
|
if pacman -Qs "$login_manager" > /dev/null; then
|
||||||
|
echo "disabling $login_manager..."
|
||||||
|
sudo systemctl disable "$login_manager.service" 2>&1 | tee -a "$LOG"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf " Activating sddm service........\n"
|
||||||
|
sudo systemctl enable sddm
|
||||||
|
|
||||||
|
# Set up SDDM
|
||||||
|
echo -e "${NOTE} Setting up the login screen."
|
||||||
|
sddm_conf_dir=/etc/sddm.conf.d
|
||||||
|
[ ! -d "$sddm_conf_dir" ] && { printf "$CAT - $sddm_conf_dir not found, creating...\n"; sudo mkdir "$sddm_conf_dir" 2>&1 | tee -a "$LOG"; }
|
||||||
|
|
||||||
|
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"; }
|
||||||
|
sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG"
|
||||||
|
|
||||||
|
# SDDM-themes
|
||||||
|
read -n1 -rep "${CAT} OPTIONAL - Would you like to install SDDM themes? (y/n)" install_sddm_theme
|
||||||
|
if [[ $install_sddm_theme =~ ^[Yy]$ ]]; then
|
||||||
|
while true; do
|
||||||
|
read -rp "${CAT} Which SDDM Theme you want to install? Catpuccin or Tokyo Night 'c' or 't': " choice
|
||||||
|
case "$choice" in
|
||||||
|
c|C)
|
||||||
|
printf "\n%s - Installing Catpuccin SDDM Theme\n" "${NOTE}"
|
||||||
|
for sddm_theme in sddm-catppuccin-git; do
|
||||||
|
install_package "$sddm_theme" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $sddm_theme install has failed, please check the install.log"; }
|
||||||
|
done
|
||||||
|
echo -e "[Theme]\nCurrent=catppuccin" | sudo tee -a "$sddm_conf_dir/10-theme.conf" 2>&1 | tee -a "$LOG"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
t|T)
|
||||||
|
printf "\n%s - Installing Tokyo SDDM Theme\n" "${NOTE}"
|
||||||
|
for sddm_theme in sddm-theme-tokyo-night; do
|
||||||
|
install_package "$sddm_theme" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $sddm_theme install has failed, please check the install.log"; }
|
||||||
|
done
|
||||||
|
echo -e "[Theme]\nCurrent=tokyo-night-sddm" | sudo tee -a "$sddm_conf_dir/10-theme.conf" 2>&1 | tee -a "$LOG"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "%s - Invalid choice. Please enter 'c' or 't'\n" "${ERROR}"
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
77
install-scripts/thunar.sh
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
thunar=(
|
||||||
|
thunar
|
||||||
|
thunar-volman
|
||||||
|
tumbler
|
||||||
|
thunar-archive-plugin
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_thunar.log"
|
||||||
|
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
|
||||||
|
printf "${NOTE} Installing Thunar Packages...\n"
|
||||||
|
for THUNAR in "${thunar[@]}"; do
|
||||||
|
install_package "$THUNAR" 2>&1 | tee -a "$LOG"
|
||||||
|
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THUNAR install had failed, please check the install.log"; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check for existing config folders and backup
|
||||||
|
for DIR1 in Thunar xfce4; do
|
||||||
|
DIRPATH=~/.config/$DIR1
|
||||||
|
if [ -d "$DIRPATH" ]; then
|
||||||
|
echo -e "${NOTE} Config for $DIR1 found, backing up."
|
||||||
|
mv $DIRPATH $DIRPATH-back-up 2>&1 | tee -a "$LOG"
|
||||||
|
echo -e "${NOTE} Backed up $DIR1 to $DIRPATH-back-up."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cp -r config/xfce4 ~/.config/ && { echo "Copy xfce4 completed!"; } || { echo "Error: Failed to copy xfce4 config files."; exit 1; } 2>&1 | tee -a "$LOG"
|
||||||
|
cp -r config/Thunar ~/.config/ && { echo "Copy Thunar completed!"; } || { echo "Error: Failed to copy Thunar config files."; exit 1; } 2>&1 | tee -a "$LOG"
|
||||||
|
|
||||||
|
clear
|
||||||
79
install-scripts/xdph.sh
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_xdph.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# XDG-DESKTOP-PORTAL-HYPRLAND
|
||||||
|
|
||||||
|
for xdph in xdg-desktop-portal-hyprland; do
|
||||||
|
install_package "$xdph" 2>&1 | tee -a "$LOG"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "\e[1A\e[K${ERROR} - $xdph install had failed, please check the install.log"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n"
|
||||||
|
sleep 1
|
||||||
|
printf "\n"
|
||||||
|
printf "${NOTE} XDG-desktop-portal-KDE (if installed) should be manually disabled or removed! I can't remove it... sorry...\n"
|
||||||
|
read -n1 -rep "${CAT} Would you like me to try to remove other XDG-Desktop-Portal-Implementations? (y/n)" XDPH1
|
||||||
|
sleep 1
|
||||||
|
if [[ $XDPH1 =~ ^[Yy]$ ]]; then
|
||||||
|
# Clean out other portals
|
||||||
|
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
|
||||||
|
# Check if packages are installed and uninstall if present
|
||||||
|
if pacman -Qs xdg-desktop-portal-gnome > /dev/null ; then
|
||||||
|
echo "Removing xdg-desktop-portal-gnome..."
|
||||||
|
sudo pacman -R --noconfirm xdg-desktop-portal-gnome 2>&1 | tee -a $LOG
|
||||||
|
fi
|
||||||
|
if pacman -Qs xdg-desktop-portal-gtk > /dev/null ; then
|
||||||
|
echo "Removing xdg-desktop-portal-gtk..."
|
||||||
|
sudo pacman -R --noconfirm xdg-desktop-portal-gtk 2>&1 | tee -a $LOG
|
||||||
|
fi
|
||||||
|
if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then
|
||||||
|
echo "Removing xdg-desktop-portal-wlr..."
|
||||||
|
sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a $LOG
|
||||||
|
fi
|
||||||
|
if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then
|
||||||
|
echo "Removing xdg-desktop-portal-lxqt..."
|
||||||
|
sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a $LOG
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
35
install-scripts/yay.sh
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_yay.log"
|
||||||
|
|
||||||
|
# Check for AUR helper and install if not found
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
if [ -n "$ISAUR" ]; then
|
||||||
|
printf "\n%s - AUR helper yay was located, moving on.\n" "${OK}"
|
||||||
|
else
|
||||||
|
printf "\n%s - AUR helper was NOT located\n" "$WARN"
|
||||||
|
printf "\n%s - Installing yay from AUR\n" "${NOTE}"
|
||||||
|
git clone https://aur.archlinux.org/yay-bin.git || { printf "%s - Failed to clone yay from AUR\n" "${ERROR}"; exit 1; }
|
||||||
|
cd yay-bin || { printf "%s - Failed to enter yay-bin directory\n" "${ERROR}"; exit 1; }
|
||||||
|
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install yay from AUR\n" "${ERROR}"; exit 1; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update system before proceeding
|
||||||
|
printf "\n%s - Performing a full system update to avoid issues.... \n" "${NOTE}"
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
$ISAUR -Syu --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to update system\n" "${ERROR}"; exit 1; }
|
||||||
|
|
||||||
|
clear
|
||||||
68
install-scripts/zsh.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S)_zsh.log"
|
||||||
|
|
||||||
|
ISAUR=$(command -v yay || command -v paru)
|
||||||
|
|
||||||
|
# Set the script to exit on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function for installing packages
|
||||||
|
install_package() {
|
||||||
|
# Checking if package is already installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "${OK} $1 is already installed. Skipping..."
|
||||||
|
else
|
||||||
|
# Package not installed
|
||||||
|
echo -e "${NOTE} Installing $1 ..."
|
||||||
|
$ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG"
|
||||||
|
# Making sure package is installed
|
||||||
|
if $ISAUR -Q "$1" &>> /dev/null ; then
|
||||||
|
echo -e "\e[1A\e[K${OK} $1 was installed."
|
||||||
|
else
|
||||||
|
# Something is missing, exiting to review log
|
||||||
|
echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# zsh and oh-my-zsh
|
||||||
|
printf "${WARN} #### IF YOU HAVE ALREADY ZSH AND OH MY ZSH, YOU SHOULD CHOOSE NO HERE #########\n"
|
||||||
|
printf "${WARN} ### --------------------------------------------------------------------########\n"
|
||||||
|
printf "${NOTE} ## CHECK OUT README FOR ADDITIONAL STEPS REQUIRED ONCE ZSH AND OH-MY-ZSH INSTALLED ##\n"
|
||||||
|
printf "\n"
|
||||||
|
printf "\n"
|
||||||
|
read -n1 -rep "${CAT} OPTIONAL - Would you like to install zsh and oh-my-zsh and use as default shell? (y/n)" zsh
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ $zsh =~ ^[Yy]$ ]]; then
|
||||||
|
for ZSH in zsh zsh-completions; do
|
||||||
|
install_package "$ZSH" 2>&1 | tee -a "$LOG"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Oh-my-zsh plus zsh-autosuggestions and zsh-syntax-highlighting
|
||||||
|
printf "${NOTE} Installing oh-my-zsh and plugins.\n"
|
||||||
|
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended && \
|
||||||
|
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \
|
||||||
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \
|
||||||
|
cp -r 'assets/.zshrc' ~/
|
||||||
|
print_success "ZSH and oh-my-zsh installed."
|
||||||
|
else
|
||||||
|
printf "${NOTE} ZSH wont be installed.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
204
install.sh
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
# Welcome message
|
||||||
|
echo "$(tput setaf 6)Welcome to JaKooLit's Arch-Hyprland Install Script!$(tput sgr0)"
|
||||||
|
echo
|
||||||
|
echo "$(tput setaf 3)NOTE: You will be required to answer some questions during the installation! $(tput sgr0)"
|
||||||
|
echo
|
||||||
|
|
||||||
|
read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed
|
||||||
|
|
||||||
|
if [ "$proceed" != "y" ]; then
|
||||||
|
echo "Installation aborted."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if running as root. If root, script will exit
|
||||||
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
echo "This script should not be executed as root! Exiting......."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set some colors for output messages
|
||||||
|
OK="$(tput setaf 2)[OK]$(tput sgr0)"
|
||||||
|
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
|
||||||
|
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
|
||||||
|
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
|
||||||
|
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
|
||||||
|
ORANGE=$(tput setaf 166)
|
||||||
|
YELLOW=$(tput setaf 3)
|
||||||
|
RESET=$(tput sgr0)
|
||||||
|
|
||||||
|
# Function to colorize prompts
|
||||||
|
colorize_prompt() {
|
||||||
|
local color="$1"
|
||||||
|
local message="$2"
|
||||||
|
echo -n "${color}${message}$(tput sgr0)"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set the name of the log file to include the current date and time
|
||||||
|
LOG="install-$(date +%d-%H%M%S).log"
|
||||||
|
|
||||||
|
# Initialize variables to store user responses
|
||||||
|
aur_helper=""
|
||||||
|
bluetooth=""
|
||||||
|
dots=""
|
||||||
|
gtk_themes=""
|
||||||
|
nvidia=""
|
||||||
|
rog=""
|
||||||
|
sddm=""
|
||||||
|
thunar=""
|
||||||
|
xdph=""
|
||||||
|
zsh=""
|
||||||
|
|
||||||
|
# Define the directory where your scripts are located
|
||||||
|
script_directory=install-scripts
|
||||||
|
|
||||||
|
# Function to ask a yes/no question and set the response in a variable
|
||||||
|
ask_yes_no() {
|
||||||
|
while true; do
|
||||||
|
read -p "$(colorize_prompt "$CAT" "$1 (y/n): ")" choice
|
||||||
|
case "$choice" in
|
||||||
|
[Yy]* ) eval "$2='Y'"; return 0;;
|
||||||
|
[Nn]* ) eval "$2='N'"; return 1;;
|
||||||
|
* ) echo "Please answer with y or n.";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to ask a custom question with specific options and set the response in a variable
|
||||||
|
ask_custom_option() {
|
||||||
|
local prompt="$1"
|
||||||
|
local valid_options="$2"
|
||||||
|
local response_var="$3"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "$(colorize_prompt "$CAT" "$prompt ($valid_options): ")" choice
|
||||||
|
if [[ " $valid_options " == *" $choice "* ]]; then
|
||||||
|
eval "$response_var='$choice'"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "Please choose one of the provided options: $valid_options"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
# Function to execute a script if it exists and make it executable
|
||||||
|
execute_script() {
|
||||||
|
local script="$1"
|
||||||
|
local script_path="$script_directory/$script"
|
||||||
|
if [ -f "$script_path" ]; then
|
||||||
|
chmod +x "$script_path"
|
||||||
|
if [ -x "$script_path" ]; then
|
||||||
|
"$script_path"
|
||||||
|
else
|
||||||
|
echo "Failed to make script '$script' executable."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Script '$script' not found in '$script_directory'."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Collect user responses to all questions
|
||||||
|
printf "\n"
|
||||||
|
ask_custom_option "Select AUR helper" "paru or yay" aur_helper
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you have nvidia gpu?" nvidia
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to install GTK themes?" gtk_themes
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to configure Bluetooth?" bluetooth
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to install Thunar file manager?" thunar
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Installing in Asus ROG Laptops?" rog
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to install and configure SDDM?" sddm
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to install XDG-DESKTOP-PORTAL-HYPRLAND?" xdph
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to install zsh and oh-my-zsh?" zsh
|
||||||
|
printf "\n"
|
||||||
|
ask_yes_no "Do you want to copy dotfiles?" dots
|
||||||
|
printf "\n"
|
||||||
|
# Ensuring all in the scripts folder are made executable
|
||||||
|
chmod +x install-scripts/*
|
||||||
|
|
||||||
|
# Execute AUR helper script based on user choice
|
||||||
|
if [ "$aur_helper" == "paru" ]; then
|
||||||
|
execute_script "paru.sh"
|
||||||
|
elif [ "$aur_helper" == "yay" ]; then
|
||||||
|
execute_script "yay.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install hyprland packages
|
||||||
|
execute_script "00-hypr-pkgs.sh"
|
||||||
|
|
||||||
|
if [ "$nvidia" == "Y" ]; then
|
||||||
|
execute_script "nvidia.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$nvidia" == "N" ]; then
|
||||||
|
execute_script "hyprland.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$gtk_themes" == "Y" ]; then
|
||||||
|
execute_script "gtk_themes.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$bluetooth" == "Y" ]; then
|
||||||
|
execute_script "bluetooth.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$thunar" == "Y" ]; then
|
||||||
|
execute_script "thunar.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$rog" == "Y" ]; then
|
||||||
|
execute_script "rog.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$sddm" == "Y" ]; then
|
||||||
|
execute_script "sddm.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$xdph" == "Y" ]; then
|
||||||
|
execute_script "xdph.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$zsh" == "Y" ]; then
|
||||||
|
execute_script "zsh.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$dots" == "Y" ]; then
|
||||||
|
execute_script "dotfiles.sh" "$(pwd)"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
|
printf "\n${OK} Yey! Installation Completed.\n"
|
||||||
|
printf "\n"
|
||||||
|
printf "\n${NOTE} NOTICE TO NVIDIA OWNERS! System will reboot your system!\n"
|
||||||
|
sleep 2
|
||||||
|
printf "\n${NOTE} You can start Hyprland by typing Hyprland (IF SDDM is not installed) (note the capital H!).\n"
|
||||||
|
printf "\n"
|
||||||
|
printf "\n"
|
||||||
|
read -n1 -rep "${CAT} Would you like to start Hyprland now? (y,n)" HYP
|
||||||
|
|
||||||
|
if [[ $HYP =~ ^[Yy]$ ]]; then
|
||||||
|
if [[ "$nvidia" == "Y" ]]; then
|
||||||
|
echo "${NOTE} NVIDIA GPU detected. Rebooting the system..."
|
||||||
|
systemctl reboot
|
||||||
|
elif command -v sddm >/dev/null; then
|
||||||
|
sudo systemctl start sddm 2>&1 | tee -a "$LOG"
|
||||||
|
else
|
||||||
|
if command -v Hyprland >/dev/null; then
|
||||||
|
exec Hyprland
|
||||||
|
else
|
||||||
|
echo "${ERROR} Hyprland not found. Please make sure Hyprland is installed by checking install logs"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
BIN
screenshots/Plasma-Style.png
Normal file
|
After Width: | Height: | Size: 289 KiB |
BIN
screenshots/Sample-Tokyo-waybar.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
screenshots/WofiEmoji.png
Normal file
|
After Width: | Height: | Size: 618 KiB |
BIN
screenshots/btop-nvtop-mission-center.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
BIN
screenshots/dual-panel-dark_light-switch.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
screenshots/dual-panel-light-dark-switch.png
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
BIN
screenshots/gnome-style.png
Normal file
|
After Width: | Height: | Size: 285 KiB |
BIN
screenshots/install-script-initial-query.png
Normal file
|
After Width: | Height: | Size: 442 KiB |
BIN
screenshots/pavuExample.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |