projectbluefin/common · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
bluefin-common
包含所有 Bluefin 变体(bluefin、bluefin-dx、bluefin-lts)中使用的通用配置文件的共享 OCI 层。
目录结构
本仓库将配置文件组织到两个主要目录中,这些目录非常重要:
system_files/bluefin/ - Bluefin 特定配置
Bluefin 特有的文件
- GNOME 桌面设置和主题
- Bluefin 壁纸和品牌标识
- 桌面特定的环境变量
- GNOME 初始设置配置
system_files/shared/ - 共享配置
与 Aurora 共享的文件 — Aurora 维护者可以挑选涉及此目录的提交。请在此处直接编辑;更改将在下次构建时传播到所有 Bluefin 变体。
这包括:
- 用于系统管理的
Just配方 - 用于应用程序捆绑包的 Brewfiles
- 设置钩子(特权、系统、用户)
- 容器策略和安全设置
- MOTD 模板和 CLI 装饰
- 通用 shell 配置
在 Containerfile 中的使用
将此层引用为构建阶段,并复制所需的目录:
复制所有内容:
FROM ghcr.io/projectbluefin/common:latest AS bluefin-common
# Copy all system files
COPY --from=bluefin-common /system_files /
仅复制系统配置:
FROM ghcr.io/projectbluefin/common:latest AS bluefin-common
# Copy only /etc configuration
COPY --from=bluefin-common /system_files/etc /etc
仅复制图像意见:
FROM ghcr.io/projectbluefin/common:latest AS bluefin-common
# Copy only /usr/share configuration
COPY --from=bluefin-common /system_files/usr /usr
Flatpak 自定义
Bluefin-common 提供了一个包含多个层级的全面 flatpak 自定义系统:
系统 Flatpak Brewfiles
默认 flatpaks 现在通过 Homebrew Brewfiles 进行管理,允许进行声明式的系统级安装:
system-flatpaks.Brewfile- 在所有 Bluefin 变体上安装的核心 flatpaks(包括 Firefox、Thunderbird、GNOME Circle 应用和实用工具的 37 个应用程序)system-dx-flatpaks.Brewfile- 用于 DX 模式的额外开发相关 flatpaks(包括 Podman Desktop、Builder 和 DevToolbox 的 6 个应用程序)
可以使用以下命令安装:
ujust install-system-flatpaks
Flatpak 覆盖
提供两种类型的 flatpak 覆盖,以授予特定应用程序额外的权限:
系统级覆盖(/usr/share/ublue-os/flatpak-overrides/):
io.github.kolunmi.Bazaar- 授予对host-etc的访问权限以进行系统配置
用户级覆盖(/etc/skel/.local/share/flatpak/overrides/):
com.visualstudio.code- 启用 Wayland 支持和 Podman 套接字访问com.google.Chrome- 授予对本地应用程序和图标目录的访问权限
这些覆盖会自动通过 /etc/skel 模板应用于新的用户账户。
Brewfiles
/usr/share/ublue-os/homebrew/ 目录包含可通过 bbrew 安装的应用程序捆绑包:
system-flatpaks.Brewfile- 所有 Bluefin 变体的默认系统级 flatpakssystem-dx-flatpaks.Brewfile- DX(开发者体验)模式的额外 flatpaksfull-desktop.Brewfile- 全面的 GNOME Circle 和社区 flatpak 应用集合,以提供完整的桌面体验fonts.Brewfile- 日常工作的常用字体fonts-dev.Brewfile- 用于开发的额外等宽字体cli.Brewfile- CLI 工具和实用程序ai-tools.Brewfile- AI 和机器学习工具cncf.Brewfile- 云原生计算基金会工具k8s-tools.Brewfile- Kubernetes 工具ide.Brewfile- 集成开发环境artwork.Brewfile- 设计和艺术应用
用户可以使用 ujust bbrew 命令安装这些捆绑包,该命令会提示他们选择一个 Brewfile。
CI / 测试
更改在三个层面进行验证:
如果你需要每个工作流的目的和所有权映射,请从
docs/skills/workflow-map.md 开始。
在每个 PR 上:
validate.yml—just check、shellcheck、pre-commit、子模块漂移、registry/dconf 守卫build.yml— 使用buildah构建 OCI 镜像skill-drift.yml— 当实现更改落地但没有相应的 skill-doc 更新时发出警告pr-e2e.yml— 针对下游 Bluefin 基础的咨询性组合镜像通用套件检查
合并到 main 时 — 通过 projectbluefin/testsuite 进行完整层验证:
- 针对 Bluefin LTS、Bluefin Stable 和 Dakota 运行
commonbehave 测试套件 - SSH 模式:behave 从 GHA 运行器通过 SSH 在 QEMU 虚拟机中运行 — 无需完整的 GNOME 会话,约 15 分钟完成
- 验证 dconf 默认值、锁定键、
ujust、设置脚本、桌面条目以及 shell 配置,当它们进入组合镜像时
下游测试 → 稳定版晋升之前:
promotion-candidate-e2e.yml在周二针对ghcr.io/projectbluefin/bluefin:{testing,lts-testing}运行smoke,common,为common提供关于用于晋升的确切候选标签的仓库本地信号
本地构建
just build