开源项目第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 和技能工具,每一个都经过真实工作流验证。没有炒作,只有真正好用的工具。

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

相关推荐
迷路爸爸180几秒前
梯度消失和梯度爆炸
人工智能·深度学习·机器学习
狂野小白兔3 分钟前
AI游戏制作00——AI制作游戏需要准备的前置条件
人工智能·游戏
龙亘川3 分钟前
体育赛事多域融合|助推文体旅高质量发展
人工智能·智慧城市·开源软件·数据可视化
AI日报派送佬6 分钟前
2026年10月5日AI行业日报|中美模型差距缩至3%,物理AI百亿估值爆发,决策模型国产开源竞速
人工智能·openai·ai智能体·ai日报·物理ai·算力基建·ai商业化
Omics Pro10 分钟前
微软:多模态生物世界模型
数据库·人工智能·算法·microsoft·机器学习·自然语言处理
“AI国潮设计-小江”14 分钟前
《Python+SDXL实战:用ControlNet批量生成“英歌舞草莓蛋糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
Dawson Zhu15 分钟前
《Agentic Design Patterns》第 2 章导读:路由(Routing)
人工智能·语言模型·架构·aigc·agi
hai31524754316 分钟前
语言学集合定律
人工智能·算法
国科安芯18 分钟前
低轨卫星导航授时载荷中高精度定时控制器的时钟稳定性与抗辐射特性研究
网络·人工智能·低轨卫星·商业航天·授时·抗辐射·时钟稳定
大圣编蚕19 分钟前
Schrodinger Suites 2026 专业版全面介绍:药物发现与材料科学计算一体化平台
人工智能