-
Notifications
You must be signed in to change notification settings - Fork 264
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
Repair the Nix flake #4923
Repair the Nix flake #4923
Conversation
I can also remove the garnix config before merging. I mostly have it to make sure I’m getting decent coverage on the Nix bits. But it looks like there’s already some of that in GitHub workflows. |
Just spotted this. Yeah I feel a bit blocked on the garnix piece because I don't understand it and haven't set up a time to go over it. I'd say let's remove that if it's not integral, and then we can figure out how to improve CI separately, which could include garnix, or sticking with what we have, or replacing some of what we have with something else. |
This does the minimum to get `nix flake check` working.; The primary issue is that flakes require flat package sets, and this flake produced nested ones. This flattens the package sets without renaming anything. E.g., `packages.${system}.docker.ucm` is now `packages.${system}.ucm`, and similar for other derivations. The only other change was to correct the attribute name for the UCM docker image’s command.
This adds some grouping to the outputs, since they can’t be grouped in attribute sets. It also updates the relevant docs with the new names. Here are the renamings: - `packages.haskell-nix.some:cabal:thing`→ `packages.component-some:cabal:thing` - `packages.docker.ucm` → `packages.docker-ucm` - `apps.haskell-nix.some:cabal:thing` → `apps.component-some:cabal:thing`, and - `devShells.haskell-nix.unison-cli` → `devShells.cabal-unison-cli`.
Done. |
Overview
This does the minimum to get
nix flake check
working.The primary issue is that the standard flake outputs require flat package sets, and this flake produced nested ones.
Fixes #4940.
Implementation notes
This merges package sets into a single one rather than making them separate entries in the outputs.
The only other change was to correct the attribute name used for the UCM docker image’s command.
Interesting/controversial decisions
This currently flattens the package sets and adds prefixes to them, for some conceptual groupings. The prefixes could be removed, though.
Also, if we wanted to maintain some of the nesting, we could use the
legacyPackages
output, but that is (as it says) legacy, and either way it’s breaking the names, so we might as well just adopt the current flat style.