I'm a huge fan of voidlinux. As it's my daily driver, it taught me to get good at linux and the phenomonal tools within it's ecosytem.
Let's go through the process at this point in time and see if we can get a working Haskell environment in place.
If you're a voidlinux advocate, you'll note that this is not what you want. It takes up lot's of space and it's far easier than it should be.
However this will get you going.
DO NOT install the following. If you have any of these, uninstall them.
Stack will install a
cabal-install when you call stack in your project directory. It will find the correct tools based on the
resolver property in your
DO install the following.
stack is the tool of choice for managing haskell projects.
ncurses-libtinfo-devel provides the file
/lib/libtinfo.so and related symbolic links. Without it, stack doesn't know what the architecture of your machine is and cannot build GHC.
Install the haskell language server for your IDE. In vscode, it's called
Stack should now work flawlessly for all projects.
When a project is opened in your vscode, the
Haskell extension will download and install the appropriate GHC and Cabal versions.
Well you asked for it, binaries built purely for your architecture.
Install the following packages from the voidlinux repositories.
If all went well, skip step two because
haskell-language-server has been added to the list of available packages.
This is complicated for new users, but for voidlinux veterans this should be very fun indeed.
In summary, you'll process the following instructions:
- clone void-linux/void-packages from GitHub.
- pull and rebase the patch from branch
haskell-language-serverfor your machine, which is now available due to the step prior.
- Install the package post build with
Stack should now work great in all projects that have can build with
ghc-8.8.4. If your project does not use this, you'll have to use the easy method instead.
This is extremely rushed but I hope it helps someone if they're in need of this. I had no one.
Please email me at firstname.lastname@example.org if you require guidance. Hopefully
haskell-language-server is in the packages by then and this article can be streamlined.