a6ad4027a1
This commit adds some logic to the modules normalization process to allow including modules under a user-defined namespace. It achieves it by: - flattening any attribute sets in `includes` that are non-empty nor contain any of a module's valid attributes (`lib.modules.VALID_KEYS`). - Erroring out on dupplicate namespaces. - Mapping namespaced includes do normal modules declaring an option `${namespace}` of the include as a submodule. This allows specifying includes in a module like: ``` { includes.mynamespace0 = ./mymodule0.nix; includes.mynamespace1 = ./mymodule1.nix; } ``` and is approximatively desugared by `lib.modules.normalize` into: ``` { includes = [ { options.mynamespace0 = lib.submodule mymodule0.nix; } { options.mynamespace1 = lib.submodule mymodule1.nix; } ]; } ``` This was inspired by nixpkgs' `lib.modules.doRename`. |
||
---|---|---|
foundation | ||
lib | ||
tidepool | ||
.gitignore | ||
format.sh | ||
LICENSE | ||
README.md |
Aux Labs
Welcome to Aux Labs! Complimentary beakers and companion cubes are available in the gift shop.
The Aux Laboratory is a place for experimentation. Here you will find novel solutions for problems in the Aux world. These experiments are not intended to be used by anyone yet due to their highly unstable nature. However, we have decided to publish them here together so that members of the community may collaborate.
Note
This repository is a part of Aux's early ad-hoc structure. In the future we will be moving to a standardized Aux Enhancement Proposal (AEP) format.
Experiment Phases
Phase | Description |
---|---|
Idea | An idea exists to solve a problem we currently have with Aux. Send a pull request to this repository creating a new directory for your experiment. The directory should contain a README.md file explaining the purpose of the experiment. |
Iteration | Work on the experiment is done to solve for unknowns and come up with a good solution for the original problem. It may also be helpful to collaborate with others for feedback. |
Proposal | The experiment has been satisfactorily completed and is ready to be considered for official adoption by the project. Discussion with the relevant Special Interest Group should take place to handle the transition of the project out of the lab and into its own repository. |
Adoption | The experiment has been adopted and is now a part of Aux! The experiment should be moved to its own repository and the original experiment directory should be deleted. |
Experiments
Name | Phase | Description |
---|---|---|
Aux Lib | Iteration | A library of common functions used in the Aux ecosystem. |
Aux Foundation | Iteration | Foundational packages which allow for bootstrapping a greater package set. |
Aux Tidepool | Idea | An initial package set built on top of Aux Foundation using Aux Lib's module system. |