Developer Guides
Developer Guides
Section titled “Developer Guides”Welcome to the Ghaf Framework developer guides. These guides cover common development tasks and best practices.
Getting Started
Section titled “Getting Started”| Guide | Description |
|---|---|
| Writing Modules | How to write NixOS modules for Ghaf |
| Creating VMs | How to create new VM types |
| Adding Features | How to add hardware features |
| Extending Targets | How to customize existing targets |
Downstream Development
Section titled “Downstream Development”| Guide | Description |
|---|---|
| Downstream Setup | Setting up a downstream project |
| Migration Guide | Migrating from legacy patterns |
Quick Links
Section titled “Quick Links”For Ghaf Core Developers
Section titled “For Ghaf Core Developers”If you’re contributing to the main Ghaf repository:
- Writing Modules - Learn the module conventions
- Adding Features - Add new hardware features
- Creating VMs - Create new VM types
For Downstream Developers
Section titled “For Downstream Developers”If you’re building a product based on Ghaf:
- Downstream Setup - Start here
- Extending Targets - Customize configurations
- Migration Guide - If upgrading from legacy patterns
Architecture Reference
Section titled “Architecture Reference”Before diving into the guides, review the architecture documentation:
- Architecture Overview - System design
- VM Composition - How VMs are built
- Config Propagation - globalConfig/hostConfig
- Anti-Patterns - What to avoid
Library API Reference
Section titled “Library API Reference”When you need specific function documentation:
- VM Helpers -
lib.ghaf.vm.*functions - Features API -
lib.ghaf.features.*functions - Profiles API -
lib.ghaf.profiles.*reference