Nix Haskell

Use this when working on a Haskell project with Nix. Covers haskell-flake setup, adding/overriding dependencies, package settings, and devShell configuration.

juspay 32cdeaf 1.3 KB Updated

File contents

Haskell + Nix with haskell-flake

Use haskell-flake — a flake-parts module. Start from haskell-template. Requires a .cabal or cabal.project file; haskell-flake scans for it automatically.

Starting a new project

You MUST use git clone https://github.com/srid/haskell-template <project-dir> to start a new project. Do NOT fetch individual files, do NOT use om init, do NOT write flake.nix from scratch. Clone the template, then rename the package in .cabal and nix/modules/flake/haskell.nix.

Project structure

Projects based on haskell-template use nixos-unified autowiring. Do NOT write Nix configuration inline in flake.nix. The flake.nix delegates entirely to nixos-unified, and all Nix configuration goes in ./nix/modules/flake/*.nix files.

Docs

juspay/ai/tree/main/.claude/skills/nix-haskell commit 32cdeaf78c

Frequently asked questions

npx skillmds@latest add juspay/nix-haskell