omarchy by basecamp/omarchy
npx skills add https://github.com/basecamp/omarchy --skill omarchy管理 Omarchy Linux 系统 - 一个美观、现代、固执己见的基于 Hyprland 的 Arch Linux 发行版。
此技能用于在已安装系统上进行最终用户自定义。不适用于为 Omarchy 源代码做贡献。
当最终用户请求涉及以下任何一项时,请务必调用此技能:
~/.config/hypr/ 中的任何文件(窗口规则、动画、按键绑定、显示器配置等)~/.config/waybar/、~/.config/walker/、~/.config/mako/ 中的任何文件~/.config/omarchy/ 中的任何文件omarchy-* 命令(、、 等)广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
omarchy-theme-*omarchy-refresh-*omarchy-restart-*如果你即将在此系统上编辑 ~/.config/ 中的配置文件,请先停止并使用此技能。
请勿将此技能用于 Omarchy 开发任务(编辑 ~/.local/share/omarchy/ 中的文件、创建迁移或运行 omarchy-dev-* 工作流)。
对于最终用户自定义任务,切勿修改 ~/.local/share/omarchy/ 中的任何内容 - 但读取是安全且鼓励的。
此目录包含由 git 管理的 Omarchy 源文件。任何更改将会:
在下一次 omarchy-update 时丢失
与上游产生冲突
破坏系统的更新机制
~/.local/share/omarchy/ # 只读 - 切勿编辑(读取是允许的) ├── bin/ # 源脚本(符号链接到 PATH) ├── config/ # 默认配置模板 ├── themes/ # 内置主题 ├── default/ # 系统默认值 ├── migrations/ # 更新迁移脚本 └── install/ # 安装脚本
读取 ~/.local/share/omarchy/ 是安全的且很有用 - 可以自由进行以:
cat $(which omarchy-theme-set)cat ~/.local/share/omarchy/config/waybar/config.jsonccat ~/.local/share/omarchy/default/hypr/*请始终使用以下安全位置:
~/.config/ - 用户配置(可安全编辑)~/.config/omarchy/themes/<custom-name>/ - 自定义主题(必须是真实目录)~/.config/omarchy/hooks/ - 自定义自动化钩子如果请求是开发 Omarchy 本身,则此技能不适用。请遵循仓库的开发说明,而不是此技能。
Omarchy 构建于:
| 组件 | 用途 | 配置位置 |
|---|---|---|
| Arch Linux | 基础操作系统 | /etc/, ~/.config/ |
| Hyprland | Wayland 合成器/窗口管理器 | ~/.config/hypr/ |
| Waybar | 状态栏 | ~/.config/waybar/ |
| Walker | 应用启动器 | ~/.config/walker/ |
| Alacritty/Kitty/Ghostty | 终端 | ~/.config/<terminal>/ |
| Mako | 通知 | ~/.config/mako/ |
| SwayOSD | 屏幕显示 | ~/.config/swayosd/ |
Omarchy 提供约 145 个遵循 omarchy-<category>-<action> 模式的命令。
# 列出所有 omarchy 命令
compgen -c | grep -E '^omarchy-' | sort -u
# 按类别查找命令
compgen -c | grep -E '^omarchy-theme'
compgen -c | grep -E '^omarchy-restart'
# 读取命令的源代码以理解它
cat $(which omarchy-theme-set)
| 前缀 | 用途 | 示例 |
|---|---|---|
omarchy-refresh-* | 将配置重置为默认值(先备份) | omarchy-refresh-waybar |
omarchy-restart-* | 重启服务/应用 | omarchy-restart-waybar |
omarchy-toggle-* | 切换功能开关 | omarchy-toggle-nightlight |
omarchy-theme-* | 主题管理 | omarchy-theme-set <name> |
omarchy-install-* | 安装可选软件 | omarchy-install-docker-dbs |
omarchy-launch-* | 启动应用 | omarchy-launch-browser |
omarchy-cmd-* | 系统命令 | omarchy-cmd-screenshot |
omarchy-pkg-* | 包管理 | omarchy-pkg-install <pkg> |
omarchy-setup-* | 初始设置任务 | omarchy-setup-fingerprint |
omarchy-update-* | 系统更新 | omarchy-update |
~/.config/hypr/
├── hyprland.conf # 主配置(引用其他文件)
├── bindings.conf # 按键绑定
├── monitors.conf # 显示器配置
├── input.conf # 键盘/鼠标设置
├── looknfeel.conf # 外观(间隙、边框、动画)
├── envs.conf # 环境变量
├── autostart.conf # 启动应用
├── hypridle.conf # 空闲行为(关闭屏幕、锁定、挂起)
├── hyprlock.conf # 锁屏外观
└── hyprsunset.conf # 夜灯 / 蓝光过滤器
关键行为:
hyprctl reload 强制重载omarchy-refresh-hyprland 重置为默认值~/.config/waybar/
├── config.jsonc # 状态栏布局和模块(JSONC 格式)
└── style.css # 样式
Waybar 不会自动重载。 任何配置更改后,必须运行 omarchy-restart-waybar。
命令: omarchy-restart-waybar, omarchy-refresh-waybar, omarchy-toggle-waybar
~/.config/alacritty/alacritty.toml
~/.config/kitty/kitty.conf
~/.config/ghostty/config
命令: omarchy-restart-terminal
| 应用 | 位置 |
|---|---|
| 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 |
对于简单更改,编辑 ~/.config/ 中的文件:
# 1. 读取当前配置
cat ~/.config/hypr/bindings.conf
# 2. 更改前备份
cp ~/.config/hypr/bindings.conf ~/.config/hypr/bindings.conf.bak.$(date +%s)
# 3. 使用编辑工具进行更改
# 4. 应用更改
# - Hyprland: 保存时自动重载(无需重启)
# - Waybar: 必须使用 omarchy-restart-waybar 重启
# - Walker: 必须使用 omarchy-restart-walker 重启
# - 终端: 必须使用 omarchy-restart-terminal 重启
在 ~/.config/omarchy/hooks/ 中创建脚本,以便在事件发生时自动运行:
# 可用的钩子(参见 ~/.config/omarchy/hooks/ 中的示例):
~/.config/omarchy/hooks/
├── theme-set # 主题更改后运行(接收主题名称作为 $1)
├── font-set # 字体更改后运行
└── post-update # omarchy-update 后运行
钩子示例 (~/.config/omarchy/hooks/theme-set):
#!/bin/bash
THEME_NAME=$1
echo "Theme changed to: $THEME_NAME"
# 在此处添加自定义操作
当自定义出错时:
# 重置特定配置(自动创建备份)
omarchy-refresh-waybar
omarchy-refresh-hyprland
# refresh 命令会:
# 1. 使用时间戳备份当前配置
# 2. 从 ~/.local/share/omarchy/config/ 复制默认配置
# 3. 重启组件
omarchy-theme-list # 显示可用主题
omarchy-theme-current # 显示当前主题
omarchy-theme-set <name> # 应用主题(使用 "Tokyo Night" 而不是 "tokyo-night")
omarchy-theme-next # 切换到下一个主题
omarchy-theme-bg-next # 切换壁纸
omarchy-theme-install <url> # 从 git 仓库安装
编辑 ~/.config/hypr/bindings.conf。格式:
bind = SUPER, Return, exec, xdg-terminal-exec
bind = SUPER, Q, killactive
bind = SUPER SHIFT, E, exit
查看当前绑定:omarchy-menu-keybindings --print
重要:当重新绑定一个已存在的按键时:
omarchy-menu-keybindings --printbind 指令之前添加一个 unbind 指令示例 - 重新绑定 SUPER+F(默认绑定为全屏):
# 解除现有的 SUPER+F 绑定(原功能:全屏)
unbind = SUPER, F
# 为文件管理器设置新绑定
bind = SUPER, F, exec, nautilus
务必告知用户:"注意:SUPER+F 之前绑定为全屏功能。我已添加了一个 unbind 指令来覆盖它。"
编辑 ~/.config/hypr/monitors.conf。格式:
monitor = eDP-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1
列出显示器:hyprctl monitors
关键:Hyprland 窗口规则语法在不同版本间频繁更改。
在编写任何窗口规则之前,你必须从官方 Hyprland wiki 获取最新文档:
不要依赖缓存或记忆中的窗口规则语法。格式已多次更改,使用过时的语法将导致错误或意外行为。
窗口规则放在 ~/.config/hypr/hyprland.conf 或被引用的文件中。务必先从 wiki 验证当前语法。
omarchy-font-list # 可用字体
omarchy-font-current # 当前字体
omarchy-font-set <name> # 更改字体
omarchy-update # 完整系统更新
omarchy-version # 显示 Omarchy 版本
omarchy-debug --no-sudo --print # 调试信息(务必使用这些标志)
omarchy-lock-screen # 锁屏
omarchy-system-shutdown # 关机
omarchy-system-reboot # 重启
重要: 始终使用 --no-sudo --print 标志运行 omarchy-debug,以避免交互式 sudo 提示导致终端挂起。
# 获取调试信息(务必使用这些标志以避免交互式提示)
omarchy-debug --no-sudo --print
# 上传日志以获取支持
omarchy-upload-log
# 将特定配置重置为默认值
omarchy-refresh-<app>
# 刷新特定配置文件
# config-file 路径相对于 ~/.config/
# 例如,omarchy-refresh-config hypr/hyprlock.conf 将刷新 ~/.config/hypr/hyprlock.conf
omarchy-refresh-config <config-file>
# 完全重新安装配置(核选项)
omarchy-reinstall
当用户请求系统更改时:
~/.config/ 中编辑,切勿在 ~/.local/share/omarchy/ 中~/.config/omarchy/hooks/ 中的钩子omarchy-pkg-add(对于仅 AUR 的包,使用 omarchy-pkg-aur-add)compgen -c | grep omarchy 搜索此技能有意不涵盖 Omarchy 源代码开发。请勿将此技能用于:
~/.local/share/omarchy/ 中的文件(bin/、config/、default/、themes/、migrations/ 等)omarchy-dev-* 命令omarchy-theme-set catppuccinunbind,然后在 ~/.config/hypr/bindings.conf 中添加 bind~/.config/hypr/monitors.conf~/.config/hypr/looknfeel.confomarchy-toggle-nightlight 或编辑 ~/.config/hypr/hyprsunset.conf~/.config/omarchy/themes/catppuccin-custom/,然后编辑~/.config/omarchy/hooks/theme-setomarchy-refresh-waybar每周安装数
88
仓库
GitHub 星标数
21.1K
首次出现
2026年1月23日
安全审计
已安装于
opencode84
gemini-cli79
codex76
github-copilot73
amp72
kimi-cli72
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.
ALWAYS invoke this skill for end-user requests involving ANY of these:
~/.config/hypr/ (window rules, animations, keybindings, monitors, etc.)~/.config/waybar/, ~/.config/walker/, ~/.config/mako/~/.config/omarchy/omarchy-* commands (omarchy-theme-*, omarchy-refresh-*, omarchy-restart-*, etc.)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).
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:
cat $(which omarchy-theme-set)cat ~/.local/share/omarchy/config/waybar/config.jsonccat ~/.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 hooksIf the request is to develop Omarchy itself, this skill is out of scope. Follow repository development instructions instead of this skill.
Omarchy is built on:
| Component | Purpose | Config Location |
|---|---|---|
| Arch Linux | Base OS | /etc/, ~/.config/ |
| Hyprland | Wayland compositor/WM | ~/.config/hypr/ |
| Waybar | Status bar | ~/.config/waybar/ |
| Walker | App launcher | ~/.config/walker/ |
Omarchy provides ~145 commands following omarchy-<category>-<action> pattern.
# List all omarchy commands
compgen -c | grep -E '^omarchy-' | sort -u
# Find commands by category
compgen -c | grep -E '^omarchy-theme'
compgen -c | grep -E '^omarchy-restart'
# Read a command's source to understand it
cat $(which omarchy-theme-set)
| 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-* |
~/.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:
hyprctl reload to force reloadomarchy-refresh-hyprland to reset to defaults~/.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
~/.config/alacritty/alacritty.toml
~/.config/kitty/kitty.conf
~/.config/ghostty/config
Command: omarchy-restart-terminal
| App | Location |
|---|---|
| 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 |
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 (no restart needed)
# - Waybar: MUST restart with omarchy-restart-waybar
# - Walker: MUST restart with omarchy-restart-walker
# - Terminals: MUST restart with omarchy-restart-terminal
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
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
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
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:
omarchy-menu-keybindings --printunbind directive BEFORE your new bindExample - 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."
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
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:
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.
omarchy-font-list # Available fonts
omarchy-font-current # Current font
omarchy-font-set <name> # Change font
omarchy-update # Full system update
omarchy-version # Show Omarchy version
omarchy-debug --no-sudo --print # Debug info (ALWAYS use these flags)
omarchy-lock-screen # 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.
# 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
When user requests system changes:
~/.config/, never ~/.local/share/omarchy/~/.config/omarchy/hooks/omarchy-pkg-add (or omarchy-pkg-aur-add for AUR-only packages)compgen -c | grep omarchyThis skill intentionally does not cover Omarchy source development. Do not use this skill for:
~/.local/share/omarchy/ (bin/, config/, default/, themes/, migrations/, etc.)omarchy-dev-* commandsomarchy-theme-set catppuccinunbind if needed, then add bind in ~/.config/hypr/bindings.conf~/.config/hypr/monitors.conf~/.config/hypr/looknfeel.confomarchy-toggle-nightlight or edit ~/.config/hypr/hyprsunset.conf~/.config/omarchy/themes/catppuccin-custom/ by copying from stock, then editWeekly Installs
88
Repository
GitHub Stars
21.1K
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
opencode84
gemini-cli79
codex76
github-copilot73
amp72
kimi-cli72
Lark Skill Maker 教程:基于飞书CLI创建AI技能,自动化工作流与API调用指南
39,100 周安装
| Alacritty/Kitty/Ghostty | Terminals | ~/.config/<terminal>/ |
| Mako | Notifications | ~/.config/mako/ |
| SwayOSD | On-screen display | ~/.config/swayosd/ |
| Theme management |
omarchy-theme-set <name> |
omarchy-install-* | Install optional software | omarchy-install-docker-dbs |
omarchy-launch-* | Launch apps | omarchy-launch-browser |
omarchy-cmd-* | System commands | omarchy-cmd-screenshot |
omarchy-pkg-* | Package management | omarchy-pkg-install <pkg> |
omarchy-setup-* | Initial setup tasks | omarchy-setup-fingerprint |
omarchy-update-* | System updates | omarchy-update |
~/.config/omarchy/hooks/theme-setomarchy-refresh-waybar