Omarchy主题管理Skill omarchy-theming

Omarchy 主题管理技能用于创建、配置和管理 Linux 桌面环境的统一主题。通过定义核心颜色配置文件,实现终端、窗口管理器、状态栏、编辑器等应用程序的视觉风格一键同步。关键词:Linux 桌面主题、终端配色、Hyprland 主题、Waybar 样式、btop 主题、颜色管理、桌面美化、统一主题系统。

操作系统 0 次安装 0 次浏览 更新于 3/2/2026

name: omarchy-theming description: 创建和管理 Omarchy 桌面主题。当处理 colors.toml、终端主题(Alacritty/Kitty/Ghostty)、Hyprland 颜色、Waybar 样式、btop 主题或主题安装/移除时使用。

Omarchy 主题创建

通过定义 colors.toml 中的颜色来为 Omarchy 创建主题。颜色会自动传播到所有桌面应用程序。

快速开始

<步骤>

  1. 创建主题目录:

    mkdir -p ~/.config/omarchy/themes/my-theme/backgrounds
    
  2. 创建包含所有 22 个必需变量的 colors.toml(见下方架构)

  3. 将壁纸图像添加到 backgrounds/

  4. 应用主题:

    omarchy-theme-set my-theme
    

</步骤>

说明

创建或修改 Omarchy 主题时:

  1. 始终在 colors.toml 中定义所有 22 个颜色变量 - 缺少变量会导致错误
  2. 仅使用 HEX 格式 (#RRGGBB) - 不要使用 RGB、HSL 或命名颜色
  3. 包含 backgrounds/ 目录,其中至少有一张壁纸图像
  4. 对于浅色主题,请在主题目录中创建空的 light.mode 文件
  5. 更改后使用 omarchy-theme-set 测试

有关每个应用程序的详细变量用法,请参阅 reference.md

主题结构

~/.config/omarchy/themes/{主题名称}/
├── colors.toml        # [必需] 22 个颜色定义
├── backgrounds/       # [必需] 壁纸图像 (PNG/JPG)
├── preview.png        # [推荐] 主题预览
├── icons.theme        # [推荐] GTK 图标主题名称
├── neovim.lua         # [推荐] LazyVim 配色方案
├── vscode.json        # [推荐] VS Code 主题元数据
├── btop.theme         # [推荐] btop 颜色主题
├── light.mode         # [可选] 空文件 = 浅色主题
├── chromium.theme     # [可选] 浏览器主题 RGB
└── hyprland.conf      # [可选] 静态 Hyprland 覆盖

colors.toml 架构

<架构>

# 核心 UI (6 个变量)
accent = "#89b4fa"                 # 主强调色
cursor = "#f5e0dc"                 # 终端光标
foreground = "#cdd6f4"             # 主文本
background = "#1e1e2e"             # 主背景
selection_foreground = "#1e1e2e"   # 选中文本前景色
selection_background = "#f5e0dc"   # 选中文本背景色

# ANSI 普通 (8 个变量)
color0 = "#45475a"    # 黑色
color1 = "#f38ba8"    # 红色 (错误)
color2 = "#a6e3a1"    # 绿色 (成功)
color3 = "#f9e2af"    # 黄色 (警告)
color4 = "#89b4fa"    # 蓝色 (链接)
color5 = "#f5c2e7"    # 洋红色 (特殊)
color6 = "#94e2d5"    # 青色 (代码)
color7 = "#bac2de"    # 白色 (文本)

# ANSI 亮色 (8 个变量)
color8 = "#585b70"    # 亮黑色 (柔和/禁用)
color9 = "#f38ba8"    # 亮红色
color10 = "#a6e3a1"   # 亮绿色
color11 = "#f9e2af"   # 亮黄色
color12 = "#89b4fa"   # 亮蓝色
color13 = "#f5c2e7"   # 亮洋红色
color14 = "#94e2d5"   # 亮青色
color15 = "#a6adc8"   # 亮白色

</架构>

模板变量

每种颜色支持 3 种格式以适应不同上下文:

格式 示例 输出 使用场景
{{ name }} {{ accent }} #89b4fa CSS, TOML
{{ name_strip }} {{ accent_strip }} 89b4fa Hyprland rgb()
{{ name_rgb }} {{ accent_rgb }} 137,180,250 RGBA 值

示例

<示例 title=“深色主题 (Tokyo Night)”>

accent = "#7aa2f7"
cursor = "#c0caf5"
foreground = "#a9b1d6"
background = "#1a1b26"
selection_foreground = "#c0caf5"
selection_background = "#7aa2f7"

color0 = "#32344a"
color1 = "#f7768e"
color2 = "#9ece6a"
color3 = "#e0af68"
color4 = "#7aa2f7"
color5 = "#ad8ee6"
color6 = "#449dab"
color7 = "#787c99"
color8 = "#444b6a"
color9 = "#ff7a93"
color10 = "#b9f27c"
color11 = "#ff9e64"
color12 = "#7da6ff"
color13 = "#bb9af7"
color14 = "#0db9d7"
color15 = "#acb0d0"

</示例>

<示例 title=“浅色主题 (Catppuccin Latte)”>

# 注意:对于浅色主题,请创建空的 light.mode 文件
accent = "#1e66f5"
cursor = "#dc8a78"
foreground = "#4c4f69"
background = "#eff1f5"
selection_foreground = "#eff1f5"
selection_background = "#dc8a78"

color0 = "#bcc0cc"
color1 = "#d20f39"
color2 = "#40a02b"
color3 = "#df8e1d"
color4 = "#1e66f5"
color5 = "#ea76cb"
color6 = "#179299"
color7 = "#5c5f77"
color8 = "#acb0be"
color9 = "#d20f39"
color10 = "#40a02b"
color11 = "#df8e1d"
color12 = "#1e66f5"
color13 = "#ea76cb"
color14 = "#179299"
color15 = "#6c6f85"

</示例>

<示例 title=“neovim.lua”>

return {
    { "folke/tokyonight.nvim", priority = 1000 },
    { "LazyVim/LazyVim", opts = { colorscheme = "tokyonight" } },
}

</示例>

<示例 title=“vscode.json”>

{ "name": "Tokyo Night", "extension": "enkia.tokyo-night" }

</示例>

主题命令

omarchy-theme-set my-theme      # 应用主题
omarchy-theme-current           # 显示当前主题
omarchy-theme-list              # 列出可用主题
omarchy-theme-install <git-url> # 从 git 安装
omarchy-theme-remove my-theme   # 移除主题
omarchy-theme-update            # 更新 git 主题
omarchy-theme-bg-next           # 循环切换壁纸

故障排除

<故障排除> 颜色未应用:

  • 验证所有 22 个变量已定义
  • 检查 HEX 格式 (#RRGGBB)
  • 运行 omarchy-theme-set 重新生成

应用程序未主题化:

  • 将静态配置放在主题文件夹中以覆盖模板
  • 检查变量名称是否与 colors.toml 键匹配

yq 错误:

sudo pacman -S yq

</故障排除>