Project Layout: config/

Omarchy’s config/ directory houses default application and desktop-environment configurations. These files are deployed to the user’s ~/.config (or respective system directories) during installation, providing out-of-the-box theming integration and sensible Hyprland defaults.


Index


Overview

Omarchy ships a curated set of default configs that:

  • Integrate with the active Omarchy theme.
  • Source core Hyprland defaults, allowing safe user overrides.
  • Ensure immediate, consistent look-and-feel across applications.

Directory Structure

flowchart TB
  A[config/]
  A --> B(alacritty/)
  A --> C(brave-flags.conf)
  A --> D(btop/)
  A --> E(fastfetch/)
  A --> F(hypr/)
  A --> G(waybar/)
  A --> H(swayosd/)
  A --> I(walker/)
  A --> J(systemd/)
  A --> K(uwsm/)
Path Description
config/alacritty/ Alacritty terminal defaults; imports current theme.
config/brave-flags.conf Flags to run Brave under Wayland.
config/btop/ btop++ TUI defaults; uses theme “current”.
config/fastfetch/ Fastfetch JSONC config.
config/hypr/ Core Hyprland configs sourcing Omarchy defaults.
config/waybar/ Waybar JSONC layout, modules, theming.
config/swayosd/ SwayOSD style and config.
config/walker/ Walker launcher defaults.
config/systemd/user/ User-level systemd services & timers.
config/uwsm/ UWSM environment file.

Default Application Configs

Alacritty

Omarchy’s Alacritty config delegates colors, fonts, and padding to the active theme.

# config/alacritty/alacritty.toml
general.import = [ "~/.config/omarchy/current/theme/alacritty.toml" ]
...
  • Imports: ~/.config/omarchy/current/theme/alacritty.toml
  • Fonts: CaskaydiaMono Nerd Font
  • Window: No decorations, custom padding

Brave

Ensures Brave runs under Wayland with necessary feature flags.

# config/brave-flags.conf
--ozone-platform=wayland
--ozone-platform-hint=wayland
--enable-features=TouchpadOverscrollHistoryNavigation
  • Enables Wayland Ozone backend
  • Improves touchpad behavior under Wayland

btop

Sets btop++ to use the current Omarchy theme and enable truecolor.

# config/btop/btop.conf
color_theme = "current"
truecolor = True
...
  • Themes: Sourced from ~/.config/btop/themes with name current
  • Layout: User-customizable box presets

Default Desktop Environment Configs

Hyprland

Omarchy’s Hyprland configs are modular. The main file sources:

  1. Core defaults (never edited):
    • ~/.local/share/omarchy/default/hypr/*.conf
  2. Current theme overrides:
    • ~/.config/omarchy/current/theme/hyprland.conf
  3. User overrides under ~/.config/hypr/
# config/hypr/hyprland.conf
source = ~/.local/share/omarchy/default/hypr/autostart.conf
...
source = ~/.config/omarchy/current/theme/hyprland.conf
# Then:
source = ~/.config/hypr/monitors.conf
...
  • Safety: Core defaults remain intact; user files can override
  • Extensibility: Add custom bindings, envs, and autostart entries

Waybar

Defines status bar layout, modules, and click actions.

// config/waybar/config.jsonc
{
  "modules-left": ["custom/omarchy", "hyprland/workspaces"],
  "modules-center": ["clock", "custom/update"],
  ...
}
  • Custom modules: omarchy-menu, update notifier
  • Hyprland integration: Workspace icons, click-to-switch

SwayOSD

Configures on-screen display for volume and brightness notifications.

# config/swayosd/config.toml
[server]
show_percentage = true
max_volume = 100
style = "./style.css"
  • Style: style.css in same folder
  • Volume cap: 100% by default

Walker

Launcher defaults for Omarchy’s app menu.

# config/walker/config.toml
theme = "omarchy-default"
hotreload_theme = true
[list]
max_entries = 200
  • Integrates with Hyprland keybindings
  • Context-aware app and bookmark entries

Systemd User Services

Battery monitoring is configured via a timer/service pair.

# config/systemd/user/omarchy-battery-monitor.service
[Service]
ExecStart=%h/.local/share/omarchy/bin/omarchy-battery-monitor

# config/systemd/user/omarchy-battery-monitor.timer
[Timer]
OnBootSec=1min
OnUnitActiveSec=30sec
  • Auto-start: Runs every 30 sec after boot
  • Notification: Alerts on low battery

UWSM Environment

Sets up Omarchy’s CLI environment for UWSM.

# config/uwsm/env
export OMARCHY_PATH=$HOME/.local/share/omarchy
export PATH=$OMARCHY_PATH/bin/:$PATH
export TERMINAL=alacritty
  • Shell integration for UWSM and custom commands

Deployment Mechanism

All config/ files are deployed by install/config/config.sh:

#!/bin/bash
mkdir -p ~/.config
cp -R ~/.local/share/omarchy/config/* ~/.config/
  • Atomic copy: Entire folder snapshot
  • Backup: Custom overrides in install/bin/omarchy-refresh-config back up previous versions before replacement

This mechanism ensures that Omarchy’s defaults land in the correct ~/.config paths, while still allowing safe refresh and manual edits.