buddy.config is an extensible setup script designed to quickly provision a personal computing environment. It helps you install packages, manage dotfiles, and configure your system reproducibly.
-
Clone the repository:
git clone https://github.com/BadrChoubai/buddy.config.git cd buddy.configIf you don’t have Git installed:
sudo apt install git
-
Run the setup script:
./setup.sh
-
Follow the prompts to complete your configuration.
You can also edit the
.envfile to override default values for system configuration.
Usage: ./setup_v2.sh <COMMAND> [OPTIONS]
Provides utility commands for configuring your development environment
Available Commands:
clean - Remove untracked apps and packages
config - Print command-line configuration values
dotfiles - Create symlinks for user dotfiles
help - Show help message
install - Install configured apps and packages
templates - Initialize XDG_TEMPLATE_DIR
version - Show version info
Options:
-h, --help - Show this message
- APT packages:
.pkgs - Snap apps:
.apps
Edit these files to add or remove packages/apps as needed. The setup script reads from these files during provisioning.
.envcontains environment variables used by the commands.- Modify
.envto adjust paths, repository URLs, or other configurable settings.
- You can extend or modify the scripts to tailor the environment to your preferences.
- Review script variables and command logic before execution to ensure desired behavior.
| File | Purpose |
|---|---|
.env |
Environment variables used by the scripts |
.pkgs |
List of APT packages to install |
.apps |
List of Snap applications to install |
| File | Purpose |
|---|---|
.pkgs.lock |
Tracks successfully installed APT packages |
.apps.lock |
Tracks successfully installed Snap apps |
Lockfiles ensure reproducibility. They allow you to track the actual installed state versus the desired packages/apps listed in
.pkgsand.apps.
-
Install Command: Installs packages and apps, and adds them to the corresponding lockfiles.
-
Clean Command: Removes packages/apps and updates lockfiles accordingly.
-
This mechanism ensures your system state is reproducible and transparent.
Maintained by BadrChoubai.