ITADN
nix-community/plasma-manager
nix-community/plasma-manager · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

使用 Home Manager 管理 KDE Plasma

本项目旨在提供 Home Manager 模块,允许你 使用 Nix 配置 KDE Plasma。

目录

支持的版本

plasma-manager 同时支持 plasma 5 和 plasma 6。trunk 分支是 最新的分支,主要专注于 plasma 6,但可能仍然适用于 plasma 5。如果你正在运行 plasma 5,建议使用 plasma-5 分支,该分支旨在与 plasma 5 具有更好的兼容性。要使用 flakes 实现这一点,你可以使用 "github:nix-community/plasma-manager/plasma-5" 作为你的 flake url,或者如果你正在使用 nix-channels,你可以将 channel url 设置为 "https://github.com/nix-community/plasma-manager/archive/plasma-5.tar.gz"。值得 注意的是,plasma 5 分支由于维护所需的额外工作, 在功能上可能会稍显滞后,但总体而言,当与 plasma 5 一起使用时,它应该 更少出现损坏。如果你想要与 plasma-manager 的最佳体验,建议运行 plasma 6。

支持的内容

目前 plasma-manager 支持配置以下内容:

  • KDE 配置文件(通过 files 模块)
  • 全局主题、配色方案、图标、光标主题、壁纸(通过 workspace 模块)
  • 桌面图标、小部件和鼠标操作(通过 desktop 模块)
  • Spectacle 快捷键配置(通过 spectacle 模块)
  • 快捷键(通过 shortcuts 模块)
  • 热键(通过 hotkeys 模块)
  • 面板和额外小部件(通过 panels 模块)
  • 键盘、触摸板和鼠标(通过 input 模块)
  • KRunner(通过 krunner 模块)
  • 屏幕锁定(通过 kscreenlocker 模块)
  • 字体(通过 fonts 模块)
  • 窗口规则(通过 window-rules 模块)
  • 会话(通过 session 模块)
  • KDE 应用(通过 apps 模块)。特别是以下 KDE 应用在 plasma-manager 中有模块:
    • ghostwriter
    • kate
    • konsole
    • okular

此外,除了上述列出的功能外,还有更多功能,未来还将增加更多功能!

目前支持不佳的内容

目前也有一些功能支持得不太好,特别是:

可能还有更多我们尚未意识到的问题。如果你发现其他 限制,请随时提交 issue 或 pr。

不支持的内容

由于技术原因,本项目有一些超出范围的事项。例如

  • Plasma 登录配置(需要 root 权限,因此不适用于 home-manager 模块)

快速入门

我们提供了一些示例来帮助你入门。这些示例位于 examples 目录中。在这里,你尤其可以找到:

未来会有更多!这些应该能让你对如何开始使用 plasma-manager 有一些了解。

此外, 包含所有受支持的 plasma-manager 选项的手册部分 可能也会有所帮助。

使用 overrideConfig 使您的配置更具声明性

默认情况下,plasma-manager 只会将指定的配置写入 各个配置文件,而保持其他所有选项不变。这样,未在 plasma-manager 中指定的设置将保持不变,这意味着在 plasma-manager 之外所做的配置仍然会生效。这可能导致即使使用相同的 plasma-manager 配置,不同机器上的设置也会不同。如果您更喜欢声明式方法,请考虑启用 overrideConfig。这会使所有未由 plasma-manager 设置的选项 在登录时设置为默认值。实际上,这就变成了一个声明式 设置,类似于您从大多数 home-manager 选项/模块中预期的那样。

需要注意的是,启用此选项将在 home-manager 激活时删除所有 KDE 配置文件,并用由 plasma-manager 生成的配置文件 替换它们。因此,如果您不想丢失这些文件,请在启用此选项之前务必备份您的 KDE 配置文件。

使用 rc2nix 捕获当前配置

为了更轻松地迁移到 plasma-manager,并在不使用 overrideConfig 时帮助维护您的 Nix 配置,本项目包含一个名为 rc2nix 的工具。

该工具将读取 KDE 配置文件并将其转换为 Nix。 转换后的配置将写入标准输出。这使得以下操作变得容易:

  • 生成初始的 Plasma Manager 配置文件。
  • 通过在使用 GUI 工具之前和之后捕获文件,然后使用 diff 来查看 GUI 工具更改了哪些设置。

请记住,rc2nix 模块并不完美,并且通常会给出某种程度上的次优配置(在某些情况下,当使用更高级别的模块可以实现更好的配置时,它可能会优先使用 files 模块)。然而,它仍然是一个有用的工具,可以快速让你的配置运行起来,或者将 gui 设置应用生成的配置文件转换为 nix 表达式。

要运行 rc2nix 工具而无需克隆此仓库,请运行 以下 shell 命令:

nix run github:nix-community/plasma-manager

贡献与维护

这是一个社区项目,我们欢迎所有贡献。KDE plasma 及其 应用程序包含大量配置选项,如果您发现某些 选项缺失并且具备实现这些功能的技能,非常欢迎提交 PR。 从功能请求到错误报告,或 仅仅是关于改进项目的一般性建议,也欢迎提交 Issue。

特别感谢

plasma-manager 最初是在 pjones](https://github.com/pjones) 下开始开发的,其贡献为该项目奠定了 至今的基石。该项目还受到 Home Manager Issue #607 上诸如 bewkurnevsky 等人建议的启发。谢谢你们。