|
|
||
|---|---|---|
| install-scripts | ||
| presets | ||
| LICENSE | ||
| README.md | ||
| auto-install.sh | ||
| install.sh | ||
| uninstall.sh | ||
README.md
Arch Hyprland Auto-Installer v2.0
A modern, fast, and efficient installer for Hyprland on Arch Linux.
╦ ╦╦ ╦╔═╗╦═╗╦ ╔═╗╔╗╔╔╦╗ ╦╔╗╔╔═╗╔╦╗╔═╗╦ ╦ ╔═╗╦═╗
╠═╣╚╦╝╠═╝╠╦╝║ ╠═╣║║║ ║║ ║║║║╚═╗ ║ ╠═╣║ ║ ║╣ ╠╦╝
╩ ╩ ╩ ╩ ╩╚═╩═╝╩ ╩╝╚╝═╩╝ ╩╝╚╝╚═╝ ╩ ╩ ╩╩═╝╩═╝╚═╝╩╚═
Features
- Modern TUI - Clean, keyboard-driven interface without heavy dependencies
- Parallel Installation - 3-4x faster package installation using parallel jobs
- Low Resource Usage - Optimized bash with minimal subshells and memory usage
- Smart Detection - Auto-detects GPU, VM, laptop, and active display managers
- Preset Support - Unattended installation with configuration presets
- Modular Scripts - Run individual components separately
Quick Start
One-liner Installation
bash <(curl -fsSL https://raw.githubusercontent.com/ragibcs/arch-hyperland-auto-installer/main/auto-install.sh)
Manual Installation
git clone --depth=1 https://github.com/ragibcs/arch-hyperland-auto-installer.git
cd arch-hyperland-auto-installer
./install.sh
Using Presets (Unattended)
./install.sh --preset presets/full.conf
Available presets:
minimal.conf- Core Hyprland onlyfull.conf- All componentsnvidia-gaming.conf- Optimized for NVIDIA gaming
What Gets Installed
Core Components (Always)
- Hyprland compositor
- PipeWire audio system
- Essential tools (kitty, rofi, waybar, etc.)
- Fonts (JetBrains Mono Nerd, Fira Code, etc.)
Optional Components
| Component | Description |
|---|---|
| GTK Themes | Dark/Light mode support with custom themes |
| Bluetooth | bluez + blueman for Bluetooth management |
| Thunar | Feature-rich file manager |
| SDDM | Display manager with Wayland support |
| SDDM Theme | Custom themed login screen |
| XDG Portal | Screen sharing for Discord/OBS |
| ZSH | Oh-My-Zsh with plugins |
| NVIDIA | Driver installation and configuration |
| Dotfiles | Pre-configured Hyprland dotfiles |
| QuickShell | Desktop-like overview effect |
Performance Comparison
| Metric | Original | This Version |
|---|---|---|
| Install Time | ~15-20 min | ~5-8 min |
| Memory Usage | ~150MB | ~30MB |
| Dependencies | whiptail, gum | Pure bash |
| Parallel Jobs | None | 4 (configurable) |
Directory Structure
arch-hyperland-auto-installer/
├── install.sh # Main installer
├── uninstall.sh # Guided uninstaller
├── auto-install.sh # One-liner wrapper
├── install-scripts/
│ ├── lib.sh # Core library
│ ├── nvidia.sh # NVIDIA configuration
│ ├── bluetooth.sh # Bluetooth setup
│ ├── sddm.sh # SDDM installation
│ ├── zsh.sh # ZSH + Oh-My-Zsh
│ └── pipewire.sh # Audio setup
├── presets/
│ ├── minimal.conf # Minimal installation
│ ├── full.conf # Full installation
│ └── nvidia-gaming.conf
└── Install-Logs/ # Installation logs
Command Line Options
./install.sh [options]
Options:
--preset FILE Load options from preset file
--parallel N Number of parallel installation jobs (default: 4)
--help Show help message
Requirements
- Arch Linux or Arch-based distribution
- Non-root user with sudo access
- Internet connection
base-develpackage group
Post-Installation
- Reboot your system
- Start Hyprland:
- With SDDM: Select Hyprland from login screen
- Without SDDM: Type
Hyprlandin TTY
Useful Keybindings
| Key | Action |
|---|---|
SUPER + Enter |
Open terminal |
SUPER + D |
App launcher (rofi) |
SUPER + Q |
Close window |
SUPER + H |
Show keybind hints |
Troubleshooting
NVIDIA Issues
If you experience issues with NVIDIA:
-
Ensure the environment file is sourced:
# In ~/.config/hypr/hyprland.conf source = ~/.config/hypr/nvidia.conf -
Add to your environment:
env = WLR_DRM_DEVICES,/dev/dri/card1
Screen Sharing Not Working
Install XDG portal:
./install-scripts/xdph.sh
Audio Issues
Reinstall PipeWire:
./install-scripts/pipewire.sh
Uninstallation
./uninstall.sh
This provides a guided removal of Hyprland and associated packages.
Credits
- Hyprland - Dynamic tiling Wayland compositor
- JaKooLit - Original Arch-Hyprland installer inspiration
- Hyprland-Dots - Pre-configured dotfiles
License
GPL-3.0