| Crates.io | ldfm |
| lib.rs | ldfm |
| version | 0.0.5 |
| created_at | 2025-06-18 17:32:15.942761+00 |
| updated_at | 2026-01-06 22:02:35.288302+00 |
| description | Linux Dotfiles Manager - a tool for managing dotfiles in Linux |
| homepage | |
| repository | https://github.com/s3rius/ldfm |
| max_upload_size | |
| id | 1717434 |
| size | 48,071 |
This project is a helper script for managing dotfiles. It's used to simply track files, udpate then and pull them from a remote repository.
cargo install --locked ldfm
# Or if you want to speedup the installation process, you can use the prebuilt binary
cargo binstall --locked ldfm
At first you need to initialize global config for the tool by running
ldfm init "git@.../your-repo.git"
This will create a ~/.config/ldfm/config.toml file with a path to local folder with cloned repository.
If repo does not have an ldfm.toml it will be created with default values.
In order to start tracking files, you need to run
ldfm track <path>
where <path> is a path to the file you want to track. It will path to the file and will be using it for updating repo content.
You can alsu track directories, in this case all files in the directory will be tracked.
If you want to exclude some files, you can create a .gitignore file in the directory with a list of files to ignore.
If you want to stop tracking file, you need to untrack it
ldfm untrack <path>
Where path is a path to the file you want to stop tracking. It will remove the file from the list of tracked files and will remove it from the repo.
ldfm will not automatically update files in the repo. In order to sync your local changes with the repo, you need to run this command manually:
ldfm commit
You can also add -p option to push changes to the remote repository after committing:
ldfm commit -p
In order to apply files from your remote repository, run
ldfm apply