Brave
@47c132035ed7a1105a867946b99d67af 网络安全与大数据研究小组 公开
讨论 主厨定制的Omarchy:如何把 Linux 计算环境打造成 AI 原生系统

主厨定制的Omarchy:如何把 Linux 计算环境打造成 AI 原生系统

一、一个有野心的 Linux 发行版

2025 年 6 月,David Heinemeier Hansson(DHH)把 37signals 的内部开发环境打包成了 basecamp/omarchy 仓库。一年多后,这个仓库积累了 25,604 个 star,默认分支叫 quattro(2026 年 8 月随 Quattro 版本发布切换),在 DistroWatch 上排第 21 位(日均约 479 次点击)。

Omarchy 的官方定位一句话:"Turn a fresh Arch installation into a fully-configured, beautiful, and modern web development system based on Hyprland by running a single command." 它不是从零编译的发行版,而是架在 Arch 之上的一层完整系统。README 里有一句容易被忽略的自白:

There's zero bloat here: Just everything I use.

这不是谦虚,而是所有者宣言:一个人的个人计算环境,被完整地打包、版本化、可复制、可分发。本文从安装、更新、安全、开发环境、AI 子系统五个维度拆解 Omarchy 的架构决策,然后回答一个更具体的问题:这套系统对个体到底有什么用

二、Linux 桌面的演化:从包管理器到 omakase

Omarchy 属于"omakase computing"谱系——借自日式料理中"主厨决定一切"的上菜方式,该词由 DHH 本人提出。Linux 个人计算经历的四个阶段:

阶段时期核心抽象用户接口
手工发行版1990s包管理器手动编辑配置,从零组装
桌面发行版2000s桌面环境(GNOME/KDE)开箱即用的默认设置
dotfiles 文化2010s用户配置文件个人维护的配置库(Arch+Hyprland 爱好者)
omakase 发行版2020s可复制的完整系统单命令/ISO,接受全部默认

dotfiles 文化的产物是"配置即身份":每个人的 Hyprland 配置都是孤岛,跨机器复制靠 git 仓库和个人纪律。Omakub(2024,Ubuntu 版)与 Omarchy(2025,Arch 版)共同代表第三阶段向第四阶段的收敛:把"我的配置"变成"一个产品",用标准发行版工程流程(ISO、包仓库、更新通道、快照)去分发个人品味。

Omarchy 继承了 Omakub 的目录骨架(applications/bin/config/default/install/migrations/themes/),但把底座从 Ubuntu 换成 Arch、桌面从 GNOME 换成 Hyprland + Quickshell。这不是量变,是质变:底座换成滚动更新、用户完全掌控的 Arch,桌面换成可主题化到牙齿的平铺窗口系统。

三、技术架构拆解:Omarchy 究竟做了什么

3.1 交付与安装

通过官方 ISO 安装,支持全盘安装和自由空间安装(双启动),默认启用全盘加密。安装速度设计成"快":最快机器 1 分钟、老机器不超过 5 分钟。安装器支持两种特殊模式:

  • 为他人安装:键盘选择界面按 Ctrl+C,跳过全部个人配置,首次开机才询问键盘布局、用户名、密码——该密码同时成为加密密码。
  • 无人值守安装:配置放在第二块盘上,ISO 全自动安装,定位是 VM 和批量机器的 base image。

安装后 Omarchy 本体以 pacman 包从 omarchy-pkgs 仓库安装——它不是静态脚本,而是可增量更新的包,这决定了更新模型(3.2)。

3.2 更新、回滚与重置

omarchy update 是唯一推荐的更新入口,做三件事:安装最新 Omarchy 发布、运行待执行的迁移(migrations/ 目录)、更新 Arch 官方镜像和 AUR 包。手册明确警告不要直接跑 pacman -Syu——Omarchy 会拦截直接系统升级并指向 omarchy update

更新分四个通道:stable(默认,追踪落后官方镜像一个月的"稳定 Arch 镜像",用于在配置变更波及用户前发现不兼容)、RC(大版本发布前验证)、edge(最新开发构建)、dev(直接链接 ~/omarchy 的 git 检出)。切换通道一条命令:omarchy channel set <name>

