1个不稳定版本

0.1.0 2024年3月11日

#1340开发工具

Apache-2.0

18KB
497 代码行

deftsilo

deftsilo是一个关注可移植性的dotfiles管理器。Deftsilo生成一个shell脚本作为中介,确保更新dotfiles的可移植性和安全性。生成的脚本不会覆盖尚未提交到git的dotfiles。例如,如果~/dotfiles包含dotfiles,我们可以执行以下操作

cargo run -- --path ~/dotfiles

这将部分生成以下脚本

deftsilo_mkdir ".ssh" 775
deftsilo_mkdir ".vim" 775
deftsilo_mkdir ".vim/colors" 775
deftsilo_mkdir ".vim/spell" 775
deftsilo_mkdir ".vim/syntax" 775
deftsilo_mkdir ".zkbd" 775
deftsilo_mkdir "bin" 775
deftsilo_mkdir "mail" 775
deftsilo_install ".gitconfig" 664 089886a87f7c859b19764957a029c69bcbe120fa0d0388c256205b5fdaf4529a 089886a87f7c859b19764957a029c69bcbe120fa0d0388c256205b5fdaf4529a 1b4afc46b49c07cab0339a83cd8c3105d39f43d7aa25f0df6674c40737b15f7c 1b4afc46b49c07cab0339a83cd8c3105d39f43d7aa25f0df6674c40737b15f7c 83d75106ccfd35c9c50b926cdc13e54cad4027837f27b990c5ec2d2c07d7ab33 bd3d940866bb88a53d13292a58d233951ad5ec2e544724a96abcec75791777de fab34430cb6000a8bf387490976088a83cf18d44b1597e6f8c8574bbfbfff2eb bc5f7f1873058329c496269c1c286d134bbd8e0c8cc692e3fc95cd29fceb9059

此输出省略了定义deftsilo_mkdirdeftsilo_install命令的前置部分。我们可以看到.gitconfig的安装列出了几个sha256sum散列。只有在匹配这些散列之一时,Deftsilo才会覆盖.gitconfig。通过这种方式,您可以在多台机器上管理dotfiles,并在更改会覆盖从未提交到版本控制系统的文件时收到警告。可以使用-l标志将文件链接而不是复制。

您可以使用以下命令运行deftsilo脚本的单元测试,以测试您的平台的可移植性

cargo run -- --test >! test.sh && /bin/sh test.sh testing-dir

状态

积极开发和测试。

范围

此crate提供了用于生成可移植dotfiles安装shell脚本的deftsilo工具。

文档

最新文档始终可在docs.rs上找到。

依赖项

~2.5MB
~49K SLoC