Skip to content

Etch / By RM Industries

Make your environment yours.

A portable, declarative environment manager for applying, composing, and sharing the configuration that makes a machine yours.

./etch plan --profile developer
 
Profile: developer
 
git · 1 planned change
files/gitconfig → ~/.gitconfig
 
Review first. Apply when ready.
Nothing changed yet.
An illustrative planYour configuration, made explicit.

Your configuration. A plan you can review.

Keep modules and profiles in your own repository. Inspect what needs to change, apply it explicitly, and keep the engine pinned.

01 / Describe

Small, portable modules

Keep each capability with its configuration and assets. Compose the modules you need into a profile.

02 / Inspect

Facts before actions

Use observed commands, versions, and platform facts to choose the right configuration. Review the plan before applying.

03 / Apply

Explicit changes

Providers declare ownership, dependencies, and shared resources. Completed declarative state becomes a no-op on the next run.

Start with one module.

The consumer template includes a Git module, a developer profile, and a pinned engine. After cloning with submodules, Python 3.9 or newer is the only Etch runtime dependency.

Use the template
./etch plan --profile developer
./etch apply --profile developer
./etch doctor --profile developer