briantully / dot

Yet another management tool for dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dot

Build Status Build status

dot is a command-line tool for managing dotfiles, written in Rust.

Overview

dot provides a way to organize configuration files in your home directory.

Installation

Precompiled binaries are on our GitHub releases page. If you want to use the development version, try cargo install to build from source:

$ cargo install --git https://github.com/ubnt-intrepid/dot.git

Example Usage

Clone your dotfiles repository from github and then create home directory symlinks:

$ dot init ubnt-intrepid/dotfiles

Check if all of the links exist and are correct:

$ dot check

<pattern> determines the remote repository's URL of dotfiles.

Pattern types:

  • (http|https|ssh|git)://[username@]github.com[:port]/path-to-repo.git – URL of dotfiles repository
  • git@github.com:path-to-repo.git – SCP-like path
  • username/dotfiles – GitHub user and repository
  • username – GitHub user only (repository dotfiles, e.g.: https://github.com/myuser/dotfiles)

By default, the repository will be cloned locally to $HOME/.dotfiles. This can be overridden with $DOT_DIR.

For more information, run dot help.

Configuration

$DOT_DIR/.mappings where the symlinks are defined in TOML. For example:

[general]
gitconfig   = "~/.gitconfig"
"vim/vimrc" = "~/.vimrc"
#...

[windows]
vscode = "$APPDATA/Code/User"
powershell = "$HOME/Documents/WindowsPowerShell"
#...

[linux]
xinitrc = "~/.xinitrc"

Use [general] for symlinks on all platforms. [windows], [linux], [macos] for symlinks on specific platforms.

See my dotfiles for a real example.

License

dot is distributed under the MIT license. See LICENSE for details.

Similar Projects

About

Yet another management tool for dotfiles

License:MIT License


Languages

Language:Rust 87.1%Language:Shell 10.9%Language:PowerShell 2.0%