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`.
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.
development.markdown says to use `nix build` to build the `unison` executable,
but it doesn’t work, because there is not a `default` package. This makes the
behavior match the docs.
Resolves#4026
I was able to remove some overrides that we were using to get ormolu
0.5.0.1 to build with GHC 8.10.7. It's possible that more cruft can be
removed, but I don't understand it well enough to feel confident in
messing with it. We are no longer explicitly asking for ormolu 0.5.0.1
because I couldn't figure out how to do that, but 0.5.0.1 is the
version in the nixpkgs hash that we are currently locked on.
On my linux box both `stack build && stack test` and HLS support work.