2 个版本 (1 个稳定版)
1.0.0 | 2023 年 5 月 25 日 |
---|---|
0.1.0 | 2023 年 5 月 23 日 |
#8 in #更新
每月 28 次下载
42KB
641 行
hdn:更新 home.nix 的工具
Home Manager 很棒,但是每次安装软件包时都要运行 home-manager edit
、添加软件包到文件,然后运行 home-manager switch
,这很麻烦。
我希望有一个像 Poetry 那样的工作流程,我可以通过一个命令添加软件包并安装它。所以,我创建了 hdn
。
例如,您可以使用 hdn add pkgs.hello pkgs.cowsay
调用它。
这将 pkgs.hello
和 pkgs.cowsay
添加到 home.packages
属性中的 home.nix
,并调用 home-manager switch
。
如果 home-manager switch
失败,它将自动将 home.nix
回滚到其原始状态。
要求
此程序需要
- 您在 PATH 上有
home-manger
home.nix
位于默认位置之一(即,~/.config/home-manager/
、~/.config/nixpkgs/
、~/.nixpkgs/
)home.nix
包含属性home.packages
,用户环境的软件包列表
这些要求应与默认的 home-manager 安装一致。
免责声明
此程序使用 Rust,实际上我不知道如何用 Rust 编程。
(我选择 Rust 是因为我发现了一个用于轻松读取和写入 nix 文件的 Rust 库。)
将来我会回去,真正学习 Rust,并重新编写它,但现在是自担风险使用。
安装
版本在 crates.io 上可用。
cargo install hdn
致谢
此项目得以实现得益于他人的工作(我合法地将其纳入)。
我感谢 Victor Fuentes 在 nix-editor 上的工作;nix 解析和编写的代码来自他的项目。
我要感谢Armin Ronacher在similar项目上的工作;显示home.nix
差异的代码来自他的项目。
依赖项
约3.5MB
约64K SLoC