/dotbot

(Y)et(A)nother(D)otfiles(M)anager there are many other dotfiles managers out there but this one is mine

Primary LanguagePython

Dotbot

Dotbot

Dotbot is a script that helps you manage your dotfiles and directories in a convenient way. It allows you to selectively choose which files and folders to keep and organizes them in a specified project location. Dotbot also provides integration with Git for version control.

Features

  • Interactively select and organize dotfiles and directories.
  • Specify a project location for storing the selected dotfiles and directories, can also be done by setting an env $DOTBOT_LOCATION=/path/to/location.
  • Initialize a Git repository in the project location for version control.
  • Generate a list of selected dotfiles and directories in a text file.
  • Verify the existence of selected dotfiles and directories.
  • Option to run a separate dotbot script for further processing.

Prerequisites

  • Python 3.x
  • Git

Usage

  1. Clone the repository:

  2. Navigate to the project directory:

3 Run the dotbot.py script:

python3 dotbot.py
  1. Follow the prompts to select and organize your dotfiles and directories.

  2. Specify the project location where the dotfiles and directories will be stored. If not provided, a default location will be used.

  3. The selected dotfiles and directories will be listed, and their existence will be verified.

  4. Optionally, you can choose to run the dotbot script for further processing.

  5. If you wish to run the dotbot script separately, execute it with the following command:

bash run_dotbot.sh

Unit tests

Unit tests for the dotbot.py module can be found in the tests directory. To run the tests, you will need pytest. Install pytest using the following command:

pip install pytest

To run the tests, navigate to the project directory and execute the following command:

pytest -s

License This project is licensed under the MIT License.

Dotbot is Currently a work in progress DO NOT RUN IT! without reading the code

PR's are welcome