# Omarchy System Defaults Location: Where Configuration Files Are Stored and How to Refresh Them

> Locate Omarchy system defaults in the default/ directory. Learn how the omarchy-refresh-config command copies configuration files to your home directory.

- Repository: [Omacom/omarchy](https://github.com/omacom/omarchy)
- Tags: how-to-guide
- Published: 2026-08-31

---

**Omarchy system defaults are stored in the `default/` directory at the repository root, which serves as the source of truth for all configuration files copied to user home directories via the `omarchy-refresh-config` command.**

Omarchy uses a refresh-based configuration model where built-in defaults live in version control and are selectively copied into `~/.config/` only when invoked. This design keeps the repository as the authoritative baseline while giving users full control over which defaults they adopt. Understanding where Omarchy system defaults are located is essential for customizing your desktop environment without losing the ability to revert to known-good configurations.

## The `default/` Directory Structure

The `default/` folder at the repository root contains reference implementations for every configurable Omarchy component. When you run `omarchy-refresh-config`, the tool resolves paths relative to `$OMARCHY_PATH` and copies files into your user configuration tree.

### Core Subdirectories

- **`default/hypr/`** — Hyprland window manager configuration written in Lua, including layouts, bindings, appearance, and runtime helpers
- **`default/omarchy/`** — Core Omarchy assets such as menu definitions and launcher configurations
- **`default/systemd/`** — Systemd unit overrides and sleep-hook scripts for shutdown behavior, zram settings, and hardware wake handling
- **`default/uwsm/`** — UW-SM session manager integration files with environment variable bootstrapping
- **`default/fonts/omarchy/`** — The bundled Omarchy icon font used by UI components

## Key Default Configuration Files

These specific files represent the most commonly referenced Omarchy system defaults:

| File Path | Purpose |
|-----------|---------|
| [`default/hypr/omarchy.lua`](https://github.com/omacom/omarchy/blob/main/default/hypr/omarchy.lua) | Central Hyprland configuration that loads other defaults |
| [`default/hypr/bindings.lua`](https://github.com/omacom/omarchy/blob/main/default/hypr/bindings.lua) | Default key-binding definitions for the window manager |
| `default/omarchy/omarchy-menu.jsonc` | Menu schema powering the Omarchy desktop UI |
| [`default/systemd/faster-shutdown.conf`](https://github.com/omacom/omarchy/blob/main/default/systemd/faster-shutdown.conf) | Systemd override reducing shutdown timeouts |
| `default/fonts/omarchy/omarchy.ttf` | Icon font for Omarchy interface elements |
| `default/uwsm/env.d/10-omarchy` | Environment bootstrap for UW-SM sessions |
| [`default/chromium/native-messaging-hosts/com.omarchy.copy_url.json`](https://github.com/omacom/omarchy/blob/main/default/chromium/native-messaging-hosts/com.omarchy.copy_url.json) | Chromium extension host registration |
| `default/xdg-terminal-exec/hyprland-xdg-terminals.list` | Terminal emulator list for XDG integration |
| `default/systemd/user@.service.d/faster-shutdown.conf` | Per-user systemd service override |

## Refreshing Defaults with `omarchy-refresh-config`

The `omarchy-refresh-config` command copies files from `default/` to your user configuration while backing up existing files. This is the primary mechanism for adopting or resetting Omarchy system defaults.

### Common Refresh Commands

```bash

# Copy Hyprland default configuration to ~/.config/hypr/hyprland.lua

omarchy-refresh-config hypr/hyprland.lua

# Refresh the Omarchy menu definition

omarchy-refresh-config omarchy/omarchy-menu.jsonc

# Refresh all defaults under the systemd subtree

omarchy-refresh-config systemd/

```

Each command performs three operations:

1. Locates the source file under `default/` relative to `$OMARCHY_PATH`
2. Creates a backup of any existing user file at the destination
3. Copies the default into the appropriate `~/.config/` subdirectory

## How Omarchy Resolves Default Paths

The refresh mechanism uses `$OMARCHY_PATH` to locate the repository root, then constructs source paths by prepending `default/` to your argument. For example:

```bash
omarchy-refresh-config hypr/omarchy.lua

# Reads from: $OMARCHY_PATH/default/hypr/omarchy.lua

# Writes to:  ~/.config/hypr/omarchy.lua

```

This resolution happens consistently across all Omarchy subsystems, ensuring that the `default/` directory remains the single source of truth for system-wide configuration baselines.

## Customizing Without Losing Defaults

Because Omarchy only copies files when explicitly refreshed, you can safely edit user configurations without repository conflicts. To revert a customized file to its original state:

```bash

# Restore a single file to its default

omarchy-refresh-config hypr/bindings.lua

# Backup is automatically created as: ~/.config/hypr/bindings.lua.backup

```

This workflow lets you experiment freely while maintaining an escape hatch to known-good configurations.

## Summary

- **Omarchy system defaults are located in the `default/` directory** at the repository root
- The **`omarchy-refresh-config`** command copies defaults into `~/.config/` on demand
- **`default/hypr/`** contains Hyprland Lua configurations; **`default/omarchy/`** holds core UI assets
- **`default/systemd/`** and **`default/uwsm/`** manage system services and session initialization
- Files are only overwritten when you explicitly refresh, making customization safe

## Frequently Asked Questions

### Where is the main Hyprland configuration stored in Omarchy?

The primary Hyprland configuration is [`default/hypr/omarchy.lua`](https://github.com/omacom/omarchy/blob/main/default/hypr/omarchy.lua). This file serves as the entry point that loads other Hyprland defaults including bindings, appearance settings, and runtime helpers. Refresh it with `omarchy-refresh-config hypr/omarchy.lua` to deploy the latest window manager defaults.

### What happens to my existing config when I run `omarchy-refresh-config`?

Omarchy automatically creates a `.backup` suffix copy of any existing user file before overwriting it. This preserves your customizations and allows manual restoration if needed. The backup is created in the same `~/.config/` subdirectory as the target file.

### Can I refresh multiple defaults at once?

Yes. Pass a directory path to `omarchy-refresh-config` to recursively process all files under that subtree. For example, `omarchy-refresh-config systemd/` refreshes all systemd overrides, sleep hooks, and service configurations in a single operation.

### How do I inspect defaults without installing them?

Browse the `default/` directory directly in the Omarchy repository. All files are plain text (Lua, JSONC, or systemd unit files) viewable in any editor or on GitHub. This lets you review configurations before deciding whether to adopt them via refresh.