Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
basecamp avatar

Omarchy

  • 370 installs
  • 24.3k repo stars
  • Updated August 4, 2026
  • basecamp/omarchy

omarchy is an agent skill from basecamp/omarchy that reproduces Basecamp's Arch Linux Omarchy developer workstation with shared Hyprland, shell, editor, and container defaults for consistent local builds.

About

omarchy is an agent skill from basecamp/omarchy required for end-user customization of a Basecamp-style Arch Linux desktop and developer workstation. It triggers when editing Hyprland, Waybar, Walker, Alacritty, Foot, Kitty, Ghostty, or Mako configs under ~/.config/, plus ~/.config/omarchy/ for themes, keybindings, monitors, gaps, blur, workspaces, and display settings. The skill excludes Omarchy source development in ~/.local/share/omarchy/ and `omarchy dev` workflows. Developers reach for omarchy when aligning agent-assisted Linux desktop changes with Basecamp's known environment so local builds and terminal sessions behave predictably across machines.

  • Opinionated Arch-based developer workstation from Basecamp
  • Dotfiles and shell conventions for reproducible local tooling
  • Editor and container parity across team machines
  • Cuts onboarding time for CLI-heavy development flows
  • Gives agents a predictable shell and tool baseline

Omarchy by the numbers

  • 370 all-time installs (skills.sh)
  • Ranked #150 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/basecamp/omarchy --skill omarchy

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs370
repo stars24.3k
Last updatedAugust 4, 2026
Repositorybasecamp/omarchy

How do you configure Omarchy Hyprland dev workstation?

Reproduce Basecamp's Omarchy Arch Linux dev workstation with shared shell, editor, and container defaults so local builds and agent sessions run on a known environment.

Who is it for?

Developers running Basecamp's Omarchy Arch Linux workstation who need agent help editing Hyprland, Waybar, or terminal configs safely.

Skip if: macOS or Windows environments, Omarchy source development under ~/.local/share/omarchy/, or application-level feature work unrelated to desktop infra.

When should I use this skill?

User edits ~/.config/hypr/, Waybar, Walker, terminal configs, omarchy themes, keybindings, monitors, or display settings on Arch Linux.

What you get

Updated Hyprland window rules, Waybar and terminal configs, omarchy theme settings, and consistent Arch Linux developer environment defaults.

  • Hyprland config updates
  • Terminal and Waybar configs
  • Omarchy theme and display settings

Files

SKILL.mdMarkdownGitHub ↗

Omarchy Skill

Manage Omarchy Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland.

This skill is for end-user customization on installed systems. It is not for contributing to Omarchy source code.

When This Skill MUST Be Used

ALWAYS invoke this skill for end-user requests involving ANY of these:

  • Editing ANY file in ~/.config/hypr/ (window rules, animations, keybindings, monitors, etc.)
  • Editing ANY file in ~/.config/waybar/, ~/.config/walker/, ~/.config/mako/
  • Editing terminal configs (alacritty, foot, kitty, ghostty)
  • Editing ANY file in ~/.config/omarchy/
  • Window behavior, animations, opacity, blur, gaps, borders
  • Layer rules, workspace settings, display/monitor configuration
  • Themes, backgrounds, fonts, appearance changes
  • User-facing omarchy commands (omarchy theme ..., omarchy refresh ..., omarchy restart ..., etc.)
  • Screenshots, screen recording, reminders, night light, idle behavior, lock screen

If you're about to edit a config file in ~/.config/ on this system, STOP and use this skill first.

Do NOT use this skill for Omarchy development tasks (editing files in ~/.local/share/omarchy/, creating migrations, or running omarchy dev ... workflows).

Critical Safety Rules

For end-user customization tasks, NEVER modify anything in `~/.local/share/omarchy/` - but READING is safe and encouraged.

This directory contains Omarchy's source files managed by git. Any changes will be:

  • Lost on next omarchy update
  • Cause conflicts with upstream
  • Break the system's update mechanism