回滚由 Btrfs 快照 + Limine bootloader 承担,语义精确:

  • 每次 omarchy update 自动打快照,手动可用 omarchy-snapshot create
  • 启动时在 Limine 菜单选快照引导(快照左下角标注当时 Omarchy 版本),进入后点通知或 omarchy-snapshot restore 开始恢复。
  • 恢复只覆盖 rootfs,不碰 /home——能回滚坏掉的系统更新,不能找回个人文件。
  • ~/.config 保持原样:若回滚到使用新格式配置的旧版本库,需要手动处理配置。
  • 仅 Limine 可用(Omarchy 2.0 起默认),GRUB/systemd-boot 无此功能;Direct Boot 模式(直通解密屏)在 American Megatrends 和 Apple 固件上被拒绝。

交接场景有专门设计:Setup > Reset Computer,输入 reset 确认后重启——擦除所有用户账户、/home、自安装以来所有包与系统变更、机器身份(网络连接、host keys 全部清除),恢复到安装器基线快照,重新进入首启向导。转卖、送人、交还公司机器不需要重装,也不需要担心数据残留。

3.3 桌面与主题

桌面是 Hyprland(平铺窗口管理器),顶部栏和面板用 Quickshell 构建。系统内置一个完整 CLI(omarchy),覆盖几乎所有系统操作:

omarchy update              # 更新 Omarchy 和系统包
omarchy theme list / set    # 列出/应用主题
omarchy font list           # 字体管理
omarchy capture text        # 截图区域 OCR 提取文字
omarchy capture qr          # 截图解码二维码
omarchy capture screenrecording [--with-webcam] [--resolution=<size>]  # 录屏
omarchy agent usage-update  # 刷新 AI 用量数据
omarchy menu summon style.theme  # 菜单直达主题选择器
omarchy-snapshot create / restore
omarchy-sudo-passwordless 30  # 临时免密 sudo 30 分钟
omarchy default agent <name>
omarchy agent crash <pid>

手册特别指出:这套 CLI 主要为"让 AI agent 帮你定制系统"而设计。菜单本身也可脚本化(omarchy menu summon <path>),方便自定义快捷键。主题控制顶部栏、终端配色、提示符,Claude Code、Pi、OpenCode 的配色会随系统主题同步切换。

3.4 开发者环境

预装 Neovim;Install > Editor 提供 VSCode、Cursor、Zed、Sublime Text、Helix、Vim、Emacs,其中 VSCode/Cursor/VSCodium/Helix 支持主题匹配。

语言环境统一由 mise 管理(类似 rbenv/rvm 但通吃多语言):Ruby on Rails、Node/Bun/Deno、Laravel/Symfony、Go/Rust/Python/Java/Elixir/.NET/OCaml/Zig/Clojure/Scala 全部可在 Install > Development 一键安装。mise use -g ruby 安装并设为全局默认;项目里有 .ruby-version 就只需 mise i

容器:Docker + Compose 预装且配置好用户组(普通用户直接跑,无需 root),Lazydocker TUI(Super + Shift + D)管理容器,Install > Development > Docker DB 一键起本地开发数据库。GitHub CLI gh 是 lazy stub(首次运行才安装),ghui 提供 PR 管理 TUI,lazygit 预装。

3.5 AI 子系统:agent 作为一等公民

手册第 17 章原话:

Omarchy treats AI coding agents as first-class citizens, but it doesn't pick a favorite for you.

落地为四层:

  1. Lazy-launch stub:Claude Code、Codex、OpenCode、Gemini CLI、Copilot、Crush、Grok、Pi、Oh My Pi 九个 agent CLI 全部预接线为 ~/.local/bin/ 下的 mise stub,首次调用才下载。默认 agent 用 omarchy default agent <name> 或菜单选择,选择即安装。Super+Shift+Ctrl+A 启动默认 agent;a 内嵌终端运行,c/cx/cy 直启 OpenCode、Claude Code、Codex——全部处于自动批准模式。agent 拒绝信任 $HOME 的目录,因此从 $HOME 启动时自动落到 ~/Work
  2. Agents 面板:检测到 AI 使用后顶部栏出现 agents 图标。面板聚合订阅用量:计划、5 小时会话与周限额已用百分比(或预付费余额)、按日按模型的 token 消耗。Claude Code、Codex、Fireworks 开箱支持,每 15 分钟由 omarchy agent usage-update 刷新,可通过同步文件夹合并其他机器的用量。
  3. 崩溃诊断管线:监听 systemd-coredump,进程段错误时弹"Process crashed"通知,点击即把核心转储连同官方 diagnose-crash skill 交给默认 agent,由 agent 建立事实并判断是否值得上报上游。手工可用 omarchy agent crash <pid>coredumpctl list 查 PID)。
  4. 系统自管 skill:Omarchy 自带系统调整 skill(改 Hyprland 配置、调顶部栏、从零建主题),symlink 进 Claude Code(~/.claude/skills)、Codex(~/.codex/skills)、Pi(~/.pi/agent/skills)和通用 ~/.agents/skills 目录。手册标注实验状态,建议先 plan 模式运行,搞砸了用 omarchy reinstall configs 兜底。

