diff options
Port upstream patches: Cmdliner 2.x, lockfile auto-creation, schema upgrade, Fossil VCS
Ported from upstream darcs repository (v1.1.2):
- Cmdliner 2.x compatibility fixes (variable shadowing)
- Lockfile auto-creation when missing
- Schema upgrade command with backup/rollback
- Fossil VCS support (new VCS type)
- Clean up Cmdliner warning for unescaped $PWD
Files modified:
- lib/schema.ml (new): Schema versioning module
- lib/nixtamal.ml: Add upgrade function, Fossil meld support
- lib/error.ml: Add Fossil to prefetch_method, Upgrade error
- lib/input.ml: Add Fossil module, Kind variant
- lib/prefetch.ml: Add Fossil prefetch with SRI hash support
- lib/manifest.ml: Add Fossil codec
- lib/lockfile.ml: Add Fossil lockfile type
- lib/lock_loader.ml: Add Fossil feature flag
- lib/input_foreman.ml: Add Fossil display and prefetch check
- bin/cmd.ml: Cmdliner 2.x fixes, add Upgrade command
- bin/dune, lib/dune, test/dune: Deprecation flags
Builds successfully with all tests passing.
Diffstat (limited to 'README.asciidoc')
| -rw-r--r-- | README.asciidoc | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/README.asciidoc b/README.asciidoc index b7ebc25..607f02e 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -6,7 +6,7 @@ :author: toastal == Pronunciation -/nɪʃ.təˈmal/ _or_ /ˈnɪkstəˌmɑːl/ +/nɪks.təˈmal/ ("nix-tamal") Maker:: toastal @@ -18,7 +18,11 @@ Languages:: * KDL * JSON -Version:: 0.0.9-alpha (alpha stage) +Version:: 1.1-alpha (alpha stage) + +**Community-maintained fork**: Addressing the original project's lack of reasonable maintenance, this fork prioritizes long-term maintainability, compatibility, and active development. + +*Original project:* link:https://darcs.toastal.in.th/nixtamal/trunk/[darcs.toastal.in.th/nixtamal/trunk] == Purpose @@ -48,6 +52,33 @@ Future goals (planned but not yet implemented): WARNING: As this software is in the alpha stage, the maker reserves the right make breaking changes file schemas & CLI API. Additionally, anything after tagged, the maker reserves the right to obliterate & amend patches. +== Ongoing Integrations + +Nixtamal is being extended to support additional frameworks and tools: + +=== Nilla Framework + +https://github.com/nilla-nix/nilla[Nilla] is a Nix framework with loaders and module system. Nixtamal provides first-class support for Nilla inputs, including manifest serialization, lockfile integration, and prefetch functionality. + +[source,kdl] +---- +my-input { + nilla { + repository "https://github.com/user/nilla-project.git" + branch "main" + path "./nilla.nix" + } +} +---- + +Attributes: +* `repository` - Git repository URL (templated) +* `mirrors` - Repository mirrors (optional, templated) +* `branch` or `ref` - Git reference point +* `path` - Path to nilla.nix (defaults to `./nilla.nix`) + +Nixtamal prefetch validates that the nilla.nix file exists at the specified path within the fetched repository. The implementation uses standard nix prefetch tooling for consistency and reliability. + == Quickstart === Set up @@ -178,9 +209,9 @@ $ nix-build release.nix $ nix-build release.nix -A nixtamal ---- -=== Building with Flakes (New: Phase 1 Integration) +=== Building with Flakes (New: Phase 1 Integration with flake-parts) -Nixtamal now supports dual workflow compatibility, providing both traditional Nix and modern flake interfaces. The flake integration acts as an ecosystem bridge while maintaining nixtamal's core philosophy as a flake alternative/complement. +Flakes use Determinate Nix and nixpkgs (github:DeterminateSystems/nix, NixOS/nixpkgs/nixos-unstable-small) for strong community support for Nix creator Eelco Dolstra's vision. Basic flake build |
