A lightweight, automatic dotfile manager.
Here it is in action: video link
It manages your dotfiles, wherever they are.
It comes with a bunch of pre-made templates for every distro, so you don't need to specify the path to a config file manually. (But you can do that if you have a file that isn't in a template).
This is pre-release software that was tested only by me. It may wipe your whole system or literally kill your cat.
Look over the source code if you're unsure, and be careful.
ricem new my-theme
ricem track i3 .Xresources emacs ~/Pictures/wp.png
In this case, the i3 template will track the template group i3
which contains i3wm
-(file config
in ~/.i3/config
) and i3status
(file .i3status.conf
in ~/
), the emacs template will track init.el
in ~/.emacs.d/
, and so on.
ricem sync
All done!
ricem upload git@github.com:username/repo
Please note that the Github url needs to be in SSH form (like above), and you need to have a SSH key registered to your PC active on your Github account.
ricem download https://github.com/username/ricem_repo
This merges whatever themes are in that repo with your own, but it doesn't overwrite your themes in case they have the same name.
ricem import https://github.com/username/random_dotfiles_repo
For close enough file matches, this will give you a peek of the file and prompt you with a y/n as to which template you think the file belongs to, and add them to the currently selected theme. You can them apply them directly with ricem apply
.
On Arch Linux only (for now): Installing dependencies specified by the files tracked by the currently selected theme:
ricem installdeps
For example, if the currently selected theme contains the template i3
, then this command will install "i3" and "i3status" using pacman, if needed.
ricem apply my-theme
or
ricem apply
, to apply the currently selected theme.
ricem list
to list all your themes
ricem select <theme name>
to select a theme
ricem edit <template name>
to open a file in your editor (specified by $VISUAL). Example: ricem edit rc.xml
will open ~/.config/openbox/rc.xml
ricem update
will download the latest version of .conf
that contains the latest templates directly from this github repo.
- git
- wget
- GNU/Linux system: (need bash, cp, rm, mkdir, ...)
- Download
ricem
from the latest release. - Make it executable (
chmod +x ricem
) - Copy
ricem
to/usr/local/bin
(or whatever place you want that's in your path).
- clone this repo
cargo build --release
- Creating new themes
- Selecting themes
- File tracking from templates
- OS-specific templates
- Automatically detect GNU/Linux distro
- Syncing theme
- Applying theme
- File tracking from manual input
- Applying only specific files
- Syncing only specific files
- Showing which files are applied / unapplied / modified since last application.
- MORE TEMPLATES!