Update to use the new single command cli

This commit is contained in:
David Heinemeier Hansson
2026-05-01 17:47:10 +02:00
parent 0f8eb3a6e6
commit c9ff10b4fd
+73 -65
View File
@@ -8,7 +8,7 @@ description: >
monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes,
wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace
settings, display config, and user-facing omarchy commands. Excludes Omarchy
source development in ~/.local/share/omarchy/ and omarchy-dev-* workflows.
source development in ~/.local/share/omarchy/ and `omarchy dev` workflows.
---
# Omarchy Skill
@@ -29,19 +29,19 @@ It is not for contributing to Omarchy source code.
- Window behavior, animations, opacity, blur, gaps, borders
- Layer rules, workspace settings, display/monitor configuration
- Themes, wallpapers, fonts, appearance changes
- User-facing `omarchy-*` commands (`omarchy-theme-*`, `omarchy-refresh-*`, `omarchy-restart-*`, etc.)
- User-facing `omarchy` commands (`omarchy theme ...`, `omarchy refresh ...`, `omarchy restart ...`, etc.)
- Screenshots, screen recording, 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).
**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`
- Lost on next `omarchy update`
- Cause conflicts with upstream
- Break the system's update mechanism
@@ -56,7 +56,7 @@ This directory contains Omarchy's source files managed by git. Any changes will
```
**Reading `~/.local/share/omarchy/` is SAFE and useful** - do it freely to:
- Understand how omarchy commands work: `cat $(which omarchy-theme-set)`
- 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/*`
@@ -84,34 +84,43 @@ Omarchy is built on:
## Command Discovery
Omarchy provides ~145 commands following `omarchy-<category>-<action>` pattern.
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.
```bash
# List all omarchy commands
compgen -c | grep -E '^omarchy-' | sort -u
# List every documented command and its summary
omarchy commands
# Find commands by category
compgen -c | grep -E '^omarchy-theme'
compgen -c | grep -E '^omarchy-restart'
# 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 Categories
### Command Groups
| Prefix | Purpose | Example |
|--------|---------|---------|
| `omarchy-refresh-*` | Reset config to defaults (backs up first) | `omarchy-refresh-waybar` |
| `omarchy-restart-*` | Restart a service/app | `omarchy-restart-waybar` |
| `omarchy-toggle-*` | Toggle feature on/off | `omarchy-toggle-nightlight` |
| `omarchy-theme-*` | Theme management | `omarchy-theme-set <name>` |
| `omarchy-install-*` | Install optional software | `omarchy-install-docker-dbs` |
| `omarchy-launch-*` | Launch apps | `omarchy-launch-browser` |
| `omarchy-capture-*` | Screenshots and recordings | `omarchy-capture-screenshot` |
| `omarchy-pkg-*` | Package management | `omarchy-pkg-install <pkg>` |
| `omarchy-setup-*` | Initial setup tasks | `omarchy-setup-fingerprint` |
| `omarchy-update-*` | System updates | `omarchy-update` |
Run `omarchy --help` for the full list. The most common groups:
| Group | Purpose | Example |
|-------|---------|---------|
| `omarchy refresh` | Reset config to defaults (backs up first) | `omarchy refresh waybar` |
| `omarchy restart` | Restart a service/app | `omarchy restart waybar` |
| `omarchy toggle` | Toggle feature on/off | `omarchy toggle nightlight` |
| `omarchy theme` | Theme management | `omarchy theme set <name>` |
| `omarchy install` | Install optional software / packages | `omarchy install docker dbs` |
| `omarchy launch` | Launch apps | `omarchy launch browser` |
| `omarchy capture` | Screenshots and recordings | `omarchy capture screenshot` |
| `omarchy pkg` | Package management | `omarchy pkg install <pkg>` |
| `omarchy setup` | Initial setup tasks | `omarchy setup fingerprint` |
| `omarchy update` | System updates | `omarchy update` |
## Configuration Locations
@@ -134,7 +143,7 @@ cat $(which omarchy-theme-set)
**Key behaviors:**
- Hyprland auto-reloads on config save (no restart needed for most changes)
- Use `hyprctl reload` to force reload
- Use `omarchy-refresh-hyprland` to reset to defaults
- Use `omarchy refresh hyprland` to reset to defaults
### Waybar (Status Bar)
@@ -144,9 +153,9 @@ cat $(which omarchy-theme-set)
└── style.css # Styling
```
**Waybar does NOT auto-reload.** You MUST run `omarchy-restart-waybar` after any config changes.
**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`
**Commands:** `omarchy restart waybar`, `omarchy refresh waybar`, `omarchy toggle waybar`
### Terminals
@@ -156,7 +165,7 @@ cat $(which omarchy-theme-set)
~/.config/ghostty/config
```
**Command:** `omarchy-restart-terminal`
**Command:** `omarchy restart terminal`
### Other Configs
@@ -186,9 +195,9 @@ cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)
# 4. Apply changes
# - Hyprland: auto-reloads on save (no restart needed)
# - Waybar: MUST restart with omarchy-restart-waybar
# - Walker: MUST restart with omarchy-restart-walker
# - Terminals: MUST restart with omarchy-restart-terminal
# - 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
@@ -196,7 +205,7 @@ cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)
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"
4. When done with the theme, run `omarchy theme set "Name of new theme"`
### Pattern 3: Use Hooks for Automation
@@ -207,7 +216,7 @@ Create scripts in `~/.config/omarchy/hooks/` to run automatically on events:
~/.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
└── post-update # Runs after `omarchy update`
```
Example hook (`~/.config/omarchy/hooks/theme-set`):
@@ -224,8 +233,8 @@ When customizations go wrong:
```bash
# Reset specific config (creates backup automatically)
omarchy-refresh-waybar
omarchy-refresh-hyprland
omarchy refresh waybar
omarchy refresh hyprland
# The refresh command:
# 1. Backs up current config with timestamp
@@ -238,12 +247,11 @@ omarchy-refresh-hyprland
### Themes
```bash
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-next # Cycle to next theme
omarchy-theme-bg-next # Cycle wallpaper
omarchy-theme-install <url> # Install from git repo
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 wallpaper
omarchy theme install <url> # Install from git repo
```
### Keybindings
@@ -255,11 +263,11 @@ bind = SUPER, Q, killactive
bind = SUPER SHIFT, E, exit
```
View current bindings: `omarchy-menu-keybindings --print`
View current bindings: `omarchy menu keybindings --print`
**IMPORTANT: When re-binding an existing key:**
1. First check existing bindings: `omarchy-menu-keybindings --print`
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
@@ -297,43 +305,43 @@ Window rules go in `~/.config/hypr/hyprland.conf` or a sourced file. Always veri
### Fonts
```bash
omarchy-font-list # Available fonts
omarchy-font-current # Current font
omarchy-font-set <name> # Change font
omarchy font list # Available fonts
omarchy font current # Current font
omarchy font set <name> # Change font
```
### System
```bash
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
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.
**IMPORTANT:** Always run `omarchy debug` with `--no-sudo --print` flags to avoid interactive sudo prompts that will hang the terminal.
## Troubleshooting
```bash
# Get debug information (ALWAYS use these flags to avoid interactive prompts)
omarchy-debug --no-sudo --print
omarchy debug --no-sudo --print
# Upload logs for support
omarchy-upload-log
omarchy upload log
# Reset specific config to defaults
omarchy-refresh-<app>
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>
# 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
omarchy reinstall
```
## Decision Framework
@@ -344,23 +352,23 @@ When user requests system changes:
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` (or `omarchy-pkg-aur-add` for AUR-only packages)
6. **Unsure if command exists?** Search with `compgen -c | grep omarchy`
5. **Is it a package install?** Use `omarchy install package <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)
## 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
- Running `omarchy dev ...` commands
## Example Requests
- "Change my theme to catppuccin" -> `omarchy-theme-set catppuccin`
- "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 up night light to turn on at sunset" -> `omarchy toggle nightlight` or edit `~/.config/hypr/hyprsunset.conf`
- "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`
- "Reset waybar to defaults" -> `omarchy refresh waybar`