dotfm is a simple and easy to use dotfile manager.
It's basically just a Python script to short-hand managment of symlinking dotfiles. It's goal is to allow you to keep all your dotfiles in a single directory (ideally without any nesting inside that dir) and allowing you to name the dotfiles whatever you want (not forcing you to use hidden file naming).
If you don't want to remember or type out the location of a dotfile everytime you want to modify it, if you just want to keep your dotfiles tidy in a repo/directory (see fig.1), maybe you swap dotfiles around a lot:
dotfiles/
├───src/
│ ├───bashrc
│ ├───nvimrc
│ ├───tmux.conf
│ ├───ssh_config
│ └───user-dirs.dirs
└───README
Opposed to the traditional approach, where you re-create the home directory structure and just clone it to your home folder (which I find to be messy):
dotfiles/
├───.bashrc
├───.tmux.conf
├───.ssh/
│ └───config
└───.config/
├───nvim/
│ └─── nvimrc
└───user-dirs.dirs
See the README for more details on using the tool.
Usage examples:
dotfm install ~/dev/gearsix/dotfiles/bashrc
= creates a symlink at~/.bashrc -> ~/dev/gearsix/dotfiles/bashrc
dotfm edit bashrc
= edit the dotfile at~/dev/gearsix/dotfiles/bashrc
dotfm update bashrc ~/dev/gearsix/new-dotfiles/bashrc
= update the~/.bashrc
dotfile to point to~/dev/gearsix/new-dotfiles/bashrc
dotfm remove bashrc
= remove the symlink pointing to the source dotfile (~/.bashrc
), note that this makes a interactiverm
call.