Automatically configure modular dotfiles
- Simple YAML-based configuration
- Support for symlinks and file copying
- Backup of existing dotfiles
- Cross-platform support
pip install git+https://github.com/ben-z/dot-conf.git-
Clone the repository:
git clone https://github.com/ben-z/dot-conf.git cd dot-conf -
Install in development mode with test dependencies:
pip install -e '.[test]'
Create a configuration file (e.g., .conf.yaml) and run:
dot-conf .conf.yamlNote that the bin directory may not already exist in path. E.g.: $HOME/Library/Python/3.9/bin/dot-conf.
Example configuration:
backup_directory: ~/.dotfiles/backup
symlinks:
~/.vimrc: ~/dotfiles/vimrc
~/.gitconfig: ~/dotfiles/gitconfigRun tests:
python -m unittest discover -s tests -p '*_test.py'If installation produces a package named UNKNOWN or the dot-conf command is missing, this usually means your version of pip or setuptools is too old and does not respect pyproject.toml builds.
To check your setuptools version, run:
python3 -m pip show setuptoolsSetuptools must be at least version 61.0, and pip should be modern (version 23 or later).
To upgrade pip and setuptools to appropriate versions, run:
python3 -m pip install "setuptools>=61" "pip>=23" wheelMIT