本地 LLM 官方推荐 LM Studio(GUI)和 Ollama(CLI),Install > AI 菜单安装。

3.6 安全基线

  • 全盘加密强制:LUKS,丢失笔记本不构成数据泄露。
  • 防火墙默认启用:只放行 LocalSend(端口 53317);ssh 默认关闭,Setup > Security > SSHD 开启(端口 22 带暴力破解限速);Docker 用 ufw-docker 锁定,防止容器意外暴露公网。
  • 包源默认白名单:只依赖 Arch core/extra/multilib + Omarchy 自己的包仓库;AUR 默认不装(仅个别可选安装,如第三方浏览器)。
  • 分发基础设施在 Cloudflare CDN 后;ISO 与包仓库有 PGP 签名,公钥指纹 40DFB630FF42BCFFB047046CF0134EE680CAC571,ISO 校验文件为 URL 追加 .sig
  • 双密码体系:开机解密密码 + 登录/sudo 密码,Update > Password 分别修改。
  • Passwordless SudoSetup > Security > Passwordless Sudo 临时关闭 sudo 询问 15 分钟(AI agent 长时间系统工作时用),可 omarchy-sudo-passwordless 30 自定义分钟数。手册对风险的表述:"开启期间,任何以你的用户身份运行的进程都能以 root 做任何事。这就是它的意义,也是它的全部风险。"

四、范式移转:从"发行版"到"个人操作系统商品"

维度旧模型(dotfiles/DIY)新模型(Omarchy)
安装手动分区 + 数小时配置ISO 全盘加密,1-5 分钟
配置来源个人 dotfiles 仓库官方 pacman 包 + 迁移脚本
更新手动滚动,风险自担四通道 + 自动快照 + 迁移
回滚备份残缺,恢复靠重装Limine 菜单选快照(rootfs 级)
AI 工具各自安装、各自订阅、各自记忆系统级 stub + 统一面板 + 统一 skill 目录
安全取决于个人纪律加密/防火墙/包源/签名 默认开启
退出重装 + 重新配置快照回滚 / omarchy reinstall

旧模型的隐性成本不在配置本身,而在决策税:每个工具都要决定装不装、怎么配、如何保持最新。Omarchy 把这一整层决策移交给"主厨"DHH,25,604 个 star 的开发者们投票接受了这份口味。

AI 部分的意义更具体。主流操作系统的 AI 策略分两类:闭源厂商把 AI 塞进系统(Windows Copilot),或让用户自行安装第三方 app。Omarchy 是第三条路:操作系统提供 AI 基础设施(stub、用量面板、崩溃诊断、skill 分发),模型与订阅保持用户自选。今天用 Claude Code,明天切 Codex,系统层面零迁移成本。

五、对个体有什么用:五个具体场景

5.1 拿到新机器的那一天

旧流程:装 Arch → 手动分区 → 配加密 → 装 Hyprland → 配顶部栏 → 装编辑器/语言运行时/agent → 调主题……按天计。Omarchy 流程:刷 ISO → 回答配置问题 → 等待(1-5 分钟)→ 首次开机设密码(该密码即加密密码)→ 完。Neovim、Docker、mise、九个 agent stub、防火墙、加密全部已就位。

对开发者的落地差异:mise use -g ruby 一条命令装好 Ruby;项目里有 .ruby-version 就只需 mise igh repo clone org/repo 首次运行自动装 gh。语言环境、编辑器、容器、agent 全部走同一套 lazy-load 机制——磁盘上没有不用的东西,首次需要时自动装

5.2 丢了笔记本的那一天

LUKS 全盘加密兜底数据;即使设备被物理取走,解密需要开机密码。防火墙默认只放行 LocalSend(53317);ssh 默认关,开启时带限速;Docker 容器无法被外部意外访问(ufw-docker)。设备丢失的后果从"数据泄露应急"降级为"重新买台机器重装"——而重装是 1-5 分钟 + 恢复备份。

5.3 AI 账单与崩溃排障

面板把"token 花在哪"变成 15 分钟刷新的硬数据:计划用量、5 小时会话/周限额进度、按日按模型的消耗。对个体意味着:AI 订阅从"感觉型消费"变成"可审计支出",多台机器还能合并统计。

