✨ Features 🧩 Components 🎨 Themes 🚀 Install 🖼️ Gallery ⌨️ Keybinds 🔧 Help
🍚 v1.6 — Yet Another Hyprland Rice

Arch Linux · Hyprland · Quickshell

A complete, beautiful Arch Linux desktop with 13 curated themes, adjustable translucency, GPU-aware installation, and a single-command installer that takes you from a minimal Arch ISO to a full desktop.

0
Themes
1
Command Install
0
GitHub Stars
0
Widget Panels
scroll

Everything you need, out of the box

Curated defaults, powerful customization, and a unified theme system that syncs across every application.

🎨

13 Beautiful Themes

Catppuccin, Dracula, Gruvbox, Nord, TokyoNight, and 8 more. Switch instantly with SuperT — all apps sync in 30–45 seconds.

💧

Modern Flat UI

Clean flat panels with adjustable opacity, accent borders, specular highlights, and 150ms smooth transitions on every hover and state change.

🚀

One-Command Install

Clone the repo and run ./install.sh. The installer handles GPU drivers, AUR, the full graphics stack, and all desktop components.

🎯

GPU-Aware Installation

Auto-detects NVIDIA (dkms/nouveau), AMD, Intel, and Hybrid GPU configs and installs the correct driver stack with proper env vars.

⚙️

YOLO Unattended Mode

Zero prompts, fully automated. Ideal for scripted installs, VMs, or when you just want the defaults applied with no questions asked.

🖼️

Smart Wallpaper Picker

Browse theme-matched or all wallpapers in a flat grid. Last choice persists across reboots via ~/.config/quickshell/last-wallpaper.

🔄

Persistent Settings

Rounding, border thickness, workspace style, font, and bar size all survive theme switches. Settings stored in a clean JSON file.

📅

Google Calendar Integration

Full iCal URL support with RRULE recurring events (daily/weekly/monthly/yearly), timezone handling, event indicators, and 15-min auto-refresh.

🔒

SDDM & Hyprlock Sync

Login screen and lock screen automatically receive your active theme's colors and wallpaper whenever you switch themes.

⚡

Unified Theme Sync

GTK, Kitty, Firefox, Neovim (AstroVim), VSCodium, Mako, Hyprlock, Starship — all get your active theme colors automatically.

🖥️

Multi-Monitor Manager

Live resolution, refresh rate, and scale controls per monitor in the Settings panel — changes apply immediately via Hyprland.

📦

Modular Config

Hyprland config split into focused files: monitors.conf, keybinds.conf, look-and-feel.conf, and more. Easy to maintain.

🖌️

Custom Theme Creator

Pick a background and up to 8 accent colors — every other color is derived automatically. Save, edit, and delete your own themes right from the grid.

🗂️

Configurable Dock

Pinned app launcher with adjustable screen edge, alignment, and window behavior (always on top, dodge, auto-hide) — independent of the bar.

A thoughtfully assembled stack

Each component is chosen for quality, theme compatibility, and seamless integration with the rest of the system.

🖥️
Desktop Framework

Quickshell

A modern QML-based desktop environment shell by outfoxxed. Drives the bar, all widgets, panels, and drawers with smooth animations and live property bindings.

QML Wayland Live Updates
⚡
Wayland Compositor

Hyprland

Dynamic tiling Wayland compositor by Vaxry. Handles windows, workspaces, animations, keybinds, and effects. Configured through modular .conf files.

Tiling Animations Glass Borders
🐱
Terminal Emulator

Kitty

GPU-accelerated terminal with full theme sync. Colors update automatically with each theme switch. Supports the kitty graphics protocol for fastfetch logo rendering.

Theme Sync GPU Accelerated
🔔
Notification Daemon

Mako

Wayland-native notification daemon fully themed to match your active palette — adjustable-opacity background, thin urgency-aware accent border, compositor blur, and themed progress bars.

Theme Sync Theme Sync
🔍
App Launcher + Clipboard

Wofi + Cliphist

Wofi provides the fuzzy-search application launcher and clipboard history GUI. Cliphist captures your clipboard history in the background, surfaced via SuperV.

Fuzzy Search Clipboard
🎵
Audio Stack

PipeWire + WirePlumber

Modern low-latency audio with PipeWire and WirePlumber session manager. Pavucontrol provides a graphical mixer. Volume controls integrate directly into the bar tray.

Low Latency Wayland Native
🎭
Icon Theme

Papirus Icons

Papirus icon theme with dynamic folder colors that automatically match your active accent color when you switch themes. Managed via papirus-folders.

Dynamic Colors Theme Sync
🌟
Shell Prompt

Starship

Cross-shell prompt with a YahrShell configuration that matches your theme's accent colors. Color-only updates preserve your custom glyphs and segments.

Theme Sync Cross-Shell
📸
Screenshot Tool

Hyprshot + Grim

Multi-mode screenshot widget accessible via SuperPrtScrn. Supports region, window, and fullscreen capture with configurable save path and format.

Multi-Mode GUI Widget
🔐
Display Manager

SDDM (optional)

Custom SDDM theme that syncs colors and wallpaper with your system theme. Installing creates a minimal sudoers rule for passwordless sync — can be skipped if preferred.

