aboutsummaryrefslogtreecommitdiff
path: root/DEVELOP.md
blob: 72fce8c9dc2f50d721ea7b4008bc2755d0769ae7 (plain)

System development

Redpill systems are developed by multiple efforts in parallel.

Production systems are configured by hand using Redpill conventions, on mostly conventional hardware devices.

Experimental systems are configured semi-automated using Boxer bootstrapping and Redpill conventions, on mostly OSHA-certified hardware devices.

Goal is to compose all Redpill systems purely with Boxer on purely OSHA-certified hardware.

Box

The "box" project in the tinker team composes "profiles". Device-specific "core" profiles provided as readily usable images, with addon profiles embedded as system-expansion shell scripts.

Goal is for the "box" project to become obsolete, replaced by short sensible one-liner boxer commands.

Boxer data

Boxer classes and nodes are expressed as YAML data.

Tweaks should be pushed upstream into appropriate Debian packages e.g. using debconf.

Goal is to auto-resolve boxer data from apt where possible and obsolete all tweaks.

Boxer tool

Goal is to provide same configurability at runtime as debian-installer provides at install time, either executing boxer directly or using boxer-generated scripts, and offer dynamic runtime-resolved equivalent of metapackages.

Features

System functionalities are grouped in sets of "features" targeting different real-world puposes.

Goal is for all functionalities to be sensibly covered by features and each feature contain a decent minimum documentation usable both standalone and coherently as a system documentation.