Following the developer documentation for setting up Haskell, Hoogle gets installed in the read-only Nix store. This isn’t great, since I was hoping to use it for local projects too, and am unable to write to the database. I followed the documentation here:
Hoogle should just never get installed into a read-only location on the filesystem, like the Nix store, which happened during a system-wide package installation. Aside from that issue, I eventually did install it project-local, but not every tool knows to look for the Hoogle DB in my local project, as they want to find it at /home/…/.hoogle, which is presumably where it might actually end up on some Linux systems. The solution there was to symlink .hoogle to the project’s stack build directory. I really wish I could explain why sometimes packages get installed super speedy from some binary cache and why sometimes they need to build from source and can take many hours if, for example, it’s an entire Haskell toolchain. It’s almost as if the binary cache search can fail intermittently, triggering the need for a build?