18 个版本
0.4.0-alpha.0 | 2024 年 7 月 10 日 |
---|---|
0.3.5 | 2024 年 7 月 9 日 |
0.3.2 | 2024 年 1 月 6 日 |
0.3.0-alpha.1 | 2023 年 11 月 28 日 |
0.1.1 | 2023 年 7 月 13 日 |
#32 在 配置
每月 177 次下载
110KB
2K SLoC
dotbak
轻松管理和备份 dotfiles!
$ dotbak sync
⏳ Syncing dotfiles...
[1/4] 📦 Committing changes ... ✅
[2/4] 📥 Pulling changes ...... ✅
[3/4] 📤 Pushing changes ...... ✅
[4/4] 🔄 Synching state ....... ✅
✨ Done! [1 second]
为什么是 dotbak?
因为其他人都在做自己的事情,我也想做自己想做的事情。毕竟,为什么我要相信别人的糟糕的 CLI 呢?当我可以创建自己的聪明、神奇、绝对不是糟糕的 CLI 时,为什么还要相信别人呢?
安装
使用 cargo install dotbak
安装。这将把 dotbak
二进制文件安装到 $HOME/.cargo/bin/dotbak
。请确保此目录已添加到您的 $PATH
。如果需要升级,请运行相同的命令。
提示:您可以在命令中添加
--force
以强制重新安装,即使没有新版本。
Dotfile 管理
Dotfiles 被链接并存储在 $HOME/.dotbak/dotfiles
。当第一次运行 dotbak init
时,将自动创建此目录。在此目录中,dotbak
管理一个 Git 仓库,所有 dotfiles 都存储在这个仓库中。
要添加或删除dotfiles,请使用dotbak add
和dotbak remove
命令。这些命令会将文件添加或从仓库中移除,并将文件通过符号链接或恢复到$HOME
目录。当提供文件路径时,请确保路径相对于$HOME
。例如,如果您想添加$HOME/.dotbak/config.toml
,则应运行dotbak add .dotbak/config.toml
。
提示:
dotbak
不会从$HOME
中删除文件,如果这些文件不是由dotbak
管理的。
当运行dotbak sync
时,dotbak
会将所有更改提交到仓库,将更改推送到远程仓库,然后从远程仓库拉取任何更改。除非明确指定,否则所有其他命令都不会从远程仓库推送或拉取更改(当然,除了push
和pull
)。
提示:在添加或删除文件后运行
dotbak sync
以从远程仓库推送或拉取更改。如果您不想保留更改,请运行dotbak undo
以撤销更改。这只会影响尚未推送到远程仓库的更改。
配置
dotbak
的配置存储在$XDG_HOME_DIR/.dotbak/config.toml
或$HOME/.dotbak/config.toml
。在第一次运行dotbak init
时,会自动创建此文件。
repository_url
远程git仓库的URL。这是在仓库不存在时用于克隆仓库,以及将更改推送到和从仓库拉取的URL。此外,如果本地仓库被删除或损坏,此URL将用于再次克隆仓库。
files
这些告诉dotbak
您如何设置管理文件的设置。
files.include
目前,只有files.include
,这是一份您想要管理的所有文件和文件夹的列表。例如,如果您想管理您的.dotbak/config.toml
文件,则将files.include
设置为[".dotbak/config.toml"]
。这告诉dotbak
管理位于$HOME/.dotbak/config.toml
的文件。请注意,路径相对于$HOME
。
[files]
include = [".dotbak/config.toml"]
请注意,此 dotbak
配置也可以与普通文件夹一起使用,例如 .config
或 .local
。例如,要备份 .config
文件夹,您可以将 files.include
设置为 [".config"]
,或者运行 dotbak add .config
,这将自动将文件夹添加到 files.include
列表。
待办事项
- 更新用户界面,使其更友好。
- 调整 "步骤" 后的间距,以确保旋转器/表情符号始终在同一列。
- 在终端中显示
dotbak
运行的命令的 stdout/stderr。- 修复输出中的额外换行符。
- 重构代码以使其更模块化。
- 自动修复合并问题/询问用户是否要修复合并问题。
- 创建一个
undo
/rollback
命令来撤销dotbak
制作的最近更改。 - 作为守护进程在后台运行
dotbak sync
(在登录/每 x 分钟)。 - 通过 CI(CircleCI)为 Linux 和 macOS 创建二进制发布版本。
- 为
dotbak
创建 AUR/Homebrew 软件包。
依赖关系
~6–18MB
~195K SLoC