A flake-parts Nix module for Haskell development
Go to file
2023-02-11 14:49:40 -05:00
.github/workflows Expose two templates: default and example (#69) 2023-02-09 21:16:59 -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 Add haskellFlakeProjectModules option (#79) 2023-02-11 14:49:40 -05:00
docs.sh Fix sloppy commit to docs.sh 2023-02-08 20:30:04 -05:00
flake-module.nix Add haskellFlakeProjectModules option (#79) 2023-02-11 14:49:40 -05:00
flake.nix Expose two templates: default and example (#69) 2023-02-09 21:16:59 -05:00
haskell-project.nix Rename haskellPackages -> basePackages (#77) 2023-02-09 20:05:44 -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