Config Matrix is a CLI-based application designed to help manage computer setups using profiles and setup steps. This tool is intended for streamlining the process of configuring multiple computers by automating the application of predefined steps and profiles.
- Development Environment Setup: Standardize dev environment configurations across team members.
- IT Deployment: Manage computer setup procedures for new employees or hardware.
- System Administration: Track software installation and configuration tasks
- Personal Computer Management: Organize setup steps for personal devices or family computers
- Profile Management: Create and manage profiles to group related setup steps.
- Setup Steps: Define individual setup tasks, which may include instructions or download links.
- Computer Tracking: Create computers with assigned profiles to track setup progress.
- Interactive CLI: User-friendly command-line interface to manage operations efficiently.
- Language: Python 3
- Database: SQLite with SQLAlchemy ORM
- Interface: Interactive command-line interface
- Architecture: Modular design with separate modules for profiles, steps, computers, and database management
-
Clone the repository:
git clone https://github.com/yourusername/config-matrix.git cd config-matrix
-
Set up a virtual environment:
python3 -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
Run the CLI:
python3 cli.py
profiles
: Manage setup profilessteps
: Manage setup stepscomputers
: Manage computers and track progresshelp
: Show the help menuexit
: Exit the application
- Create setup steps: Use
steps -> new
to define setup tasks. - Create profiles: Assign steps using
profiles -> new
,profiles -> toggle
. - Manage computers: Add computers with profiles and track progress using
computers
commands.
- Type
help
in any submenu for specific commands. - Use
exit
to return to previous menu levels.
Contributions are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the Apache License 2.0 – see the LICENSE file for details.
A slick web app version of Config Matrix is in the works – same power, now with buttons. 😉