HyprInit provides a complete, ready-to-use configuration for a minimal and functional Arch Linux desktop using the Hyprland compositor. It automates the entire setup processβfrom installing packages to symlinking configurations with GNU Stowβallowing you to get up and running with a beautiful Hyprland workflow in minutes.
- Compositor: Hyprland - Dynamic tiling Wayland compositor with smooth animations
- Display Manager: SDDM - Modern Qt-based display manager
- Status Bar: Waybar - Highly customizable Wayland status bar
- Application Launcher: Rofi - Versatile application launcher with emoji support
- Terminal: Alacritty - Fast, GPU-accelerated terminal emulator
- File Manager: Dolphin - Powerful KDE file manager
- Browser: Brave - Privacy-focused Chromium-based browser
- Editors: Neovim + VS Code - Modern text editing
- Shell: Zsh with Zinit + Powerlevel10k
- Notifications: Mako - Lightweight Wayland notification daemon
- Screenshots: Grim + Slurp + Swappy
- Wallpapers: SWWW - Efficient animated wallpaper daemon
- Lock Screen: Hyprlock - Secure screen locker for Hyprland
- Audio: PipeWire - Modern multimedia framework
- Fonts: JetBrains Mono Nerd Font, Noto Fonts, Font Awesome
- Media: VLC for video playback
- Config Management: GNU Stow - Symlink farm manager for dotfiles
Coming soon...
Setting up your Hyprland environment is simple. The install.sh script handles everything automatically.
- A fresh Arch Linux installation (minimal profile recommended)
gitinstalled- Active internet connection
- AMD GPU (script includes AMD-specific drivers)
Warning
This setup is designed for a clean Arch Linux installation. For best results, use a minimal installation without a desktop environment. If using archinstall, select the 'minimal' profile.
# Install git if not present
sudo pacman -S git
# Clone the repository
git clone https://github.com/Hasib-4174/hyprinit.git
cd hyprinit
# Make scripts executable
chmod +x install.sh
# Run the installer
./install.sh
# Reboot when complete
sudo reboot- β Installs AUR helper (yay) if not present
- β Installs all packages via pacman and AUR
- β
Copies configs to
~/configfiles/ - β
Symlinks configs using GNU Stow to
~/.config/ - β Enables services (NetworkManager, Bluetooth, SDDM, PipeWire)
- β Runs verification to confirm everything is set up
After reboot, SDDM will greet you. Select Hyprland from the session dropdown.
Core System
base,base-devel,linux,linux-firmwareamd-ucode,sof-firmwarenetworkmanager,bluez,bluez-utilsgit,wget,unzip,7zip,jq- Fonts:
noto-fonts,noto-fonts-emoji,ttf-jetbrains-mono-nerd,otf-font-awesome
Hyprland Stack
hyprland,hyprpaper,hyprlock,hypridlesddm,qt5-wayland,qt6-waylandwaybar,mako,wlogoutrofi,rofi-emojiswww,grim,slurp,swappywl-clipboard,wevxdg-desktop-portal-hyprland
Audio (PipeWire)
pipewire,pipewire-alsa,pipewire-jack,pipewire-pulsewireplumber,gst-plugin-pipewire,libpulse
Applications
alacritty- Terminaldolphin- File managerbrave-bin- Browservlc- Media playerimv- Image viewerblueman,pavucontrol,brightnessctl- System utilitiesbtop,htop,fastfetch- Monitoring
Development
neovim,vim,nano,visual-studio-code-bintmux,stow,zshnodejs,npm,python-pip,ipythonvulkan-radeon,xf86-video-amdgpu,radeontop- AMD GPU
Keybindings are configured in ~/.config/hypr/keybinds.conf. The main modifier is ALT.
| Keybinding | Action |
|---|---|
Alt + Return |
Open Alacritty (Terminal) |
Alt + E |
Open Dolphin (File Manager) |
Alt + D |
Open Rofi (App Launcher) |
Alt + Q |
Close active window |
Alt + M |
Exit Hyprland |
Alt + V |
Toggle floating window |
Alt + L |
Lock screen (Hyprlock) |
Alt + W |
Random wallpaper |
Alt + S |
Screenshot |
| Keybinding | Action |
|---|---|
Alt + H |
Focus left |
Alt + J |
Focus down |
Alt + K |
Focus up |
Alt + L |
Focus right |
| Keybinding | Action |
|---|---|
Alt + [1-9, 0] |
Switch to workspace 1-10 |
Alt + Shift + [1-9, 0] |
Move window to workspace 1-10 |
Alt + S |
Toggle scratchpad |
Alt + Shift + S |
Move to scratchpad |
Alt + Mouse Wheel |
Scroll through workspaces |
| Key | Action |
|---|---|
Volume Up/Down |
Adjust volume |
Mute |
Toggle mute |
Brightness Up/Down |
Adjust screen brightness |
Play/Pause/Next/Prev |
Media controls |
All configurations use GNU Stow for symlink management:
hyprinit/
βββ install.sh # Main installer
βββ vars.conf # User settings (edit before install)
βββ README.md # This file
β
βββ packages/ # Package lists
β βββ base.txt # System essentials
β βββ hypr.txt # Hyprland stack
β βββ apps.txt # Desktop applications
β βββ dev.txt # Development tools
β
βββ config/ # Stow-compatible configs
β βββ hypr/ # β ~/.config/hypr/
β β βββ .config/hypr/
β β βββ hyprland.conf
β β βββ keybinds.conf
β β βββ appearance.conf
β β βββ ...
β βββ waybar/ # β ~/.config/waybar/
β βββ rofi/ # β ~/.config/rofi/
β βββ alacritty/ # β ~/.config/alacritty/
β βββ mako/ # β ~/.config/mako/
β βββ swww/ # β ~/.config/swww/
β βββ zsh/ # β ~/.zshrc
β βββ sddm/ # β /etc/sddm.conf.d/
β βββ scripts/ # β ~/.local/bin/
β
βββ scripts/ # Installation scripts
βββ install_packages.sh
βββ setup_configs.sh
βββ enable_services.sh
βββ sanity_check.sh
Configs are stored in ~/configfiles/ and symlinked to their destinations.
# Your configs live here:
~/configfiles/
βββ hypr/
βββ waybar/
βββ rofi/
βββ ...
# Symlinked to:
~/.config/hypr β ~/configfiles/hypr/.config/hypr
~/.config/waybar β ~/configfiles/waybar/.config/waybar
# etc.To edit configs: Modify files in ~/configfiles/ β changes apply immediately!
Edit vars.conf before running the installer:
# AUR helper (yay or paru)
AUR_HELPER=yay
# Default shell
DEFAULT_SHELL=zsh
# Service toggles
ENABLE_NETWORKMANAGER=true
ENABLE_BLUETOOTH=true
ENABLE_SDDM=true
# Requires post-install setup (browser auth)
ENABLE_TAILSCALE=falseSDDM Not Starting
sudo systemctl enable sddm.service
sudo systemctl start sddm.serviceNo Audio
PipeWire uses user services. They start automatically on login. To manually start:
systemctl --user enable --now pipewire pipewire-pulse wireplumberWaybar Not Appearing
killall waybar
waybar &Or check Hyprland autostart: ~/.config/hypr/autostart.conf
Configs Not Symlinked
Re-run the stow setup:
cd ~/configfiles
stow --restow --target=$HOME hypr waybar rofi alacrittyAUR Package Fails
Try installing manually:
yay -S package-name| Component | File to Edit |
|---|---|
| Keybindings | ~/.config/hypr/keybinds.conf |
| Appearance | ~/.config/hypr/appearance.conf |
| Waybar modules | ~/.config/waybar/config.jsonc |
| Waybar style | ~/.config/waybar/style.css |
| Rofi theme | ~/.config/rofi/config.rasi |
| Terminal | ~/.config/alacritty/alacritty.toml |
| Shell | ~/.zshrc |
Contributions are welcome! Feel free to:
- π Report bugs
- π‘ Suggest features
- π§ Submit pull requests
This project is open-source and available under the MIT License.
Made with β€οΈ for the Hyprland community