开源项目第198期:Omarchy — DHH 打造的「意见鲜明」Linux 桌面系统

引言

"Beautiful, Modern & Opinionated Linux"

这是「每日一个开源项目」系列的第 198 篇 。今天的项目是 Omarchy ------ 由 Ruby on Rails 作者、Basecamp 创始人 DHH(David Heinemeier Hansson)打造的全意见鲜明 Linux 桌面系统,30,822 颗 Star,MIT 许可证。

Omarchy 解决一个具体问题:怎样让 Linux 桌面既美观、现代,又开箱即用------不是让你把三十个配置文件从零开始拼凑,而是"这就是我日常用的全套,直接给你"。

你会学到什么

  • Omarchy 的技术栈:Arch Linux + Hyprland + Quickshell 各自的角色
  • 键盘驱动一切的导航哲学与核心热键体系
  • 22 套完整主题及跨应用同步机制
  • AI 编程 Agent 作为一等公民的集成方式
  • 开发环境支持(Rails/Node/Python/Go 等)与 Dotfiles 定制
  • 更新频道(stable/RC/edge/dev)管理

前提知识

  • 基本 Linux 命令行经验
  • 对平铺窗口管理器(tiling WM)有初步印象会有帮助
  • 不需要 Arch 安装经验------Omarchy 提供完整的 ISO

项目背景

概述

Omarchy 是一个"omakase"(日语:お任せ,即「交由主厨决定」)风格的 Linux 发行版。DHH 在产品上一贯喜欢做强观点、高整合度的选择------Rails 是这样,HEY 邮件是这样,Omarchy 也是这样:不给你无限的选择,而是给你一套经过打磨的完整方案。

底层是 Arch Linux(滚动更新),窗口管理是 Hyprland(现代 Wayland 平铺 WM),桌面 UI 组件层是 Quickshell(负责顶栏、菜单、通知、屏保)。三层各司其职,合为一套系统。

项目信息

  • 作者: DHH(David Heinemeier Hansson),Basecamp / 37signals
  • 主要语言: Shell
  • 许可证: MIT
  • 官网 : omarchy.org
  • 手册 : learn.omacom.io

项目数据

  • ⭐ GitHub Stars: 30,822+
  • 🍴 Forks: 3,131+
  • 📄 许可证: MIT
  • 📅 创建时间: 2025-06-01

快速上手

安装

bash 复制代码
# 1. 从官网下载 ISO
# https://omarchy.org/

# 2. 写入 U 盘
# Mac/Windows: balenaEtcher
# Linux: caligula

# 3. 进入 BIOS,关闭 Secure Boot / TPM,从 U 盘引导

# 4. 回答配置问题,选择安装盘,等待安装完成(快则 1 分钟内)

注意:全盘加密是默认开启的,全盘安装会清空所选硬盘,请先备份数据。如需双系统,选择「空闲空间安装」,并先在 Windows 里关闭 BitLocker。

支持为他人安装(首次开机时再完成个人配置)和无人值守批量安装(用于 VM 或机器群)。


核心设计:键盘驱动一切

Omarchy 最鲜明的立场:键盘是主角,鼠标是配角

系统刚启动时,不按任何键就什么也做不了。但你可以:

热键 功能
Super + Space Omarchy 菜单(启动应用、更改设置、安装软件......一切入口)
Super + Return 打开终端
Super + Shift + Return 打开浏览器
Super + K 查看所有热键映射
Super + W / Super + Q 关闭窗口
Super + 1/2/3/4 跳转工作区
Super + Shift + 1/2/3/4 把当前窗口移到对应工作区
Super + F 全屏
Super + T 切换窗口平铺/浮动模式
Super + Arrow 切换焦点到相邻窗口
Super + J 切换水平/垂直排列

这种设计的逻辑来自 DHH 的一个观点:「美丽的系统是有动力的系统,而生产力来自动力」。一旦习惯键盘操作,你不会再想回去用鼠标点击 Dock。


Hyprland 平铺窗口管理

Omarchy 用 Hyprland 作为 Wayland 合成器。平铺 WM 的核心思想:窗口不重叠,自动排列

打开一个窗口,占满全屏。打开第二个,两者并排。打开第三个,自动三分。不需要手动拖窗口到"左边一半"。

默认布局叫 dwindle :所有窗口始终可见,根据需要自动缩小。还有 scrolling 布局:窗口并排排列,超出屏幕边缘可横向滚动,适合多代码文件并排查看。

