| Crates.io | dfl |
| lib.rs | dfl |
| version | 0.2.0 |
| created_at | 2025-08-24 06:33:31.427438+00 |
| updated_at | 2025-08-24 07:12:35.672159+00 |
| description | A command-line tool for managing your dotfiles with Git. |
| homepage | |
| repository | https://github.com/aashish-thapa/dfl |
| max_upload_size | |
| id | 1808123 |
| size | 29,467 |
dfl is a simple, fast, and feature-rich command-line tool for managing your dotfiles with Git.
It automates moving, symlinking, and syncing your configuration files across multiple machines.
Whether you're setting up a fresh dev box or keeping your fleet consistent, dfl provides a seamless workflow.
~/.dfl).If you have Rust installed:
cargo install dfl
This installs the binary to ~/.cargo/bin.
Be sure that directory is in your PATH.
Clone the repository:
git clone https://github.com/aashish-thapa/dfl.git
cd dfl
Build and install the executable:
cargo build --release
sudo mv target/release/dfl /usr/local/bin/
Create ~/.dfl and initialize it as a Git repo:
dfl init
Automatically move a file into the repo, create a symlink back, and commit:
dfl add ~/.bashrc
Tip: Repeat
dfl addfor other files like~/.zshrc,~/.gitconfig,~/.config/nvim/init.lua, etc.
To save your dotfiles to a remote repository like GitHub, first create an empty repository on GitHub, then add it to your dfl project.
dfl remote add https://github.com/your-username/mydotfiles.git
Now you can easily push your changes to the remote.
dfl push
To get the latest changes on a new machine, first clone your repository into ~/.dfl, and then pull and sync.
cd ~
git clone https://github.com/your-username/mydotfiles.git .dfl
dfl pull
dfl sync
(If your tool uses a different subcommand name like deploy, replace accordingly.)
We welcome contributions!
git checkout -b feature/AmazingFeaturegit commit -m 'feat: Add amazing feature'git push origin feature/AmazingFeatureLicensed under the MIT License. See the LICENSE file for details.
Created by aashish-thapa.