commits
* remove den and flake-aspects
* Update README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove formatter.nix and nix-auto-follow from the Dendritic module
* Remove treefmt configuration from dev
* Add treefmt configuration back to dev
* Add support for `submodules` input attribute
* Update modules/options/inputs.nix
* move functions to lib for unit-testing
* add nix-unit
* move _lib.nix to dev for testing
* fix: inputs preserve follows correctly when non empty.
added unit tests
Fix #32.
fmt
make _lib a dir
* make ./dev use flake-file from repository root
* regen
* run metadata before pruning
* nix-unit.flake-parts follows
* dev flake now references local flake-file
* follow more nix-unit inputs
* run flake metadata on CI
* more migrating tips
* Use diffutils instead of delta.
Fixes #33
* Do not ship templates/*/flake.lock.
Otherwise the flake.lock will always reference previous commits of flake-file and never be able to reference the latest commit. So now we instruct people to run `.#write-flake` to regen flake.nix and flake.lock right after `flake init`.
Closes #29
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Force templates to use the commit being tested
* fix step id for find templates
* fix input url
* formated force.nix
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Based on my experience during https://github.com/vorburger/nixfiles/commit/abb2430d5dfa142f6013e6bd62cd11b9d0cbf839.
Updated image in README with a new ouroboros graphic.
because allfollow seems is more slowly maintained.
* feat(inputs): add support for attribute representation
Adds support for all flake reference attributes to the flake-file.inputs option. This allows users to specify inputs using the attribute set representation, in addition to the URL-like syntax.
* refactor merge on user defined values.
---------
Co-authored-by: Victor Borja <vborja@apache.org>
* feat: Add nix-auto-follow module
This adds nix-auto-follow as a flattening mechanism which can be
activated with a provided module.
Closes #19.
* doc: Added documentation for nix-auto-follow module
This also fixes broken link to the allfollow module.
- Move options from _options/ to options/ directory
- Convert all option files to proper flake-parts modules with options namespace
- Introduce hooks system for extensible write and check operations:
- write-hooks: run during flake generation on working copy
- check-hooks: run during flake validation on temporary copy
- Refactor prune-lock to use hooks system instead of hardcoded logic
- Update formatter option to use package type instead of command string
- Simplify write-flake.nix using new hooks architecture
- Replace hardcoded prune-lock logic with configurable hook system
BREAKING CHANGE: The formatter is now expected to return a package with meta.mainProgram,
the old behavior expected a command string.
- Create modules/_options/ directory with individual option files
- Split large options.nix into modular components:
- do-not-edit.nix: header comment option
- formatter.nix: flake formatter configuration
- inputs.nix: flake inputs with follows support
- outputs.nix: outputs function configuration
- prune-lock.nix: lock pruning options
- Simplify main options.nix using dynamic imports
- Improve code organization and maintainability
- Move allfollow.nix to modules/prune-lock/ directory
- Convert dendritic.nix to dendritic/ directory with default.nix
- Update prune-lock API from command string to program derivation
- Add _nothing.nix as example pruning app that does nothing
- Update allfollow.nix to use writeShellApplication pattern
- Rename check-flake to check-flake-file for clarity
- Add standalone prune-lock package
BREAKING CHANGE: prune-lock.command option replaced with prune-lock.program
Due to not being inherited flakeModules the allfollow module could
not be imported on the user-end. It is inherited now.
This closes #17.
It is now included by our new flakeModules.allfollow
This allows processing the flake.lock file opt-in.
It is also generic and does not depend on allfollow.
But we provide an allfollow flakeModule and also included
by default on dendritic.
flake-file now generates attributes in the following order:
- description
- outputs
- nixConfig
- inputs
The reason is that inputs tend to grow the more, nixConfig not so, and the
other two attributes are mostly static along the life of a project.
Fixes 5
* move functions to lib for unit-testing
* add nix-unit
* move _lib.nix to dev for testing
* fix: inputs preserve follows correctly when non empty.
added unit tests
Fix #32.
fmt
make _lib a dir
* make ./dev use flake-file from repository root
* regen
* run metadata before pruning
* nix-unit.flake-parts follows
* dev flake now references local flake-file
* follow more nix-unit inputs
* run flake metadata on CI
* more migrating tips
* Use diffutils instead of delta.
Fixes #33
* Do not ship templates/*/flake.lock.
Otherwise the flake.lock will always reference previous commits of flake-file and never be able to reference the latest commit. So now we instruct people to run `.#write-flake` to regen flake.nix and flake.lock right after `flake init`.
Closes #29
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Force templates to use the commit being tested
* fix step id for find templates
* fix input url
* formated force.nix
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat(inputs): add support for attribute representation
Adds support for all flake reference attributes to the flake-file.inputs option. This allows users to specify inputs using the attribute set representation, in addition to the URL-like syntax.
* refactor merge on user defined values.
---------
Co-authored-by: Victor Borja <vborja@apache.org>
- Move options from _options/ to options/ directory
- Convert all option files to proper flake-parts modules with options namespace
- Introduce hooks system for extensible write and check operations:
- write-hooks: run during flake generation on working copy
- check-hooks: run during flake validation on temporary copy
- Refactor prune-lock to use hooks system instead of hardcoded logic
- Update formatter option to use package type instead of command string
- Simplify write-flake.nix using new hooks architecture
- Replace hardcoded prune-lock logic with configurable hook system
BREAKING CHANGE: The formatter is now expected to return a package with meta.mainProgram,
the old behavior expected a command string.
- Create modules/_options/ directory with individual option files
- Split large options.nix into modular components:
- do-not-edit.nix: header comment option
- formatter.nix: flake formatter configuration
- inputs.nix: flake inputs with follows support
- outputs.nix: outputs function configuration
- prune-lock.nix: lock pruning options
- Simplify main options.nix using dynamic imports
- Improve code organization and maintainability
- Move allfollow.nix to modules/prune-lock/ directory
- Convert dendritic.nix to dendritic/ directory with default.nix
- Update prune-lock API from command string to program derivation
- Add _nothing.nix as example pruning app that does nothing
- Update allfollow.nix to use writeShellApplication pattern
- Rename check-flake to check-flake-file for clarity
- Add standalone prune-lock package
BREAKING CHANGE: prune-lock.command option replaced with prune-lock.program