scss 复制代码
# 布局切换
Super + L  →  当前工作区切换 dwindle/scrolling 布局

# 快速多窗口演示:
Super + Return       → 打开终端(全屏)
Super + Shift + Return  → 打开浏览器(两分)
Super + Ctrl + T     → 打开活动监视器(浮动)
Super + Shift + F    → 打开文件管理器(四分)

窗口管理还支持:scratchpad(临时弹出面板)、sticky 窗口(跨工作区悬浮)、单窗口正方形比例固定等进阶用法。


22 套主题:跨应用同步

这是 Omarchy 设计用力最深的地方之一。每套主题一次性覆盖:

  • 桌面壁纸
  • 终端(Foot/Alacritty/Ghostty/Kitty)
  • Neovim
  • btop(活动监视器)
  • Chromium
  • 整个 Omarchy Shell(顶栏、菜单、通知、OSD、锁屏)

内置主题包括 Tokyo Night、Catppuccin、Gruvbox、Nord、Rose Pine、Hackerman、Matte Black、Vantablack 等 22 套。切换命令:

bash 复制代码
# 通过菜单切换
Super + Ctrl + Shift + Space  →  直接打开主题选择器

# 通过 CLI 切换
omarchy theme set tokyo-night
omarchy theme list

主题的核心文件是 colors.toml,定义了一组颜色变量,所有应用的配色都从这里生成。如果你想做自己的主题,复制一个现有主题到 ~/.config/omarchy/themes/ 下,修改 colors.toml 即可------系统会自动把颜色推送到所有应用。

还有一个 Aether GUI 工具,用可视化的方式调色和选背景图,比手写 TOML 直观得多。


AI 编程 Agent:一等公民

Omarchy 对 AI 编程 Agent 的态度很明确:内置支持多个主流 Agent,但不强制选择。

所有 Agent 以 lazy-load 方式存在:命令存在于 ~/.local/bin/(mise 管理的小 stub),第一次运行时才真正下载安装。

命令 Agent
claude Claude Code(Anthropic)
codex OpenAI Codex
opencode OpenCode
copilot GitHub Copilot CLI
crush Charmbracelet Crush
grok xAI Grok CLI
ori OpenRouter harness(支持把其他 agent 跑在任意模型上)

设置默认 Agent:

bash 复制代码
omarchy default agent claude
# 或通过 Super + Space → Setup > Defaults > Agent

设置完成后,Super + Shift + Ctrl + A 直接在专属终端窗口里启动默认 Agent。也有终端别名:

bash 复制代码
a   # 在当前终端内联运行默认 Agent
c   # 启动 OpenCode(自动批准模式)
cx  # 启动 Claude Code(自动批准模式)
cy  # 启动 Codex(自动批准模式)

主题切换时,Claude Code、Pi、OpenCode 的配色会自动跟随 Omarchy 主题同步------这是主题系统跨应用覆盖能力的体现。


开发工具集成

Omarchy 通过 Omarchy 菜单(Super + Space → Install > Development)内置了一整套开发环境安装支持:

类别 支持
后端框架 Ruby on Rails、Laravel、Symfony、Phoenix(Elixir)
运行时 Node.js、Bun、Deno、Python、Go、Rust、Java、.NET、OCaml、Zig、Clojure、Scala
容器 Docker + Docker Compose(预装)
编辑器 Neovim(默认)+ VSCode/Cursor/Zed/Helix/Emacs 可选安装
版本管理 Mise(统一管理多语言多版本)

多语言版本管理全部交给 Mise

bash 复制代码
# 安装并设为全局默认
mise use -g ruby

# 项目级版本(读取 .ruby-version / .node-version 等)
mise i

默认编辑器是 Neovim,基于 LazyVim 预配置,开箱即用,支持全套 LSP、模糊查找、AI 代码补全。如果你想切换编辑器,通过菜单安装后,Setup > Defaults > Editor 设置为系统默认即可,主题也会自动同步。


顶栏:可交互的信息密度

顶栏由 Quickshell 渲染,是整个 shell 进程的一部分------和菜单、通知、OSD、锁屏共享同一个进程。好处是主题切换后立刻生效,没有独立面板启动延迟。

顶栏三段式布局:

  • 左侧:Omarchy logo(菜单入口)+ 工作区指示器
  • 中间:状态指示、时钟、键盘布局、天气、更新徽章
  • 右侧:系统托盘、AI Agent 图标、蓝牙、网络、音频、显示、电源

几乎每个组件都响应左键/右键/中键点击和滚轮:

组件 左键 右键 中键/滚轮
时钟 弹出日历 切换显示格式 时区选择
天气 天气预报弹窗 推送完整天气通知 刷新
音频 音频面板 静音 中键打开面板/滚轮调音量
显示 显示面板 --- 滚轮调亮度
蓝牙 蓝牙面板 切换蓝牙开关 ---

配置与定制

Omarchy 的配置哲学:/usr/share/omarchy/ 属于系统,~/.config/ 属于你。要覆盖默认值,在 ~/.config/ 里新建对应文件即可,系统会优先读取用户配置。

关键配置文件:

文件 作用
~/.config/hypr/bindings.lua 自定义热键
~/.config/hypr/monitors.lua 显示器布局和分辨率
~/.config/hypr/input.lua 键盘布局、鼠标、触控板
~/.config/hypr/looknfeel.lua 间距、边框、动画
~/.config/omarchy/shell.json 顶栏位置、组件、屏保/锁屏计时

很多配置可以直接在菜单里编辑(Super + Space → Setup),保存退出 Neovim(:wq)后,需要重启的进程会自动重启。


更新频道

频道 说明 适合人群
stable 官方正式版本,Arch 镜像延迟一个月跟进 所有人
RC 发布候选版,正式版前的最终验证 愿意协助测试
edge 最新开发构建 + 最新 Arch 包 有 Linux 经验
dev 直接链接到本地 git checkout 参与开发
bash 复制代码
# 更新 Omarchy 和系统包
omarchy update
# 或 Super + Space → Update > Omarchy

新版本可用时,时钟右侧会出现一个圆形箭头图标,点击即开始更新。


参考资源


总结

Omarchy 是一个很典型的 DHH 风格产品:强观点、高整合、不给你太多选择------但给你一套打磨过的完整方案。

三点值得注意:

"意见鲜明"是一种工程决策,不是局限。 传统 Linux 桌面的问题往往不是缺功能,而是配置碎片化------窗口管理器、主题、编辑器、终端、通知......各自为政。Omarchy 的价值在于把这些整合成一套呼吸一致的系统。主题切换时,终端、Neovim、Chromium、顶栏全部同步,这背后需要大量的配置管道工作。

键盘驱动是生产力选择,不是极客偏好。 平铺 WM 用户的核心体验是:窗口永远在预期位置,不需要用眼睛找窗口,手离开键盘的时间大幅减少。这和 vim 的学习曲线一样------入门有门槛,但后期回报更高。

AI Agent 的集成方式值得参考。 不是把某个特定 Agent 硬绑进系统,而是用 lazy-load stub 支持所有主流 Agent,用统一的 omarchy default agent 管理默认选择,用主题系统让 Agent 的 UI 跟随系统配色。这是一种工具链设计的示范。

如果你对 Linux 桌面感兴趣,又不想从零配置,Omarchy 是目前整合度最高、UI 最精致的选项之一。


探索 PrimeSkills ------ 精选 AI agent 和技能工具,每一个都经过真实工作流验证。没有炒作,只有真正好用的工具。

访问我的个人主页,获取更多见解和有趣的产品。

相关推荐
zww89491111 小时前
AI智能商城APP定制开发实战:从需求到上线完整指南
大数据·人工智能
wangjialelele1 小时前
RAG 检索增强生成全面解析:从知识库构建到检索、重排序与生成优化
人工智能·ai·agent·rag·检索增强生成
从零开始学习人工智能1 小时前
Labelme AI-Points 功能背后的ONNX模型:下载、配置与使用解析
人工智能
招财小梗1 小时前
沈阳商贸公司AI企业服务优势几何?
大数据·人工智能·python
ZKKLLY2 小时前
生成式引擎优化赛道崛起,优质GEO服务商该如何筛选评估
大数据·人工智能
IT古董2 小时前
FDE(Forward Deployed Engineer)详解:AI时代正在崛起的新型工程师
大数据·人工智能·数据挖掘
ZISHU_9873 小时前
用 TLabel 给 SynTouch BioTac 数据做语义标注:从原始信号到结构化标注
开发语言·人工智能·python·数据·机器人触觉
hh9503 小时前
gent Plan x DeepSeek Harness:多 Agent 协作场景下的中央编排实践
人工智能·wpf·adg·火山引擎·agent plan·adg成都社区
cczixun3 小时前
2026 智能体平台落地实战:从 POC 验证到生产上线,避开选型与交付陷阱
人工智能·落地·选型·智能体·2026