I would like to make extensions and improvements on option-types.
Some of those are merged already:
- lib.types: chore use consistent payload form by hsjobeki · Pull Request #363565 · NixOS/nixpkgs · GitHub
- lib/types: init {types.attrsWith} by hsjobeki · Pull Request #361391 · NixOS/nixpkgs · GitHub
- lib/types: init {types.attrsWith} by hsjobeki · Pull Request #354738 · NixOS/nixpkgs · GitHub
- lib/types: make pattern of strMatching accessible by hsjobeki · Pull Request #350467 · NixOS/nixpkgs · GitHub
- and so on.
For example lib.types: attrsWith named placeholder by hsjobeki · Pull Request #344216 · NixOS/nixpkgs · GitHub now allows you to give <name>
placeholders different values. So you can give your options better names.
Unfortunately some of the improvements require a lot of preparation effort to be non-breaking if anyone relies on the internal attributes. For example one change in the functor.payload
caused some breakages in catppuccin/nix.
Also if you have something like a json-schema converter, which is saw a few times. It will very likely depend on option-types internals.
I would like to use this thread to collect links or use-cases of actively maintained projects that require access to option-type internals.
Which then allows us to find a way of stabilizing the interfaces in the long term.
Thanks for any help