A flake-parts Nix module for Haskell development
Go to file
Sridhar Ratnakumar a28156e5d9
Simplify .cabal files detection (#91)
* Simplify .cabal files detection

This, incidentally, allows a mix of top-level and sub-cabal files, but
that is okay.

* Re-format error message
2023-02-23 12:16:27 -05:00
.github/workflows ci: templates should use pinned nixpkgs (#89) 2023-02-21 21:15:01 -05:00
example Have packages option auto-detect single-package projects (#75) 2023-02-09 20:49:45 -05:00
test Add haskellFlakeProjectModules option (#79) 2023-02-11 14:49:40 -05:00
.gitignore Add automated test (#60) 2023-02-01 14:52:39 -05:00
CHANGELOG.md Simplify .cabal files detection (#91) 2023-02-23 12:16:27 -05:00
docs.sh Fix sloppy commit to docs.sh 2023-02-08 20:30:04 -05:00
flake-module.nix Simplify .cabal files detection (#91) 2023-02-23 12:16:27 -05:00
flake.nix Expose two templates: default and example (#69) 2023-02-09 21:16:59 -05:00
haskell-project.nix Remove source filtering 2023-02-21 21:15:55 -05:00
LICENSE Initial commit 2022-05-30 09:01:58 -04:00
README.md Expose two templates: default and example (#69) 2023-02-09 21:16:59 -05:00
runtest.sh Have packages option auto-detect single-package projects (#75) 2023-02-09 20:49:45 -05:00

haskell-flake

A flake-parts Nix module for Haskell development.

Why?

To keep flake.nix smaller (see examples below) and declarative (what vs how) by bringing a NixOS-like module system to flakes (through flake-parts).

Usage

To use haskell-flake in your existing Haskell projects, run:

nix flake init -t github:srid/haskell-flake

To create a new Haskell project, run:

nix flake init -t github:srid/haskell-flake#example

Template

You may also use https://github.com/srid/haskell-template which already uses haskell-flake along with other opinionated defaults.

Documentation

Check out the list of options. haskell-flake uses callCabal2nix and shellFor under the hood.

Examples

Recommendations