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

Release 1.2.0 #46

Merged
merged 106 commits into from
Sep 5, 2021
Merged

Release 1.2.0 #46

merged 106 commits into from
Sep 5, 2021

Conversation

gytis-ivaskevicius
Copy link
Owner

No description provided.

Pacman99 and others added 23 commits April 25, 2021 07:52
a module. imports = [ ${myChannelModulesPathk}/installer/...

Signed-off-by: David Arnold <dar@xoe.solutions>
use pkgs to collect overlays from each channel, since user only passes
overlaysBuilder for each channel. Also filter out any overlays defined
in inputs
This is intended to be self.overlays which allows a cleaner api to pass
what overlays should be collected and used to create packages export
specifically packagesFromOverlaysBuilderConstructor and
overlaysFromChannelsExporter
General exporter and builderConstructor improvements
add name and input to each channel
pass channel info to hosts as channel specialArg
sometimes the inputs argument might contain "self", so drop that if it
does. This is just for safety, it usually won't contain self
with the __dontExport property
this allows systemFlake to be called multiple times without having to
pass `channels` each time. As long as it just uses self.pkgs, nixpkgs
will only get evaluated once and all systemFlake calls use the same
channels set
This doesn't hurt in any way, but prevents export for those who use
overlaysFromChannelsExporter
always use self.pkgs instead of channels
set __dontExport to srcs overlay
includes filterPackages improvements
* Add tests/derivation-outputs

* Remove cases covered by tests

* Add channel patching test cases

* Remove patching code leftovers as part of the example

* Remove Summer CI

* Add tests/overlays-flow

* Fix devshell root path

* Fix overlays tests

* Cleanup tests

* Work on hosts config test

* Add rm-locks command

* Add validation for host options inheritance

* Evaluate builder

* Add examples/minimal-multichannel

* Add examples/home-manager+nur+neovim

* Add examples/exporters

* Remove examples/fully-featured

* Remove devshell.toml

* Moving files around

* Fix rm-locks command and add exporters build

* Improve devshell
@gytis-ivaskevicius
Copy link
Owner Author

@blaggacao @Pacman99 Can you guys take a look at this, I'm not sure how it works https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/staging/examples/exporters/flake.nix#L36-L37

Also please go over the file structure and see if it looks good. I am still not quite happy with names, but they are acceptable I guess :D

@Pacman99
Copy link
Collaborator

Can you guys take a look at this, I'm not sure how it works https://github.com/gytis-ivaskevicius/flake-utils-plus/blob/staging/examples/exporters/flake.nix#L36-L37

I'm pretty sure with 1a74204 fromOverlays should work fine. Your using it exactly right, it just needs self.overlays and fup will pass it channels since its a builder.

Also please go over the file structure and see if it looks good. I am still not quite happy with names, but they are acceptable I guess :D

The file structure looks great and the flake.nix is very nice to read. Looking over staging, I don't have any complaints.

@gytis-ivaskevicius
Copy link
Owner Author

Alright then, it seems that it actually works. Not sure why it did not before? 🤔 Not reproducible 👀

Also, I just realized, I should have named the folder lib instead of src but that's very minor change :)

@Pacman99
Copy link
Collaborator

Also, I just realized, I should have named the folder lib instead of src but that's very minor change :)

I like src, its a bit more common for code repositories. But I don't care either way.

Pacman99 and others added 3 commits May 17, 2021 14:39
sub-systems are not great for flakes ecosystems and this prevents
exporting overriden sub-systems from nixpkgs
@blaggacao blaggacao force-pushed the staging branch 4 times, most recently from 5785dfe to ec051ca Compare September 5, 2021 05:04
@gytis-ivaskevicius
Copy link
Owner Author

@blaggacao dude, what the hell? Who force pushes to staging and why and what are these edge cases. Please provide proper explanations

@gytis-ivaskevicius
Copy link
Owner Author

Reverted back to daab9cb due to lack of explanation of everything

@blaggacao
Copy link
Collaborator

blaggacao commented Sep 5, 2021

@gytis-ivaskevicius To be fair: lack of "public" explanation (other than the commit comment would be more precise 😉

I'm in a bit of a hurry, but of course that is no excuse, sry. 😇

@gytis-ivaskevicius
Copy link
Owner Author

I wrote that comment before our call

@gytis-ivaskevicius
Copy link
Owner Author

Flake-utils-plus 1.2.0

Branching change:
From now on master serves as a development branch (previously staging was used for such purposes). Please use tags for stable releases of flake-utils-plus. In general, with the improvements in test harness, releases might happen more frequently. Sticking with a tagged release might offer better trade-offs going forward.
Please note, while 1.2.0 retains backwards compatibility, 1.2.1 is the same version with all backwards compatibility removed.

Improvements:

  • Now overlays receive srcs option by default which represents Github repositories from inputs
  • channels.*.input is no longer required. By default it gets autogenerated from inputs
  • Added nix.generateNixPathFromInputs - Generates NIX_PATH from available inputs.
  • Added nix.linkInputs - Symlinks inputs to /etc/nix/inputs.

Deprecations:

  • Updated fup-repl implementation, now it is a package and can load flake references by path.
  • Replaced xyzBuilder(s) with outputsBuilder.
  • Replaced saneFlakeDefaults nixosModule with nix.generateRegistryFromInputs option (set it to true to enable it)

Implemented multiple exporters: (Please see examples on the project page!)

  • lib.exportModules - Helper that builds attribute set of modules from paths.
  • lib.exportOverlays - Helper that builds namespaced attribute set of overlays.
  • lib.exportPackages - Helper that outputs packages depending on meta.platforms

@gytis-ivaskevicius gytis-ivaskevicius merged commit 231acaa into master Sep 5, 2021
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

Successfully merging this pull request may close these issues.

4 participants