Skip to content

Allow parametric context-aware aspects at top-level#14

Merged
vic merged 1 commit intomainfrom
tops
Nov 15, 2025
Merged

Allow parametric context-aware aspects at top-level#14
vic merged 1 commit intomainfrom
tops

Conversation

@vic
Copy link
Owner

@vic vic commented Nov 14, 2025

See vic/den#92 for the issue this PR solves.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enables parametric (function-based) aspects to be defined directly at the top level of flake.aspects, rather than only through the __functor mechanism. This is achieved by changing the type constraint from aspectSubmodule to the more general providerType.

  • Changed aspectsType to use providerType instead of aspectSubmodule for freeform attributes
  • Updated test structure to wrap aspect definitions in a function receiving { aspects, ... }
  • Added a new test case demonstrating parametric top-level aspects

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
nix/types.nix Changed freeformType from aspectSubmodule to providerType to allow parametric aspects at top-level
checkmate.nix Updated existing tests to use new aspect definition structure and added test for parametric top-level aspects

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vic vic merged commit 1941f18 into main Nov 15, 2025
7 checks passed
@vic vic deleted the tops branch November 15, 2025 04:12
vic added a commit to vic/den that referenced this pull request Nov 16, 2025
See #91 for context.

See
[failure](https://github.com/vic/bugs-den/actions/runs/19377336327/job/55448108522)
for
[reproduction](vic/bugs-den@f81dca6)

Support for top-level contextual aspects was added at
vic/flake-aspects#14.

Closes #92.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant