Omarchy 3.8 Guide
Omarchy is a beautiful, modern, opinionated Linux distribution by DHH, built on Arch Linux with the Hyprland Wayland compositor.
Architecture
| Layer | Component | Config Location |
|---|---|---|
| Base OS | Arch Linux | /etc/, ~/.config/ |
| Display server | Hyprland (Wayland) | ~/.config/hypr/ |
| Bar | Waybar | ~/.config/waybar/ |
| Launcher | Walker | ~/.config/walker/ |
| Notifications | Mako | ~/.config/mako/ |
| Terminal | Alacritty / Foot / Kitty / Ghostty | ~/.config/<terminal>/ |
| Shell | zsh with starship prompt | ~/.config/starship.toml |
File system layout
~/.local/share/omarchy/ # READ-ONLY — system defaults, never edit here
├── bin/ # omarchy command scripts
├── config/ # Default config templates for waybar, walker, etc.
├── themes/ # Stock theme files
├── default/ # Hyprland default configs
│ └── hypr/ # autostart, bindings, envs, input, looknfeel, windows
├── migrations/ # Version migrations
└── install/ # Installation scripts
~/.config/ # SAFE TO EDIT — user configuration
├── hypr/
│ ├── hyprland.conf # Main config (sources defaults + overrides)
│ ├── monitors.conf # Display/monitor setup
│ ├── input.conf # Keyboard, mouse, touchpad
│ ├── bindings.conf # Custom keybindings
│ ├── looknfeel.conf # Gaps, borders, animations, opacity
│ ├── autostart.conf # Startup applications
│ ├── hypridle.conf # Idle/lock/suspend
│ ├── hyprlock.conf # Lock screen appearance
│ └── hyprsunset.conf # Night light
├── waybar/
│ ├── config.jsonc # Bar layout and modules
│ └── style.css # Bar styling
├── walker/
│ └── config.toml # App launcher config
├── mako/
│ └── config # Notification daemon config
├── omarchy/
│ ├── themes/<name>/ # Custom themes
│ └── hooks/ # Automation hooks
└── <terminal>/
└── <config> # Terminal config
The omarchy CLI
The single omarchy command dispatches to all sub-commands. Use --help freely.
omarchy --help # Full command list
omarchy commands # All commands + descriptions
omarchy <group> --help # Commands in a group
omarchy <group> <action> --help # Specific command help
omarchy commands --json # Machine-readable listing
Command groups
| Group | Purpose | Common commands |
|---|---|---|
omarchy theme |
Theme management | list, current, set, bg next, install |
omarchy refresh |
Reset configs | waybar, hyprland, walker, config <path> |
omarchy restart |
Restart services | waybar, hyprctl, terminal, walker, mako |
omarchy toggle |
Toggle features | nightlight, touchpad, waybar, idle, screensaver, suspend |
omarchy install |
Install software | browser, dev-env, terminal, gaming, vscode, zed, helix, tailscale, nordvpn |
omarchy launch |
Launch apps | browser, editor, walker, floating terminal with presentation, or focus |
omarchy capture |
Screenshots/recordings | screenshot, screenrecord |
omarchy system |
System control | lock, logout, reboot, shutdown, wake |
omarchy pkg |
Package management | add, aur add, drop, install, remove |
omarchy update |
System updates | -y, firmware, perform |
omarchy menu |
Interactive menus | keybindings, file, input, select |
omarchy setup |
Initial configuration | dns, security fingerprint, security fido2 |
omarchy snapshot |
System snapshots | create, restore |
omarchy voxtype |
Dictation | install, remove, config, model, status |
omarchy webapp |
Web app management | install, remove, handler |
omarchy tui |
TUI launcher management | install, remove |
omarchy hw |
Hardware detection | intel, nvidia, touchpad, touchscreen, hybrid gpu, match |
omarchy reminder |
Desktop reminders | <minutes> [message], show, clear |
omarchy share |
LocalSend sharing | clipboard, file, folder |
omarchy swayosd |
On-screen display | brightness, kbd brightness, client |
omarchy sudo |
Sudo management | keepalive, passwordless, reset |
omarchy powerprofiles |
Power management | list, set, init |
omarchy migrate |
Run pending migrations | (no subcommands) |
Command helpers
omarchy notification send <glyph> <headline> [description] # Send a desktop notification
omarchy show done # "Done!" spinner
omarchy show logo # Print Omarchy logo
omarchy debug --no-sudo --print # Debug info (always use these flags)
Themes
Available themes (19 stock)
Catppuccin, Catppuccin Latte, Ethereal, Everforest, Flexoki Light, Gruvbox, Hackerman, Kanagawa, Lumon, Matte Black, Miasma, Nord, Osaka Jade, Retro 82, Ristretto, Rose Pine, Tokyo Night, Vantablack, White
Commands
omarchy theme list # List available themes
omarchy theme current # Show current theme
omarchy theme set "Tokyo Night" # Apply a theme (use display name)
omarchy theme bg next # Cycle wallpaper
omarchy theme bg set ~/image.png # Set specific wallpaper
omarchy theme bg install # Open theme's background folder
omarchy theme install <url> # Install theme from git repo
omarchy theme update # Update all git-installed themes
omarchy theme remove <name> # Remove a user-installed theme
omarchy theme refresh # Re-apply current theme from templates
Making a custom theme
# 1. Create a theme directory
mkdir -p ~/.config/omarchy/themes/my-custom-theme
# 2. Copy an existing theme as reference
ls ~/.local/share/omarchy/themes/tokyo-night/
# 3. Add wallpapers
# Download images into ~/.config/omarchy/themes/my-custom-theme/
# 4. Apply it
omarchy theme set "my-custom-theme" # Uses directory name
Theme hooks
Run custom scripts automatically when the theme changes:
# Create the hooks directory
mkdir -p ~/.config/omarchy/hooks
# Create a theme-set hook
cat > ~/.config/omarchy/hooks/theme-set << 'EOF'
#!/bin/bash
THEME_NAME=$1
echo "Theme changed to: $THEME_NAME"
# Add your custom actions here
EOF
chmod +x ~/.config/omarchy/hooks/theme-set
Other available hooks: font-set (runs after font change), post-update (runs after omarchy update).
Keybindings
Default modifier: SUPER (Windows/Command key)
Hyprland keybindings use bindd (bound with description — appears in the keybinding menu) and bind. Learn the grammar:
bind[d] = <MODIFIERS>, <KEY>, [DESCRIPTION], <ACTION>
Application launchers (SUPER + SHIFT + KEY)
| Key | App |
|---|---|
Return |
Terminal (in cwd) |
F |
File manager (Nautilus) |
B |
Browser |
M |
Music (Spotify) |
N |
Editor ($EDITOR) |
D |
Docker (lazydocker TUI) |
G |
Signal |
O |
Obsidian |
W |
Typora |
/ |
Passwords (1Password) |
A |
ChatGPT web app |
C |
Calendar web app |
E |
Email web app |
Y |
YouTube web app |
P |
Google Photos web app |
X |
X / Twitter web app |
Variants: add ALT for alternative apps (e.g. SUPER + SHIFT + ALT + A = Grok, SUPER + SHIFT + ALT + M = Music TUI, SUPER + SHIFT + ALT + G = WhatsApp, SUPER + SHIFT + CTRL + G = Google Messages, SUPER + SHIFT + ALT + X = X Post composer).
Window management
| Key | Action |
|---|---|
SUPER + Q |
Close active window |
SUPER + F |
Toggle fullscreen |
SUPER + V |
Toggle floating |
SUPER + P |
Toggle pin (always on top) |
SUPER + J |
Toggle split direction |
SUPER + Space |
Toggle layout (dwindle ↔ master) |
SUPER + Z |
Toggle window group (tab) |
SUPER + . |
Toggle group toggles |
SUPER + TAB |
Cycle through windows |
SUPER + arrows / hjkl |
Navigate focus between windows |
SUPER + SHIFT + arrows / hjkl |
Move window in direction |
SUPER + 1-9 |
Switch workspace by number |
SUPER + SHIFT + 1-9 |
Move window to workspace |
SUPER + mouse scroll |
Cycle through workspaces |
SUPER + SHIFT + mouse scroll |
Move window to workspace |
SUPER + S |
Toggle scratchpad (overview of minimised windows) |
SUPER + Backspace |
Toggle split ratio |
Resizing
| Key | Action |
|---|---|
SUPER + L |
Enter/exit resize mode |
| In resize mode: arrows/hjkl | Resize by 10px |
SUPER + SHIFT + arrows |
Resize by 10px (no mode) |
SUPER + SHIFT + R |
Reset window size |
Media and volume
| Key | Action |
|---|---|
XF86AudioRaiseVolume / XF86AudioLowerVolume |
Volume up/down (swayosd) |
XF86AudioMute |
Mute toggle (swayosd) |
XF86AudioMicMute |
Mic mute toggle |
XF86AudioPlay / XF86AudioPause / XF86AudioNext / XF86AudioPrev |
Media controls |
SUPER + SHIFT + V |
Volume mixer (wireplumber) |
Brightness
| Key | Action |
|---|---|
XF86MonBrightnessUp / XF86MonBrightnessDown |
Display brightness (swayosd) |
XF86KbdBrightnessUp / XF86KbdBrightnessDown |
Keyboard brightness (swayosd) |
System
| Key | Action |
|---|---|
SUPER + Escape |
Lock screen |
SUPER + SHIFT + Q |
Log out |
SUPER + SHIFT + Escape |
Power menu (lock/logout/reboot/shutdown) |
SUPER + Space (with Walker) |
Omarchy Menu — search everything (apps, settings, commands) |
SUPER + SHIFT + T |
Toggle touchpad |
SUPER + SHIFT + U |
Toggle night light |
SUPER + SHIFT + I |
Toggle idle locking |
SUPER + SHIFT + W |
Toggle waybar |
SUPER + Return |
Terminal |
SUPER + SHIFT + S |
Screenshot region |
SUPER + SHIFT + ALT + S |
Full screenshot |
SUPER + SHIFT + R |
Screen recording (region) |
SUPER + SHIFT + ALT + R |
Screen recording (full) |
Window groups (tabbed)
| Key | Action |
|---|---|
SUPER + G |
Toggle group |
SUPER + SHIFT + G |
Lock/unlock group |
SUPER + TAB |
Next window in group |
SUPER + SHIFT + TAB |
Previous window in group |
Mouse
| Action | Behaviour |
|---|---|
| Click window | Focus |
SUPER + click |
Move floating window |
SUPER + right-click |
Resize floating window |
SUPER + scroll |
Cycle workspaces |
SUPER + SHIFT + scroll |
Move window to workspace |
| Double-click titlebar | Toggle maximize |
Customising bindings
Edit ~/.config/hypr/bindings.conf:
# Add a new binding
bind = SUPER, E, exec, nautilus
# Override an existing binding — always unbind first
unbind = SUPER, F
bind = SUPER, F, exec, my-other-file-manager
View current bindings: omarchy menu keybindings --print
Hyprland configuration
Config loading order
~/.local/share/omarchy/default/hypr/* ← System defaults (read-only)
~/.config/omarchy/current/theme/hyprland.conf ← Current theme overrides
~/.config/hypr/monitors.conf ← Your monitor setup
~/.config/hypr/input.conf ← Your input settings
~/.config/hypr/bindings.conf ← Your keybindings
~/.config/hypr/looknfeel.conf ← Your appearance tweaks
~/.config/hypr/autostart.conf ← Your startup apps
~/.local/state/omarchy/toggles/hypr/*.conf ← Dynamic toggles
Important config files in ~/.config/hypr/
| File | Purpose | Key settings |
|---|---|---|
monitors.conf |
Display configuration | Resolution, refresh rate, position, scale, enable/disable |
input.conf |
Keyboard, mouse, touchpad | Layout, repeat rate, touchpad speed, natural scroll |
bindings.conf |
Custom keybindings | Application shortcuts, workspace binds |
looknfeel.conf |
Appearance | Gaps, border size, border colour, blur, opacity, animations |
autostart.conf |
Startup apps | Apps to launch on login |
hypridle.conf |
Idle behaviour | Timeouts for lock, dpms off, suspend |
hyprlock.conf |
Lock screen | Background, clock, colours |
hyprsunset.conf |
Night light | Temperature shift, schedule |
Managing configs
# Validate config after changes
hyprctl reload && hyprctl configerrors
# Reset specific config to defaults (backs up first)
omarchy refresh config hypr/hyprland.conf
# Reset all Hyprland configs
omarchy refresh hyprland
# Quick reload after edit
omarchy restart hyprctl
Window rules
Rules go in ~/.config/hypr/hyprland.conf or a sourced file. Always check the Hyprland Window Rules wiki for current syntax before writing rules — the format changes between versions.
Waybar
The status bar sits at the top of the screen by default.
Default modules
┌─────────────────────────────────────────────────────────────────────┐
│ ◆ │ 1 2 3 4 Mon 12:00 ☀ 12° ⬆ │
└─────────────────────────────────────────────────────────────────────┘
| Section | Modules |
|---|---|
| Left | Omarchy logo, workspace indicators |
| Centre | Clock, weather, update indicator, voxtype, recording indicator, idle/notification toggles |
| Right | Tray expander, bluetooth, network, volume, CPU, battery |
Managing Waybar
omarchy restart waybar # Apply config/style changes
omarchy refresh waybar # Reset to defaults
omarchy toggle waybar # Show/hide
Edit ~/.config/waybar/config.jsonc for layout, ~/.config/waybar/style.css for colours/fonts.
Walker (app launcher)
Walker serves as both the Omarchy Menu and a general application launcher.
omarchy launch walker # Open launcher (Super + Space)
omarchy restart walker # Apply config changes
omarchy refresh walker # Reset to defaults
Config: ~/.config/walker/config.toml
Toggles
Omarchy uses flag files in ~/.local/state/omarchy/toggles/ to enable/disable features.
omarchy toggle nightlight # Blue light filter on/off
omarchy toggle idle # Auto-lock on/off
omarchy toggle touchpad # Touchpad on/off
omarchy toggle touchscreen # Touch input on/off
omarchy toggle waybar # Bar visibility
omarchy toggle screensaver # Screensaver availability
omarchy toggle suspend # Suspend in system menu
omarchy toggle notification silencing # Do-not-disturb
omarchy toggle hybrid gpu # Switch GPU mode (hybrid laptops)
# Custom toggles
omarchy toggle <flag-name> # Create your own
omarchy toggle enabled <name> # Check if enabled
omarchy toggle disabled <name> # Check if disabled
# Hyprland-specific
omarchy hyprland toggle <flag> # Toggle permanent Hyprland flags
omarchy hyprland window gaps toggle # Toggle all gaps on/off
omarchy hyprland window transparency toggle # Toggle active window transparency
System management
omarchy update # Full system update
omarchy update -y # Non-interactive update
omarchy update firmware # Update firmware via fwupd
omarchy update analyze logs # Check update logs for issues
omarchy system lock # Lock screen immediately
omarchy system logout # Log out
omarchy system reboot # Reboot
omarchy system shutdown # Shut down
omarchy system wake # Wake displays after idle
omarchy setup dns # Configure DNS
omarchy setup security fingerprint # Fingerprint auth
omarchy setup security fido2 # FIDO2 auth
omarchy snapshot create # System snapshot (snapper)
omarchy snapshot restore # Restore snapshot
Package management
omarchy pkg add <packages...> # Install Arch packages
omarchy pkg aur add <packages...> # Install AUR packages
omarchy pkg drop <packages...> # Remove packages
omarchy pkg install # Interactive TUI picker
omarchy pkg missing <packages...> # Check if not installed
omarchy pkg present <packages...> # Check if installed
Installing software
Omarchy has dedicated install commands for common software:
omarchy install browser firefox # Install Firefox
omarchy install browser chrome # Install Chrome
omarchy install terminal ghostty # Install Ghostty terminal
omarchy install dev-env node # Node.js development environment
omarchy install dev-env rust # Rust toolchain
omarchy install dev-env python # Python + tools
omarchy install vscode # VS Code with Omarchy theme
omarchy install zed # Zed editor
omarchy install helix # Helix editor
omarchy install gaming steam # Steam + graphics drivers
omarchy install gaming heroic # Heroic Games Launcher
omarchy install gaming lutris # Lutris + Wine
omarchy install gaming retroarch # RetroArch + libretro cores
omarchy install tailscale # Tailscale VPN
omarchy install nordvpn # NordVPN
omarchy install docker dbs # Docker database containers
omarchy install dropbox # Dropbox daemon
omarchy install once # ONCE service
omarchy setup security fingerprint # Fingerprint auth
omarchy setup security fido2 # FIDO2 auth
Hardware detection
omarchy hw intel # Is CPU Intel?
omarchy hw nvidia gsp # NVIDIA GPU with GSP?
omarchy hw hybrid gpu # Hybrid GPU active?
omarchy hw touchpad # Print touchpad device name
omarchy hw touchscreen # Print touchscreen device name
omarchy hw match "XPS" # Match DMI product name
omarchy hw external monitors # External monitor connected?
Capture (screenshots/recording)
omarchy capture screenshot # Full screen
omarchy capture region # Region select
omarchy capture screenrecording # Record region
omarchy capture full screenrecording # Record full screen
Aliases: omarchy screenshot, omarchy screenrecord.
Web apps and TUIs
Omarchy treats web apps and TUI applications as first-class citizens with desktop launchers:
# Install a web app
omarchy webapp install "My App" "https://example.com" "icon-name"
# Install a TUI launcher
omarchy tui install "htop" "uwsm-app -- xdg-terminal-exec htop"
# Remove
omarchy webapp remove "My App"
omarchy tui remove "htop"
Reminders
omarchy reminder 15 "Pick up Jack" # 15-minute reminder
omarchy reminder show # List pending reminders
omarchy reminder clear # Clear all reminders
Mako (notifications)
omarchy restart mako # Apply config changes
omarchy toggle notification silencing # Do-not-disturb mode
Config: ~/.config/mako/config
Fonts
omarchy font list # Available fonts
omarchy font current # Current font
omarchy font set "JetBrains Mono" # Change font
Network
omarchy launch wifi # Wi-Fi TUI (Impala)
omarchy launch bluetooth # Bluetooth TUI (bluetui)
omarchy restart wifi # Restart Wi-Fi
omarchy restart bluetooth # Restart Bluetooth
omarchy wifi powersave on # Toggle Wi-Fi power saving
Audio
omarchy launch audio # Audio controls TUI (wiremix)
omarchy restart pipewire # Restart audio (fix issues)
Night light
omarchy toggle nightlight # Toggle on/off
omarchy restart hyprsunset # Apply config changes
omarchy refresh hyprsunset # Reset to defaults
Config: ~/.config/hypr/hyprsunset.conf
Idle and lock
omarchy toggle idle # Enable/disable auto-lock
omarchy system lock # Lock immediately
omarchy restart hypridle # Apply config changes
Config: ~/.config/hypr/hypridle.conf (idle timeouts), ~/.config/hypr/hyprlock.conf (lock screen appearance).
Troubleshooting
# Debug info (always use --no-sudo --print to avoid prompts)
omarchy debug --no-sudo --print
# Check Hyprland config for errors
hyprctl reload && hyprctl configerrors
# Upload logs for support
omarchy upload log
# Reset specific component to defaults (backs up current)
omarchy refresh waybar
omarchy refresh hyprland
omarchy refresh config hypr/hyprlock.conf
# Full reset of all Omarchy configs
omarchy reinstall configs
# Nuclear option — reinstall everything
omarchy reinstall
Version info
omarchy version # Omarchy version
omarchy version branch # Git branch
omarchy version channel # Package channel
omarchy version pkgs # Last package upgrade time
Quick reference
# Daily use
omarchy theme set "Tokyo Night" # Change theme
omarchy theme bg next # Next wallpaper
omarchy toggle nightlight # Night light
omarchy toggle touchpad # Touchpad
omarchy update # System update
omarchy system lock # Lock screen
# After config edits
omarchy restart waybar # Apply Waybar changes
hyprctl reload && hyprctl configerrors # Apply + validate Hyprland changes
omarchy restart terminal # Apply terminal changes
# Finding things
omarchy menu keybindings # Search keybindings
omarchy launch walker # App launcher (Super + Space)
# Getting help
omarchy --help # All commands
omarchy <command> --help # Specific command help