Setup Nix

ClickHaskell contributors using Nix package manager to setup everything we need for development without Docker

Why Nix

  1. Nix allows us to have reproducable enviroment
  2. Nix allows to setup everything you need for end-to-end development
  3. Nix has a lot of usefull tools to automate daily routines

How to start with Nix

Install Nix

Nix supported on:

  1. Windows Subsystem for Linux
  2. Linux
  3. MacOS

You can install it with flakes enabled via DeterminateSystems/nix-installer

Or you can install it via official installer and enable flakes yourself

Setup development environment

After you have Nix installed you can:

nix develop

to manually enter shell with provided

  1. Cabal
  2. GHC
  3. Haskell Language Server
  4. clickhouse-client

You can also setup direnv to automatically enter the shell
when you enter the project directory in terminal or VSCode (via extention)

What next?

Read routines