~/.local/share/omarchy/     # READ-ONLY - NEVER EDIT (reading is OK)
├── bin/                    # Source scripts (symlinked to PATH)
├── config/                 # Default config templates
├── themes/                 # Stock themes
├── default/                # System defaults
├── migrations/             # Update migrations
└── install/                # Installation scripts

Reading `~/.local/share/omarchy/` is SAFE and useful - do it freely to:

  • Understand how omarchy commands work: omarchy theme set --help or cat $(which omarchy-theme-set)
  • See default configs before customizing: cat ~/.local/share/omarchy/config/waybar/config.jsonc
  • Check stock theme files to copy for customization
  • Reference default hyprland settings: cat ~/.local/share/omarchy/default/hypr/*

Always use these safe locations instead:

  • ~/.config/ - User configuration (safe to edit)
  • ~/.config/omarchy/themes/<custom-name>/ - Custom themes (must be real directories)
  • ~/.config/omarchy/hooks/ - Custom automation hooks

If the request is to develop Omarchy itself, this skill is out of scope. Follow repository development instructions instead of this skill.

System Architecture

Omarchy is built on:

ComponentPurposeConfig Location
Arch LinuxBase OS/etc/, ~/.config/
HyprlandWayland compositor/WM~/.config/hypr/
WaybarStatus bar~/.config/waybar/
WalkerApp launcher~/.config/walker/
Alacritty/Foot/Kitty/GhosttyTerminals~/.config/<terminal>/
MakoNotifications~/.config/mako/
SwayOSDOn-screen display~/.config/swayosd/

Command Discovery

Omarchy ships a single omarchy CLI that dispatches to all omarchy-* binaries via omarchy <group> <action>. Always prefer this form — it is self-documenting and stable. The underlying omarchy-* binaries still exist on PATH and remain safe to read for source.

# List every documented command and its summary
omarchy commands

# Show the commands inside a group
omarchy theme --help
omarchy refresh --help
omarchy restart --help

# Show help for a specific command (does not execute it)
omarchy theme set --help

# Machine-readable listing (binary, route, summary, args, aliases)
omarchy commands --json

# Read a command's source to understand it
cat $(which omarchy-theme-set)

Command Groups

Run omarchy --help for the full list. The most common groups:

GroupPurposeExample
omarchy refreshReset config to defaults (backs up first)omarchy refresh waybar
omarchy restartRestart a service/appomarchy restart waybar
omarchy toggleToggle feature on/offomarchy toggle nightlight
omarchy themeTheme managementomarchy theme set <name>
omarchy installInstall optional software / packagesomarchy install docker dbs
omarchy launchLaunch appsomarchy launch browser
omarchy captureScreenshots and recordingsomarchy capture screenshot
omarchy reminderDesktop notification remindersomarchy reminder 15 "Pickup Jack"
omarchy pkgPackage managementomarchy pkg install <pkg>
omarchy setupInitial setup tasksomarchy setup fingerprint
omarchy updateSystem updatesomarchy update

Configuration Locations

Hyprland (Window Manager)

~/.config/hypr/
├── hyprland.conf      # Main config (sources others)
├── bindings.conf      # Keybindings
├── monitors.conf      # Display configuration
├── input.conf         # Keyboard/mouse settings
├── looknfeel.conf     # Appearance (gaps, borders, animations)
├── envs.conf          # Environment variables
├── autostart.conf     # Startup applications
├── hypridle.conf      # Idle behavior (screen off, lock, suspend)
├── hyprlock.conf      # Lock screen appearance
└── hyprsunset.conf    # Night light / blue light filter

Key behaviors:

  • Hyprland auto-reloads on config save (no restart needed for most changes)
  • Use hyprctl reload to force reload
  • After ANY Hyprland config change, validate with hyprctl reload followed by hyprctl configerrors
  • If hyprctl configerrors reports errors, address them and rerun validation until clean or until a real blocker is identified
  • Use omarchy refresh hyprland to reset to defaults

Waybar (Status Bar)

~/.config/waybar/
├── config.jsonc       # Bar layout and modules (JSONC format)
└── style.css          # Styling

Waybar does NOT auto-reload. You MUST run omarchy restart waybar after any config changes.

Commands: omarchy restart waybar, omarchy refresh waybar, omarchy toggle waybar

Terminals

~/.config/alacritty/alacritty.toml
~/.config/foot/foot.ini
~/.config/kitty/kitty.conf
~/.config/ghostty/config

Command: omarchy restart terminal

Other Configs

AppLocation
btop~/.config/btop/btop.conf
fastfetch~/.config/fastfetch/config.jsonc
lazygit~/.config/lazygit/config.yml
starship~/.config/starship.toml
git~/.config/git/config
walker~/.config/walker/config.toml

Safe Customization Patterns

Pattern 1: Edit User Config Directly

For simple changes, edit files in ~/.config/:

# 1. Read current config
cat ~/.config/hypr/bindings.conf

# 2. Backup before changes
cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)

# 3. Make changes with Edit tool

# 4. Apply changes
# - Hyprland: auto-reloads on save, but MUST validate with `hyprctl reload` and `hyprctl configerrors`
# - Waybar: MUST restart with `omarchy restart waybar`
# - Walker: MUST restart with `omarchy restart walker`
# - Terminals: MUST restart with `omarchy restart terminal`

Pattern 2: Make a new theme

1. Create a directory under ~/.config/omarchy/themes. 2. See how an existing theme is done via ~/.local/share/omarchy/themes/catppuccin. 3. Download a matching background (or several) from the internet and put them in ~/.config/omarchy/themes/[name-of-new-theme] 4. When done with the theme, run omarchy theme set "Name of new theme"

Pattern 3: Use Hooks for Automation

Create scripts in ~/.config/omarchy/hooks/ to run automatically on events:

# Available hooks (see samples in ~/.config/omarchy/hooks/):
~/.config/omarchy/hooks/
├── theme-set        # Runs after theme change (receives theme name as $1)
├── font-set         # Runs after font change
└── post-update      # Runs after `omarchy update`

Example hook (~/.config/omarchy/hooks/theme-set):

#!/bin/bash
THEME_NAME=$1
echo "Theme changed to: $THEME_NAME"
# Add custom actions here

Pattern 4: Reset to Defaults -- ALWAYS SEEK USER CONFIRMATION BEFORE RUNNING

When customizations go wrong:

# Reset specific config (creates backup automatically)
omarchy refresh waybar
omarchy refresh hyprland

# The refresh command:
# 1. Backs up current config with timestamp
# 2. Copies default from ~/.local/share/omarchy/config/
# 3. Restarts the component

Common Tasks

Themes

omarchy theme list              # Show available themes
omarchy theme current           # Show current theme
omarchy theme set <name>        # Apply theme (use "Tokyo Night" not "tokyo-night")
omarchy theme bg next           # Cycle background
omarchy theme install <url>     # Install from git repo

Keybindings

Edit ~/.config/hypr/bindings.conf. Format:

bind = SUPER, Return, exec, xdg-terminal-exec
bind = SUPER, Q, killactive
bind = SUPER SHIFT, E, exit

View current bindings: omarchy menu keybindings --print

IMPORTANT: When re-binding an existing key:

1. First check existing bindings: omarchy menu keybindings --print 2. If the key is already bound, you MUST add an unbind directive BEFORE your new bind 3. Inform the user what the key was previously bound to

Example - rebinding SUPER+F (which is bound to fullscreen by default):

# Unbind existing SUPER+F (was: fullscreen)
unbind = SUPER, F
# New binding for file manager
bind = SUPER, F, exec, nautilus

Always tell the user: "Note: SUPER+F was previously bound to fullscreen. I've added an unbind directive to override it."

Display/Monitors

Edit ~/.config/hypr/monitors.conf. Format:

monitor = eDP-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1

List monitors: hyprctl monitors

Window Rules

CRITICAL: Hyprland window rules syntax changes frequently between versions.

Before writing ANY window rules, you MUST fetch the current documentation from the official Hyprland wiki:

  • https://github.com/hyprwm/hyprland-wiki/blob/main/content/Configuring/Window-Rules.md

DO NOT rely on cached or memorized window rule syntax. The format has changed multiple times and using outdated syntax will cause errors or unexpected behavior.

Window rules go in ~/.config/hypr/hyprland.conf or a sourced file. Always verify the current syntax from the wiki first.

Fonts

omarchy font list               # Available fonts
omarchy font current            # Current font
omarchy font set <name>         # Change font

System

omarchy update                  # Full system update
omarchy version                 # Show Omarchy version
omarchy debug --no-sudo --print # Debug info (ALWAYS use these flags)
omarchy system lock             # Lock screen
omarchy system shutdown         # Shutdown
omarchy system reboot           # Reboot

IMPORTANT: Always run omarchy debug with --no-sudo --print flags to avoid interactive sudo prompts that will hang the terminal.

Troubleshooting

# Get debug information (ALWAYS use these flags to avoid interactive prompts)
omarchy debug --no-sudo --print

# Upload logs for support
omarchy upload log

# Reset specific config to defaults
omarchy refresh <app>

# Refresh specific config file
# config-file path is relative to ~/.config/
# eg. `omarchy refresh config hypr/hyprlock.conf` will refresh ~/.config/hypr/hyprlock.conf
omarchy refresh config <config-file>

# Full reinstall of configs (nuclear option)
omarchy reinstall

Decision Framework

When user requests system changes:

1. Is it a stock omarchy command? Use it directly 2. Is it a config edit? Edit in ~/.config/, never ~/.local/share/omarchy/ 3. Is it a theme customization? Create a NEW custom theme directory 4. Is it automation? Use hooks in ~/.config/omarchy/hooks/ 5. Is it a package install? Use omarchy pkg add <pkgs...> (or omarchy pkg aur add <pkgs...> for AUR-only packages) 6. Unsure if command exists? Run omarchy commands (or omarchy <group> --help for one group)

Reminder Requests

When the user asks to set a reminder, use omarchy reminder <minutes> [message] directly. Convert natural language durations to minutes and title-case short reminder labels when appropriate.

omarchy reminder 15 "Pickup Jack"
omarchy reminder 60 "Check laundry"
omarchy reminder show
omarchy reminder clear

Out of Scope

This skill intentionally does not cover Omarchy source development. Do not use this skill for:

  • Editing files in ~/.local/share/omarchy/ (bin/, config/, default/, themes/, migrations/, etc.)
  • Creating or editing migrations
  • Running omarchy dev ... commands

Example Requests

  • "Change my theme to catppuccin" -> omarchy theme set catppuccin
  • "Add a keybinding for Super+E to open file manager" -> Check existing bindings first, add unbind if needed, then add bind in ~/.config/hypr/bindings.conf
  • "Configure my external monitor" -> Edit ~/.config/hypr/monitors.conf
  • "Make the window gaps smaller" -> Edit ~/.config/hypr/looknfeel.conf
  • "Set up night light to turn on at sunset" -> omarchy toggle nightlight or edit ~/.config/hypr/hyprsunset.conf
  • "Set a reminder to pickup jack in 15 minutes" -> omarchy reminder 15 "Pickup Jack"
  • "Show my reminders" -> omarchy reminder show
  • "Clear all reminders" -> omarchy reminder clear
  • "Customize the catppuccin theme colors" -> Create ~/.config/omarchy/themes/catppuccin-custom/ by copying from stock, then edit
  • "Run a script every time I change themes" -> Create ~/.config/omarchy/hooks/theme-set
  • "Reset waybar to defaults" -> omarchy refresh waybar

Related skills

How it compares

Use omarchy for Basecamp Omarchy Arch Linux desktop tuning rather than generic Docker or cloud CI setup skills.

FAQ

Which config paths does omarchy cover?

omarchy covers end-user edits under ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/, terminal configs like Alacritty and Kitty, ~/.config/mako/, and ~/.config/omarchy/ for themes and display settings.

What does omarchy explicitly exclude?

omarchy excludes Omarchy source development in ~/.local/share/omarchy/ and `omarchy dev` workflows, focusing only on user-facing desktop and terminal customization.

CLI & Terminaldevopsintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.