Soonix is a lightweight, declarative tool for managing configuration files, build scripts, and other project assets using the Nix module system. It provides a clean alternative to Nixago with reduced complexity and removed legacy code.
## What is Soonix?
Soonix helps you:
- **Generate configuration files** from Nix data structures
- **Template complex configurations** using Go templates or Jinja2
- **Manage file lifecycles** automatically with shell hooks
- **Keep generated files in sync** with your Nix configuration
- **Integrate seamlessly** with development environments
## Key Features
### Multiple Generation Engines
- **nix**: Convert Nix data to JSON, YAML, TOML, INI, XML formats
- **string**: Output raw string content with optional executable permissions
- **derivation**: Use existing Nix derivations as file content
- **gotmpl**: Advanced Go template rendering via gomplate
- **jinja**: Python Jinja2 template rendering
### Automatic File Management
Shell hooks automatically update files when entering your development environment, with intelligent change detection and status reporting.
### Flexible File Handling
Choose between symlinks or file copies on a per-file basis.
### GitIgnore Integration
Automatically manage .gitignore entries for generated files to keep your repository clean.