Theme Sync Optional

13 handcrafted themes

Switch instantly with SuperT. Every color is propagated to Hyprland, GTK, Kitty, Firefox, Neovim, SDDM, and more within seconds.

The theme system is fully unified. A single switch-theme.sh call updates Hyprland border colors, GTK theme, Kitty terminal colors, Firefox userChrome, Neovim colorscheme, SDDM login screen, Hyprlock lock screen, Mako notification styling, Starship prompt, Papirus icon folder colors, and fastfetch display — while preserving all your personal settings like rounding, border thickness, and workspace style.

Click any theme below to preview it.

👆 Click a theme above to preview it

From minimal Arch to full desktop

All you need is a minimal Arch Linux installation, an internet connection, and git. The installer does everything else.

1

Prerequisites

Required

Start from a minimal Arch Linux installation (base system is all you need). The installer detects and handles everything else automatically.

bash — prerequisites
# Make sure git is installed — that's the only hard requirement
[user@arch ~]$ sudo pacman -S git
# Verify your Arch base is up to date
[user@arch ~]$ sudo pacman -Syu

Minimum requirements: Fresh or existing Arch Linux install · Internet connection · git

2

Clone the Repository

Required

Clone YahrShell from GitHub and enter the project directory.

bash — clone
[user@arch ~]$ git clone https://github.com/bgibson72/yahr-quickshell.git
Cloning into 'yahr-quickshell'...
remote: Enumerating objects: done.
[user@arch ~]$ cd yahr-quickshell
3

Run the Installer

Required

The installer script handles everything: GPU driver detection, AUR helper installation, complete graphics stack (Wayland, Mesa, Vulkan, Qt5/Qt6), all desktop components, and your configurations.

bash — install.sh
[user@arch yahr-quickshell]$ ./install.sh
___ ___ ___ ___ ___
/\ \ /\ \/\ \/\ \ /\ \
\ \ \\ \ \_\ \\_\ \\ \ \
\ \ \\ \ ____\\ \ \\ \ \
\ \__\\ \__\ \ \__\\ \__\
\/__/ \/__/ \/__/ \/__/
YahrShell Installer — Yet Another Hyprland Rice
Detecting GPU hardware...
✓ NVIDIA GPU detected — will install nvidia-dkms
4

Choose Your Install Mode

Choose One

The installer offers two modes. Normal is recommended for first-time users who want control over their choices.

🎛️ Normal Mode Recommended

Interactive prompts let you make every decision.

  • Choose AUR helper (yay / paru)
  • Select NVIDIA driver type
  • Pick optional apps (Neovim, Vesktop, Firefox…)
  • Choose whether to install SDDM

⚡ YOLO Mode

Fully automated, zero prompts.

  • Auto-installs yay as AUR helper
  • Selects proprietary NVIDIA drivers
  • Skips all optional components
  • Perfect for scripts and VM installs
bash — YOLO mode
# Unattended one-liner
[user@arch yahr-quickshell]$ ./install.sh --yolo
5

Full vs. Minimal Install

Choose One

In Normal mode you'll also choose between a Full install (all core components + optional applications) or a Minimal install (core desktop only).

🎯 Full Install

  • Quickshell + Hyprland
  • Kitty + Mako + Wofi
  • PipeWire audio stack
  • Thunar file manager
  • Firefox browser
  • SDDM display manager
  • All GPU drivers
  • Papirus icons + fonts
  • Neovim, Vesktop, VSCodium

🪶 Minimal Install

  • Quickshell + Hyprland
  • Kitty terminal
  • Mako notifications
  • GPU drivers (auto)
  • Core fonts
  • No optional apps
6

Reboot & Enjoy!

Final Step

After the installer completes, reboot to apply GPU driver changes, then log in and launch Hyprland. YahrShell starts automatically.

bash — reboot
✓ Installation complete!
[user@arch yahr-quickshell]$ sudo reboot
# After reboot, log in and start Hyprland:
[user@arch ~]$ Hyprland
🎉 Welcome to YahrShell!

Switch themes with SuperT · Open settings with SuperShiftS · Launch apps with SuperA

See it in action

All 13 themes, custom theming, widget panels, the dock, bar styles, and the SDDM login screen. Click any image to expand.

Key bindings

The most important shortcuts to get you up and running. Full keybind list in hypr/keybinds.conf.

App Launcher
Fuzzy search all installed apps
Super+A
Theme Switcher
Visual theme selector overlay
Super+T
Calendar & Weather
Calendar with events + weather tab
Super+C
System Monitor
CPU, RAM, disk, temp gauges
Super+Shift+C
Screenshot
Multi-mode screenshot widget
Super+PrtScrn
Settings
Full YAHR settings panel (7 tabs)
Super+Shift+S
Wallpaper Picker
Browse & set wallpaper
Super+Shift+W
Clipboard History
Browse clipboard via Wofi
Super+V
Terminal
Open Kitty terminal
Super+Return
Close Window
Kill the focused window
Super+Q
Switch Workspace
Jump to workspace 1–9
Super+1–9
Float Toggle
Toggle window floating mode
Super+F

