nixpkgs-architecture / pkgs-modules

Working group for using modules for packages
Creative Commons Attribution Share Alike 4.0 International
25 stars 3 forks source link

feat(use-cases): add "Separate interface from implementation" #13

Closed DavHau closed 1 year ago

DavHau commented 1 year ago

This PR adds documentation for the "Separate interface from implementation" use case. It outlines the general information, concrete examples, and current problems in the ecosystem due to the lack of separation between interface and implementation in package definitions. The goal is to promote better maintainability, flexibility, and compatibility between different tools and approaches.

closes https://github.com/nixpkgs-architecture/pkgs-modules/issues/10

aakropotkin commented 1 year ago

Just wanted to say I really loved seeing how you used these separations to improve readability of your projects.

I started following similar patterns and it really helped my ability to maintain isolated subsystems as well.

What I wish was less painful or more developed is deferred modules, which I find incredibly useful for organizing hierarchical elements.