181 lines
5.2 KiB
Markdown
181 lines
5.2 KiB
Markdown
# Arch Hyprland Auto-Installer v2.0
|
|
|
|
A modern, fast, and efficient installer for Hyprland on Arch Linux.
|
|
|
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
[](https://archlinux.org/)
|
|
[](https://hyprland.org/)
|
|
|
|
```
|
|
╦ ╦╦ ╦╔═╗╦═╗╦ ╔═╗╔╗╔╔╦╗ ╦╔╗╔╔═╗╔╦╗╔═╗╦ ╦ ╔═╗╦═╗
|
|
╠═╣╚╦╝╠═╝╠╦╝║ ╠═╣║║║ ║║ ║║║║╚═╗ ║ ╠═╣║ ║ ║╣ ╠╦╝
|
|
╩ ╩ ╩ ╩ ╩╚═╩═╝╩ ╩╝╚╝═╩╝ ╩╝╚╝╚═╝ ╩ ╩ ╩╩═╝╩═╝╚═╝╩╚═
|
|
```
|
|
|
|
## 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
|
|
bash <(curl -fsSL https://raw.githubusercontent.com/ragibcs/arch-hyperland-auto-installer/main/auto-install.sh)
|
|
```
|
|
|
|
### Manual Installation
|
|
|
|
```bash
|
|
git clone --depth=1 https://github.com/ragibcs/arch-hyperland-auto-installer.git
|
|
cd arch-hyperland-auto-installer
|
|
./install.sh
|
|
```
|
|
|
|
### Using Presets (Unattended)
|
|
|
|
```bash
|
|
./install.sh --preset presets/full.conf
|
|
```
|
|
|
|
Available presets:
|
|
- `minimal.conf` - Core Hyprland only
|
|
- `full.conf` - All components
|
|
- `nvidia-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-devel` package group
|
|
|
|
## Post-Installation
|
|
|
|
1. **Reboot** your system
|
|
2. **Start Hyprland**:
|
|
- With SDDM: Select Hyprland from login screen
|
|
- Without SDDM: Type `Hyprland` in 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:
|
|
|
|
1. Ensure the environment file is sourced:
|
|
```conf
|
|
# In ~/.config/hypr/hyprland.conf
|
|
source = ~/.config/hypr/nvidia.conf
|
|
```
|
|
|
|
2. Add to your environment:
|
|
```conf
|
|
env = WLR_DRM_DEVICES,/dev/dri/card1
|
|
```
|
|
|
|
### Screen Sharing Not Working
|
|
Install XDG portal:
|
|
```bash
|
|
./install-scripts/xdph.sh
|
|
```
|
|
|
|
### Audio Issues
|
|
Reinstall PipeWire:
|
|
```bash
|
|
./install-scripts/pipewire.sh
|
|
```
|
|
|
|
## Uninstallation
|
|
|
|
```bash
|
|
./uninstall.sh
|
|
```
|
|
|
|
This provides a guided removal of Hyprland and associated packages.
|
|
|
|
## Credits
|
|
|
|
- [Hyprland](https://hyprland.org/) - Dynamic tiling Wayland compositor
|
|
- [JaKooLit](https://github.com/JaKooLit) - Original Arch-Hyprland installer inspiration
|
|
- [Hyprland-Dots](https://github.com/JaKooLit/Hyprland-Dots) - Pre-configured dotfiles
|
|
|
|
## License
|
|
|
|
GPL-3.0
|