-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A dotfile and user-environment configuration manager, built around a resource graph and pluggable controllers rather than a fixed set of "link this file here" rules.
The reconciliation model is closer to Kubernetes than a traditional dotfile manager, but designed to operate directly on a single machine.
You declare what should exist:
- Packages
- Symlinks
- Directories
- Cloned Repositories
- Extracted Archives
- Templated Files
- and other system resources
Using manifests written in:
You can optionally use Lua for scripting, resource decoration and extensions.
Then, Hypha builds a resource graph and reconciles it against the current system state.
Each resource kind has a controller responsible for:
- Observing the current state
- Plan the required changes
- Applying the changes to the system
For example:
- Declare a manifest for a Package resource:
kind: Package
metadata:
name: git
labels:
- dev
spec:
name: git # install git using the default package manager.- Optionally, preview the changes:
Highly recommended that you run
hypha planbeforehypha applyso you can preview the changes to your system.
hypha plan # show the changes that would be made- Apply the changes to your system:
hypha apply # apply the changes to the system- New here → Getting Started
- Using the CLI day to day → User Guide
- Declaring resources of a specific kind → Built-in Resources (sidebar)
- Coming from another tool → Migrating (sidebar)
- Writing a controller, or understanding how the reconciler works internally → Developer Guide (sidebar), Architecture
- Something not doing what you expected → Troubleshooting
Hypha is under active development, and this wiki says so plainly where it matters rather than describing aspirational behavior as current.
Look for status markers:
| Marker | Description |
|---|---|
| 🟢 | working |
| 🟡 | built but not wired up yet |
| 🔴 | planned or stub |
The short version:
- 🟢 The resource graph
- 🟢 dependency scheduling
- 🟢 manifest parsing
- 🟢 schema validation
- 🟢 query engine
Most individual controllers --- the components that actually create and manage the system resources --- are not yet wired up to modify the system.