[...] I would recommend using ghcup to install HLS, as it takes care to install all of the binaries automatically (unless something else has already done so).
The real confusion came when I realized that HLS 1.3.0 is far from feature-complete for GHC 9.0.1, some issues on its issue tracker gave contradicting information, installing e.g. ormolu by hand didn't help etc. etc.
Regarding ghcup: IIRC it was very cabal-centric when it came out, but personally I totally ignore cabal and use stack exclusively (like most people if I remember the last surveys correctly). Recent versions of ghcup seem to handle stack, too, but there are mysterious remarks about XDG directory structures on the ghcup-hs project page (see my other mail). Furthermore, I'm not sure what the current state of affairs regarding cabal vs. stack is: I really don't want to have duplicated toolchains and tons of GBs of duplicated compiled packages lying around, but this was the case when I last had a look. Some packages don't work with stack out of the box and need cabal (or vice versa), and then things get really annoying and space-/time-consuming.
Setting up a development environment from scratch for a recent GHC involves tools battling against each other, reading incomplete and/or confusing documentation and tons of free disk space. It's a bit like an ancient text adventure, but less entertaining... :-}
Cheers,
S.