主厨定制的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.
落地为四层:
- 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。 - Agents 面板:检测到 AI 使用后顶部栏出现 agents 图标。面板聚合订阅用量:计划、5 小时会话与周限额已用百分比(或预付费余额)、按日按模型的 token 消耗。Claude Code、Codex、Fireworks 开箱支持,每 15 分钟由
omarchy agent usage-update刷新,可通过同步文件夹合并其他机器的用量。 - 崩溃诊断管线:监听 systemd-coredump,进程段错误时弹"Process crashed"通知,点击即把核心转储连同官方
diagnose-crashskill 交给默认 agent,由 agent 建立事实并判断是否值得上报上游。手工可用omarchy agent crash <pid>(coredumpctl list查 PID)。 - 系统自管 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 Sudo:
Setup > 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 i;gh 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) |
六、局限与挑战
- 仅 x86_64:DistroWatch 记录架构只有 x86_64。ARM 设备(Apple Silicon、树莓派、ARM 云主机)不可用,与 AI 原生工作流常驻的笔记本市场部分错位。
- Secure Boot/TPM 必须关闭:手册明文要求关闭,理由是"它们是微软的安全方案"(微软安全栈方案);与 Windows 双启动需先关 BitLocker,排除依赖 SB/TPM 的企业场景。
- AI 能力依赖第三方商业服务:九大 agent 的模型全部来自商业 API;LM Studio/Ollama 只是"推荐"而非系统默认;崩溃诊断把转储交给云 agent 时数据离开本机。
- 快照不覆盖
/home:能回滚系统更新,不能回滚个人文件;~/.config在回滚后需手动处理格式不兼容。这是"系统安全"与"数据安全"的明确分工,要求用户自备数据备份。 - 滚动更新的风险转移给通道策略:stable 落后 Arch 官方镜像一个月;edge 手册原话"只有经验丰富的 Linux 用户、知道如何恢复系统时才使用";
pacman -Syu被拦截,绕过需要经验——"零决策税"的代价是放弃 Arch 用户最熟悉的控制点。 - "零膨胀"是单一口味:预装清单是 DHH 的个人使用集(含 Winamp 风格播放器);不满足默认集的人要自己卸载,社区已出现
omarchy-cleaner(282 stars,专删预装应用)填坑。编辑器主题匹配只覆盖 VSCode/Cursor/VSCodium/Helix 四个。 - 项目年轻:仓库 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 签名,加密默认开启,退出路径有快照兜底。是否接受这份"主厨定制",取决于你是否愿意把自己的决策税,交给一个开源且可退出的主厨。
参考资源
- Omarchy 官方仓库:https://github.com/basecamp/omarchy(quattro 分支,MIT,25,604 stars)
- The Omarchy Manual:https://omarchy.org/manual/(51 章;本文引用 Getting Started、Omarchy CLI、AI、Development Tools、Updates、System snapshots、Security 章节)
- Omarchy 包仓库:https://github.com/omacom-io/omarchy-pkgs;稳定镜像:https://github.com/omacom-io/omarchy-mirror
- DistroWatch Omarchy 页面:https://distrowatch.com/table.php?distribution=omarchy(Popularity 21,x86_64)
- PGP 签名公钥指纹:
40DFB630FF42BCFFB047046CF0134EE680CAC571(keys.openpgp.org 可验证)- 生态:omarchy-nix、omarchy-on-cachyos、awesome-omarchy、omarchy-cleaner