Dotfile manager.
bash
cargo install polk
```bash
polk setup github:dylanmckay
polk setup github:dylanmckay/otherdotfiles
polk grab github:dylanmckay
polk link
polk update
polk unlink
polk forget
polk info ```
A repository would generally look something like this
.
..
.bashrc
.rspec
.tmux.conf
.tmux.linux.conf
.vim
.config/awesome/config.lua
README.md
Here is a table of how dotfiles within a repository map to symlinks in $HOME
.
|| File || Symlink ||
| .bashrc
| ~/.bashrc -> ~/<dotfiles repository path>/.bashrc
|
| .tmux.conf
| ~/.tmux.conf -> ~/<dotfiles repository path>/.tmux.conf
|
| .config/awesome/config.lua
| ~/.config/awesome/config.lua -> ~/<dotfiles repository path>/.config/awesome/config.lua
|
As you can see in the above table, if a dotfile resides in a subdirectory(s), those directories
will get created in $HOME
and then a symlink to the dotfile will be created within the subdirectories.
It is not possible with this tool to symlink an entire directory within a dotfiles repository to $HOME
.
If this were possible, applications would/could write new files into the repository, which isn't good.