mirror of
https://github.com/Melorise/amber-pm.git
synced 2026-11-07 14:49:32 +00:00
将 NixOS 宿主的程序依赖、桌面资源和持久化状态接入 APM 的 Debian 容器运行链路,支持系统更新后的脚本刷新、桌面启动器发现应用, 以及容器应用访问宿主字体、光标主题和 GTK 运行时资源。 - 新增 amber-pm-ace-init 入口,为初始化提供宿主命令依赖。在 NixOS 上使用容器内的 Bash、PATH 和 locale 工具执行初始化, 通过错误检测终止失败流程,在全部步骤完成后写入成功标记。 - 系统激活时从当前 Nix 构建刷新 /var/lib/apm 中 APM 自身的脚本 和容器工具,使解释器路径随系统版本同步。刷新范围限定到 APM 管理的文件,已安装应用继续使用原有运行环境。 - 在 NixOS 上通过 XDG_DATA_DIRS 注册 APM 的应用入口和图标, 由桌面环境直接发现并展示容器应用。 - 根据 fonts.packages 生成 fontconfig 配置,通过 /host 将宿主 字体接入容器,并合并容器字体和用户字体。显式设置的 FONTCONFIG_FILE 具有最高优先级。 - 解析宿主光标主题的符号链接,将真实路径映射为容器可访问的 /host 路径。从 XSettings 读取光标主题和尺寸,使桌面图形设置 在应用启动时生效,显式设置的光标环境变量优先。 - 为 NixOS 应用和调试入口补充容器自身的 XDG 数据目录,使 GTK 正确加载 MIME 数据库、GSettings schema 和图标,修复文件选择器 因 PNG 解码失败而崩溃的问题。 宿主平台检测负责选择初始化和资源集成流程:NixOS 使用上述桥接, 其他发行版使用现有桌面集成、Shell 和 locale 初始化流程。通用 初始化代码修正参数引号、账户记录换行和重复执行时的链接创建。 Nix 打包表达式通过显式参数接收 src,支持 source 别名,同时传入 时以 src 为准。固定 Flake 依赖版本,补充 NixOS 使用文档和构建 检查,验证包参数兼容性、图形环境变量优先级及平台分支行为。