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

Why An Overlay? #566

Open
AngleSideAngle opened this issue Jan 24, 2025 · 2 comments
Open

Why An Overlay? #566

AngleSideAngle opened this issue Jan 24, 2025 · 2 comments

Comments

@AngleSideAngle
Copy link

Is there a design decision behind this project using an overlay to add ros packages to nixpkgs? From reading through the source code and examples, I couldn't find any indication that there's an advantage to distributing ros packages as an overlay, as opposed to having the package derivations in a separate flake from nixpkgs. Please let me know if I'm missing something...

Also, apologies if an issue wasn't the right way to ask this.

@lopsided98
Copy link
Owner

There's no fundamental difference between an overlay and a flake. You can use this repo as a flake, or as a traditional overlay. The only thing really missing from the flake is support for flattening the package namespace so you don't have to use legacyPackages, but that doesn't matter much in practice.

@lopsided98
Copy link
Owner

Flakes didn't exist when I started this project (or at least they weren't in common use), which explains why the flake support may seem a bit bolted on. I guess you could redesign it so that the packages were only available as flake outputs, but that would just limit possible use cases. I don't find flake package outputs particularly useful outside basic interactive usage. If I'm integrating a flake into a larger system I normally use the overlay output anyway.

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

2 participants