Skip to content

ben-z/dot-conf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dot-conf

Tests

Automatically configure modular dotfiles

Features

  • Simple YAML-based configuration
  • Support for symlinks and file copying
  • Backup of existing dotfiles
  • Cross-platform support

Installation

Install using pip

pip install git+https://github.com/ben-z/dot-conf.git

Development

  1. Clone the repository:

    git clone https://github.com/ben-z/dot-conf.git
    cd dot-conf
  2. Install in development mode with test dependencies:

    pip install -e '.[test]'

Usage

Create a configuration file (e.g., .conf.yaml) and run:

dot-conf .conf.yaml

Note that the bin directory may not already exist in path. E.g.: $HOME/Library/Python/3.9/bin/dot-conf.

Configuration

Example configuration:

backup_directory: ~/.dotfiles/backup
symlinks:
  ~/.vimrc: ~/dotfiles/vimrc
  ~/.gitconfig: ~/dotfiles/gitconfig

Development

Run tests:

python -m unittest discover -s tests -p '*_test.py'

Troubleshooting

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 setuptools

Setuptools 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" wheel

License

MIT

About

Automatically configure modular dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages