avantguarda/dot
Your dotfiles anywhere, easily.
b59298f0f3ec9bcc8a413ad06af2f64d44d5d24c
Dot is an elegant and simple dotfiles manager for *unix, inspired by GNU Stow.
Initially, place you dotfiles in the folder you use to manage them. Then, map the structure to a config file called dot.toml
like this:
[dot]
source_path = 'dotfiles' # the base folder where your dotfiles are centralized
[dotfiles]
files = [ # list of dotfiles
{
source = '.gitconfig', # source dotfile (considering the source path as base)
destination = '~/.gitconfig' # place where you be in your machine (use absolute path or the ~ to represent HOME
},
{ source = '.bashrc', destination = '~/.bashrc' },
]
With your dot packages available, you can sync them to the right place in your machine:
dot sync
dot sync
works by creating symbolic links.
Move away from Swift adopting Rust or Zig languages
Include support to "dot-" prefix pre-processing based on a --dotfiles flag (similar to stow <package> --dotfiles
behavior);
Include a command to add a package in the dot directory, using --adopt flag (running the mkdir
and mv
commands can be quite boring);
Dot is still under development and I decided to only make a release when it's core features are unit-tested. Given this scenario, if you want to use Dot's binary, you will need to build it yourself.
Check Zig's guide on how to install it, after that, clone the Dot project:
git clone https://github.com/avantguarda/dot.git
Then, enter the directory and run:
zig build --release
The binary will be available under zig-out/bin/dot
.
Dot is developed completely in the open source model, and your contributions are more than welcome.
This project does not come with GitHub Issues-based support, and users are instead encouraged to become active participants in its continued development — by fixing any bugs that they encounter, or by improving the documentation wherever it’s found to be lacking.
If you wish to make a change, open a Pull Request — even if it just contains a draft of the changes you’re planning, or a test that reproduces an issue — and we can discuss it further from there.
Hope you’ll enjoy using Dot!
This project is licensed under GNU GPLv3 License. Check LICENSE for more information.