崩溃排障从手动流程(看日志 → 猜原因 → 问人)变成:段错误弹通知 → 点击 → 核心转储 + diagnose-crash skill 交给默认 agent → 结论与是否上报上游的建议。个体省下的是每次几小时到几天的排障税。

5.4 系统坏掉的那一天

坏更新回滚:重启 → Limine 菜单选更新前快照(标注版本号)→ 恢复 rootfs → 完。边界要清楚:快照不救 /home,个人文件要靠你自己的备份;回滚到旧版本后 ~/.config 中的新格式配置可能需要手动调整。配置被 agent 搞乱:omarchy reinstall configs 一键恢复官方默认。

5.5 换机、转卖、交还公司的那一天

Setup > Reset Computer 输入 reset 确认:擦除所有账户、/home、包、系统变更、网络连接与 host keys,回到首启向导,新主人输入自己的名字与加密密码即可。机器身份完整清除,不需要重装。为他人安装也同理:Ctrl+C 跳过个人配置,首次开机才由新主人设定一切。

5.6 主权框架四维检验

维度检验结果
数据控制权LUKS 全盘加密默认;AI 用量数据本地汇总;崩溃转储发给云 agent 是用户选择而非系统强制
计算环境控制权Arch + pacman/AUR;Omarchy 本体 MIT 开源;migrations/config/ 全部可审阅;系统未锁死任何配置
第三方依赖系统零强制云依赖(无遥测声明);AI 能力依赖商业订阅——但被面板显式化、可审计
退出成本快照回滚、omarchy reinstall、dev 通道直接跑 git 检出;密码与签名密钥均可验证(PGP 指纹 40DFB6…CAC571

六、局限与挑战

  1. 仅 x86_64:DistroWatch 记录架构只有 x86_64。ARM 设备(Apple Silicon、树莓派、ARM 云主机)不可用,与 AI 原生工作流常驻的笔记本市场部分错位。
  2. Secure Boot/TPM 必须关闭:手册明文要求关闭,理由是"它们是微软的安全方案"(微软安全栈方案);与 Windows 双启动需先关 BitLocker,排除依赖 SB/TPM 的企业场景。
  3. AI 能力依赖第三方商业服务:九大 agent 的模型全部来自商业 API;LM Studio/Ollama 只是"推荐"而非系统默认;崩溃诊断把转储交给云 agent 时数据离开本机。
  4. 快照不覆盖 /home:能回滚系统更新,不能回滚个人文件;~/.config 在回滚后需手动处理格式不兼容。这是"系统安全"与"数据安全"的明确分工,要求用户自备数据备份。
  5. 滚动更新的风险转移给通道策略:stable 落后 Arch 官方镜像一个月;edge 手册原话"只有经验丰富的 Linux 用户、知道如何恢复系统时才使用";pacman -Syu 被拦截,绕过需要经验——"零决策税"的代价是放弃 Arch 用户最熟悉的控制点。
  6. "零膨胀"是单一口味:预装清单是 DHH 的个人使用集(含 Winamp 风格播放器);不满足默认集的人要自己卸载,社区已出现 omarchy-cleaner(282 stars,专删预装应用)填坑。编辑器主题匹配只覆盖 VSCode/Cursor/VSCodium/Helix 四个。
  7. 项目年轻:仓库 2025 年 6 月创建,一年出头;Omarchy 本体依赖 omarchy-pkgs 的维护节奏,长期稳定性未经受 2-3 年滚动更新的检验;快照功能仅 Limine 可用(2.0 起默认,GRUB/systemd-boot 无)。

七、小结

Omarchy 的价值不在"又一个好看的 Arch 发行版"。它用标准发行版工程(ISO、包、迁移、通道、快照、签名)证明了:个人计算环境可以像商品一样被完整交付,AI 编码代理可以被设计成操作系统的原生资源——可安装、可默认、可统一追踪用量、可接管崩溃诊断。

对个体而言,它解决的是四类具体问题:新机器的配置时间、坏更新的恢复路径、AI 支出的可审计性、设备丢失/转交时的数据与身份安全。它的约束同样具体:x86_64 专属、拒绝微软安全栈、AI 能力依赖商业订阅、快照不覆盖home目录、单一口味。

Omarchy 是一份可验证的提案而非信仰:代码在 GitHub 可审阅,ISO 与包有 PGP 签名,加密默认开启,退出路径有快照兜底。是否接受这份"主厨定制",取决于你是否愿意把自己的决策税,交给一个开源且可退出的主厨。

参考资源