Common issues & fixes

Solutions to the most frequently encountered problems. If your issue isn't here, open a GitHub ticket.

Common Quickshell won't start / shows a blank screen
▾

The best way to diagnose is to launch Quickshell from a terminal so you can see the full error output.

  • Run quickshell directly in a terminal and read the error message carefully.
  • Verify it's installed: which quickshell (should return a path like /usr/bin/quickshell).
  • Try replacing the running instance: quickshell --replace &
  • Check the Quickshell config directory exists: ls ~/.config/quickshell/
  • If Hyprland-related, ensure WAYLAND_DISPLAY and HYPRLAND_INSTANCE_SIGNATURE are set.
Common A package is missing / install.sh failed partway through
▾

Install failures are usually caused by a temporary network issue, a changed AUR package URL, or a pacman database lock.

  • Remove any pacman lock: sudo rm /var/lib/pacman/db.lck
  • Update the package database: sudo pacman -Sy
  • Re-run the installer — it is mostly idempotent and skips already-installed packages.
  • For a specific missing package: sudo pacman -S <package> or yay -S <aur-package>
  • If mirrors are slow, refresh: sudo reflector --latest 10 --save /etc/pacman.d/mirrorlist
GPU NVIDIA: black screen, graphical glitches, or Wayland won't start
▾

NVIDIA on Wayland requires specific kernel parameters and module configuration. The installer sets these up automatically, but here's what to check if something's off.

  • Verify drivers: nvidia-smi should show your GPU. If not, the driver isn't loaded.
  • Check /etc/mkinitcpio.conf — MODULES should include nvidia nvidia_modeset nvidia_uvm nvidia_drm.
  • Rebuild initramfs: sudo mkinitcpio -P then reboot.
  • Check kernel parameters: cat /proc/cmdline — look for nvidia-drm.modeset=1.
  • Check LIBVA_DRIVER_NAME, GBM_BACKEND, and __GLX_VENDOR_LIBRARY_NAME env vars in hypr/variables.conf.
Theme Theme switch didn't apply / colors look wrong after switching
▾

Some applications need a restart to pick up new theme colors. Others sync live.

  • Wait 30–45 seconds — some syncs (GTK, Kitty, Hyprlock) happen sequentially in the background.
  • Kitty and Thunar require a restart to apply new colors.
  • Check ~/.config/hypr/.current-theme to see what theme is active.
  • Inspect ~/.config/quickshell/settings.json — the theme field should match.
  • Re-run the theme sync manually: ~/.config/quickshell/switch-theme.sh Catppuccin
  • Restart Quickshell: quickshell --replace &
SDDM SDDM login screen isn't updating with the theme
▾

SDDM sync requires a sudoers rule created during installation. If you skipped SDDM installation, this rule won't exist.

  • Check the sudoers rule exists: sudo cat /etc/sudoers.d/sddm-sync-yahr
  • Manually trigger sync: ~/.config/quickshell/sync-sddm-theme.sh
  • Test the SDDM theme without logging out: sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/yahr-theme
  • Ensure /usr/share/sddm/themes/yahr-theme/ exists and is owned correctly.
Wallpaper Wallpaper shows as black / won't load after reboot
▾

YahrShell uses awww (not swww) as the wallpaper daemon. Make sure it's installed and that the last wallpaper path is valid.

  • Check awww is installed: which awww
  • Check the saved wallpaper path: cat ~/.config/quickshell/last-wallpaper
  • Verify the file exists at that path.
  • Start the daemon manually: awww-daemon & then awww img <path>
  • The daemon is auto-started via hypr/autostart.conf — check that file if it's not starting on login.
Audio No sound / audio devices not showing up
▾

Audio is handled by PipeWire + WirePlumber. Check if the user services are running.

  • Check status: systemctl --user status pipewire pipewire-pulse wireplumber
  • Start if not running: systemctl --user start pipewire pipewire-pulse wireplumber
  • Enable on login: systemctl --user enable pipewire pipewire-pulse wireplumber
  • Open Pavucontrol (pavucontrol) to verify devices are listed.
  • Check wpctl status for WirePlumber device enumeration.
General GTK apps (Thunar, Firefox) are using the wrong or light theme
▾

GTK theme sync uses gsettings and settings.ini. Apps need to be restarted to pick up changes.

  • Run GTK sync manually: ~/.config/quickshell/sync-gtk-theme.sh
  • Verify active GTK theme: gsettings get org.gnome.desktop.interface gtk-theme
  • Use nwg-look to apply and test GTK themes interactively.
  • Restart Thunar fully: thunar -q && thunar &
  • Firefox uses userChrome.css — sync via ~/.config/quickshell/sync-firefox-theme.sh

🐛 Still stuck? Open a GitHub Issue

The YahrShell community is happy to help. When filing an issue, please include the following so we can diagnose quickly:

Your GPU model and driver version
Arch Linux / kernel version (uname -r)
The exact error message or output
Steps to reproduce the problem
Contents of relevant config files
Quickshell / Hyprland version (quickshell --version)
Whether you used YOLO or Normal install mode
Screenshot or screen recording if visual