Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ubnt-intrepid/dot
Yet another management tool for dotfiles
https://github.com/ubnt-intrepid/dot
dotfiles rust utility
Last synced: 2 months ago
JSON representation
Yet another management tool for dotfiles
- Host: GitHub
- URL: https://github.com/ubnt-intrepid/dot
- Owner: ubnt-intrepid
- License: mit
- Created: 2016-10-19T06:43:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-17T01:24:37.000Z (over 2 years ago)
- Last Synced: 2024-08-03T11:09:38.473Z (6 months ago)
- Topics: dotfiles, rust, utility
- Language: Rust
- Homepage:
- Size: 132 KB
- Stars: 228
- Watchers: 2
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `dot`
![GitHub Actions](https://github.com/ubnt-intrepid/dot/workflows/Workflow/badge.svg)
`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](https://github.com/ubnt-intrepid/dot/releases/latest).
If you want to use the development version, try `cargo install` to build from source:```shell-session
$ cargo install --git https://github.com/ubnt-intrepid/dot.git
```## Example Usage
Clone your dotfiles repository from github and then create home directory symlinks:
```sh
$ dot init ubnt-intrepid/dotfiles
```Check if all of the links exist and are correct:
```sh
$ dot check
````` 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
* `[email protected]: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](https://github.com/toml-lang/toml). For example:```toml
[general]
gitconfig = "~/.gitconfig"
"vim/vimrc" = ["~/.vimrc", "~/.config/nvim/init.vim"]
#...[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](https://github.com/ubnt-intrepid/dotfiles) for a real example.
## License
`dot` is distributed under the MIT license.
See [LICENSE](LICENSE) for details.## Similar Projects
- [ssh0/dot](https://github.com/ssh0/dot)
written in shell script
- [rhysd/dotfiles](https://github.com/rhysd/dotfiles)
written in Golang