d8888b. d88888b. 8888888b 8888b d8888
88 `8D 88 `8D 88' 88'YbdP`88
88oobY' 88 88 88ooo 88 88 88
88`8b 88 88 88 88 88
88 `88. 88 .8D 88 88 88
d88b d88 Y88888D' d88b d88b d88b
The Rusty DotFiles Manager.
Copyleft (ɔ) 2021, Wafelack
Introduction
RDFM is the Rusty DotFiles Manager, based on a homemade linking system and configured by a simple file ; it is intended for everyone who needs an easy and reliable way to manage and share dotfiles.
Roadmap
- Dotfiles adding.
- Dotfiles linking.
- Setup command.
- Dotfiles pulling.
-
XDG_CONFIG_HOMEsupport. - Default target name.
- Reverse linking.
Installation
- To install RDFM you can either:
- Recommended Build the project from source
- Run
cargo install rdfm - Run
bruh install rdfm - Download the latest binary from the releases page
Getting Started
In this guide, the $FOLDER variable will refer to your $XDG_CONFIG_HOME folder if it is set, or $HOME if it is not.
Setting up rdfm
RDFM can be set up with the command rdfm setup, that will create a $FOLDER/.dotfiles/ directory and a $FOLDER/.dotfiles/dotfiles.rdfm file.
Adding dotfiles
You can add dotfiles to the $FOLDER/.dotfiles/dotfiles.rdfm file with the rdfm add $src $dest command
that can be used as following:
# This file is created by rdfm and is not intended for manual editing.
Removing dotfiles
To remove dotfiles from $FOLDER/.dotfiles/dotfiles.rdfm, you can use the rdfm remove $pattern command
that will remove every line containing one or more occurences of $pattern.
Proceeding linking
To proceed linking and copy your dotfiles to the $FOLDER/.dotfiles folder, you'll use the rdfm proceed command.
Pulling dotfiles
To pull dotfiles from an external repo, you can use rdfm pull $repo as following:
Contributing
- There are a few rules that contributors may respect:
- Format your code using
cargo fmt. - Follow the commit rule, gitmoji.dev or at least conventional commits.
- Use semantic versioning
- All submited code has to be working.
- Format your code using
Legal
RDFM is distributed under the GNU Affero General Public License version 3.0 (AGPL-3.0) as described in the LICENSE file.
Build from source
- Clone the project:
git clone git@github.com:Wafelack/rdfm.git. cdinrdfm/and runcargo build --release.- Add the produced binary somewhere in your $PATH.