Expand description
badm is a tool that stores your configuration files, or
dotfiles, in a directory that replicates the directory hierarchy of the
dotfiles’ original path, and creates symlinks to their original paths. This creates a
standardized and systematic approach for managing, deploying, and sharing dotfiles
among different systems and users.
badm is ultimately “But Another Dotfiles Manager”.
§Examples
- ferris has created a directory to store their dotfiles at
~/.dots badm set-dir ~/.dotssets the BADM dotfiles dir at~/.dots- badm will search for a badm config file at one of the two valid locations:
$HOMEand$XDG_CONFIG_HOME. If the config file not found, badm will create it under$HOME
/home
└── ferris
└── .dots
├── .badm.toml
└── .gitconfig
- to store
~/.gitconfigas a dotfile, ferris runsbadm stow ~/.gitconfig(relative paths work as well) - badm replicates the path of the dotfile under the
~/.dotsdirectory - the dotfile is moved to this new path in the set dotfiles directory and symlinked at its original path which points to its new path
/home
└── ferris
├── .badm.toml
├── .dots
│ └── home
│ └── ferris
│ └── .gitconfig
└── .gitconfig -> /home/ferris/.dots/home/ferris/.gitconfig
§Commands
badm set-dir <DIRECTORY>- set dotfiles directory location, if the location is not created BADM has the ability to create one for youbadm stow <FILE>- store a file in the dotfiles directory, create a symlink at the original source of the stowed file.badm deploy <FILE>- for new configurations, create symlinks in directories relative to the dotfile’s directory hierarchy. Directories to replicate the stored dotfile’s directory structure will be created if not found.badm restore <FILE>- restore the stored file from the dotfiles directory and replace the symlink with the original file
Modules§
- commands
- Includes the commands used by the badm crate/application.
- paths
- Includes paths/fs-specific helper functions.
Structs§
- Config
- Handles and saves configuration variables between application calls.
- DirScanner
- Struct used to traverse directories and collect entries located within.
- File
Handler - Moves, stores, and creates files and symlinks.