7个版本 (稳定版)
使用旧的Rust 2015
1.1.6 | 2023年12月27日 |
---|---|
1.1.3 | 2018年6月11日 |
1.1.2 | 2017年9月14日 |
1.1.0 | 2017年7月19日 |
0.1.0 | 2017年7月1日 |
#38 在 配置
每月22次下载
58KB
1K SLoC
polk
Dotfile管理器。
安装
使用Cargo
cargo install polk
示例
常规使用
# Grab and symlink dotfiles from my GitHub account.
# (assumes repository named 'dotfiles')
polk setup github:dylanmckay
# Grab and symlink dotfiles from another repository.
polk setup github:dylanmckay/otherdotfiles
多个用户/dotfile仓库
# Set up dotfiles for the default user (with what your computer username is).
# Also symlink them to ~/
polk setup github:dylanmckay
# Download dotfiles to a local cache folder but don't create symlinks
polk grab --user bob github:bob67
# Open a shell to a custom home folder with dotfiles symlinked.
polk shell --user bob
# Create symlinks to the currently grabbed dotfiles
# Replace symlinks in ~/ with what bob has
polk link --user bob
# Update the dotfiles (via git)
polk update
# Remove all symlinks created by polk.
polk unlink
实用工具
# Remove all symlinks and cached dotfiles/repositories (~/.polk)
polk forget
# Print a bunch of information
polk info
您的dotfiles仓库
仓库通常看起来是这样的
.
..
.bashrc
.rspec
.tmux.conf
.tmux.linux.conf
.vim
.config/awesome/config.lua
README.md
符号链接是如何工作的
以下是一个表格,展示了仓库中的dotfiles如何映射到$HOME
中的符号链接。
文件 | 符号链接 |
---|---|
.bashrc |
~/.bashrc-> ~/<dotfiles仓库路径>/.bashrc |
.tmux.conf |
~/.tmux.conf-> ~/<dotfiles仓库路径>/.tmux.conf |
.config/awesome/config.lua |
~/.config/awesome/config.lua-> ~/<dotfiles仓库路径>/.config/awesome/config.lua |
子目录中的配置文件处理
如上表所示,如果dotfile位于子目录中,则这些目录将在$HOME
中创建,然后在子目录中创建指向dotfile的符号链接。
使用此工具无法将dotfiles仓库中的整个目录符号链接到$HOME
。如果可以这样做,应用程序可能会将新文件写入仓库,这是不好的。
功能标志
Dotfiles可以在它们的文件名中提及所需的功能。这些dotfiles将根据当前系统有条件地符号链接。
当dotfile被链接时,所有功能标志都将替换为功能名称。例如,linux
将变为os
,x86
将变为arch
,而unix
将变为family
。因此,可以在所有架构上以相同的方式源OS或arch特定的dotfiles。
示例
文件 | 符号链接 | 注意 |
---|---|---|
.tmux.conf |
~/.tmux.conf |
没有功能标志,总是会被链接 |
.tmux.linux.conf |
~/.tmux.os.conf |
仅在Linux上链接 |
.tmux.linux.x86.conf |
~/.tmux.os.arch.conf |
仅在x86 Linux上链接 |
依赖关系
~15–26MB
~450K SLoC