arch-hyperland/README.md

181 lines
5.2 KiB
Markdown

# Arch Hyprland Auto-Installer v2.0
A modern, fast, and efficient installer for Hyprland on Arch Linux.
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Arch Linux](https://img.shields.io/badge/Arch_Linux-1793D1?logo=arch-linux&logoColor=white)](https://archlinux.org/)
[![Hyprland](https://img.shields.io/badge/Hyprland-58E1FF?logo=wayland&logoColor=white)](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