dot is a command-line tool for management dotfiles, written in Rust.
dot provides a way to organize your configuration files located at home directory.
Precompiled binaries are located at GitHub releases page.
If you want to use development version, try
cargo install to build from source, as follows:
$ cargo install --git https://github.com/ubnt-intrepid/dot.git
Clones your dotfiles repository from remote and then creates links into your home directory:
$ dot init ubnt-intrepid/dotfiles
Check if all of links are correctly existed:
$ dot check
<pattern> is set the string to determine remote repository's URL of dotfiles.
Available patterns are as follows:
URL of dotfiles repository
GitHub user and the name of repository
usernameOnly GitHub user (the name of repository is assumed to be
By default, the location of dotfiles repository is
The location can be specified by using environment variable
If you want more information, type
You must specify all of the mappings from files in dotfiles to the desired path, in
An example of
.mappings is as follows:
# $DOT_DIR/.mappings [general] gitconfig = "~/.gitconfig" "vim/vimrc" = "~/.vimrc" #... [windows] vscode = "$APPDATA/Code/User" powershell = "$HOME/Documents/WindowsPowerShell" #... [linux] xinitrc = "~/.xinitrc"
Mappings at the section
[general] are avaialble at any environment.
On the other hand, items at the other section (
[linux]) only apply specified platform.
The value of environment variables in each items are extracted.
See also my dotfiles for details.
dot is distributed under the MIT license.
See LICENSE for details.