Hey @seanhess, while messing around with hyperbole locally, I setup a local dev enviroment with nix for the project. Would you be interested in having it in the repository?
The main benefit would be to enable nix users (and also those willing to install it) to start developing with one command: nix develop. Nix has a lot of other benefits, too, but this is the one I'm interested in the most.
Dev environment details
The environment provides:
ghc-9.6.5
cabal-install
a compatible haskell-language-server executable
hpack
fourmolu
hlint
webpack
direnv integration to eliminate the need to enter a development environment manually with nix develop
pre-commit-hooks that check that there are not formatting or linting issues automatically on commits
This environment would, of course, be optional. One could still install dependencies manually.
Installing nix
Nowadays, installing nix is usually as simple as:
$ sh <(curl -L https://nixos.org/nix/install) --daemon
This development environment could also be used as the basis for CI, since nix flake check would run all the checks (formatting, linting, testing) with basically no extra setup required.
Hey @seanhess, while messing around with
hyperbole
locally, I setup a local dev enviroment with nix for the project. Would you be interested in having it in the repository?The main benefit would be to enable nix users (and also those willing to install it) to start developing with one command:
nix develop
. Nix has a lot of other benefits, too, but this is the one I'm interested in the most.Dev environment details
The environment provides:
ghc-9.6.5
cabal-install
haskell-language-server
executablehpack
fourmolu
hlint
webpack
direnv
integration to eliminate the need to enter a development environment manually withnix develop
pre-commit-hooks
that check that there are not formatting or linting issues automatically on commitsThis environment would, of course, be optional. One could still install dependencies manually.
Installing nix
Nowadays, installing nix is usually as simple as:
More info can be found in the official installation page.
A base for CI
This development environment could also be used as the basis for CI, since
nix flake check
would run all the checks (formatting, linting, testing) with basically no extra setup required.