Sys-Config
A powerful automation tool designed to streamline package installation across Linux distributions via JSON.
- Role
- Systems Automation Developer
- Ownership
- Independent build
- Scope
- Cross-distro setup
- Delivery
- Source + terminal demo
The Challenge
Rebuilding a Linux environment usually means repeating package installation, privilege checks, and distribution-specific commands by hand. Sys-Config turns that setup into a repeatable JSON configuration that can be used across Debian, Fedora, and Arch-based systems.
My Role
I designed and implemented the shell workflow, including package-manager detection, configuration validation, dependency bootstrapping, privilege handling, and interactive selection between different machine profiles.
What I Delivered
- Distribution awareness: Detects and works with apt, dnf, and pacman environments.
- Configuration-driven setup: Reads JSON profiles so laptop, server, or other setups stay reproducible.
- Dependency bootstrapping: Installs required helpers such as jq before validating and processing the configuration.
- Privilege handling: Adapts commands for root and sudo-based execution.
- Flexible operation: Supports interactive profile selection and unattended workflows.
Key Decisions
- JSON as the interface: Machine profiles remain readable, portable, and easy to version without modifying the shell program.
- Native package managers: The tool works with each distribution's existing package system instead of adding another setup framework.
- Validate before changing the system: Configuration checks happen before the installation workflow proceeds, reducing avoidable partial setups.
Outcome
The result is a lightweight setup utility that can reproduce useful Linux environments from a small configuration file. The terminal demo shows the full path from dependency detection and validation through profile selection and package installation.
Tech Stack
- Automation: Bash and Linux shell tooling
- Configuration: JSON and jq
- Package systems: apt, dnf, and pacman