arch-hyperland/README.md

5.2 KiB

Arch Hyprland Auto-Installer v2.0

A modern, fast, and efficient installer for Hyprland on Arch Linux.

License: GPL v3 Arch Linux Hyprland

    ╦ ╦╦ ╦╔═╗╦═╗╦  ╔═╗╔╗╔╔╦╗  ╦╔╗╔╔═╗╔╦╗╔═╗╦  ╦  ╔═╗╦═╗
    ╠═╣╚╦╝╠═╝╠╦╝║  ╠═╣║║║ ║║  ║║║║╚═╗ ║ ╠═╣║  ║  ║╣ ╠╦╝
    ╩ ╩ ╩ ╩  ╩╚═╩═╝╩ ╩╝╚╝═╩╝  ╩╝╚╝╚═╝ ╩ ╩ ╩╩═╝╩═╝╚═╝╩╚═

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 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:

    # In ~/.config/hypr/hyprland.conf
    source = ~/.config/hypr/nvidia.conf
    
  2. 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

License

GPL-3.0