Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ekapkgs] Remove .overrideDerivation from lib.mkOverridable #11

Open
jonringer opened this issue Nov 7, 2024 · 7 comments
Open

[Ekapkgs] Remove .overrideDerivation from lib.mkOverridable #11

jonringer opened this issue Nov 7, 2024 · 7 comments

Comments

@jonringer
Copy link
Contributor

.overrideAttrs has been preferred for a while (5yrs+), and it's almost never used.

@blaggacao
Copy link

blaggacao commented Nov 9, 2024

I wonder: Is there room and, secondly, would this be the time for a leap into a baseline of more composable (e.g. module-based) override mechanisms?

@jonringer
Copy link
Contributor Author

I wonder: Is there room and, secondly, would this be the time for a leap into a baseline of more composable (e.g. module-based) override mechanisms?

You would need the creation of a .drv to be module based to begin with for this to work.

I don' think the cpu pain is worth it. Also nix modules have a pretty poor UX once you get into infinite recursion territory

@adrian-gierakowski
Copy link

I don' think the cpu pain is worth it.

It might be possible to create a cut down version of module system to address this: https://gist.github.com/roberth/940dff88ca5f5f95949dc309dbe60a65

infinite recursion territory

This problem is not exclusive to the module system.

This topic probably deserves its own issue though

@jonringer
Copy link
Contributor Author

I think it would be interesting to explore of using modules for drv's. I think Aux has dabbled with the concept, and seems to work, although a bit painfully verbose.

Right now I'm goal is more "what is a much more pleasurable nixpkgs experience" rather than, "re-thinking nix packaging from the ground up".

This topic probably deserves its own issue though

Agreed, but it is a UX issue which is very painful when encountered.

@whs-dot-hk
Copy link

Is turning the evalModules into runCommand an option?

@whs-dot-hk
Copy link

Just thinking, nix pipe into AI, then AI eval the modules, then give back a final nix code?

@jonringer
Copy link
Contributor Author

Is turning the evalModules into runCommand an option?

No, evalModules does a lot to traverse all the options, then create a config fixed point. config.system.build.* stuff can be viewed as runcommands though

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

No branches or pull requests

4 participants