Currently haskell.nix uses IFDs internally in a number of places. This prevents the use of `--option allow-import-from-derivation false` even when `materialized` nix is provided. * Changes `materialize` function so that it returns the `materialized` path when possible instead of a derivation (updates import-and-filter-project.nix to cope with that). * Materializes the spdx json file. * Prevents haskell.nix looking for `cabal.project`, `cabal.project.local` and `cabal.project.freeze` files in hackage packages and the ghc-extra-projects. |
||
---|---|---|
.buildkite | ||
.github/workflows | ||
builder | ||
compiler | ||
docs | ||
hix | ||
lib | ||
materialized | ||
mk-local-hackage-repo | ||
modules | ||
overlays | ||
patches | ||
scripts | ||
test | ||
.gitattributes | ||
.gitignore | ||
bors.toml | ||
build.nix | ||
changelog.md | ||
ci-lib.nix | ||
ci.nix | ||
config.nix | ||
COPYING | ||
default.nix | ||
dimension.nix | ||
flake.lock | ||
flake.nix | ||
hackage-src.json | ||
mkdocs.yml | ||
package-set.nix | ||
README.md | ||
release-linux-only.nix | ||
release.nix | ||
shell.nix | ||
snapshots.nix | ||
stackage-src.json |
haskell.nix
is infrastructure for building Haskell packages with Nix
haskell.nix
can automatically translate your Cabal or Stack project and
its dependencies into Nix code.
Documentation
- Introduction
- Getting Started
- Troubleshooting
- Explore the documentation from there to find further topics.
Help! Something isn't working
The #1 problem that people have when using haskell.nix
is that they find themselves building GHC.
This should not happen, but you must follow the haskell.nix
setup instructions properly to avoid it.
If you find this happening to you, please check that you have followed the
getting started instructions and
consult the corresponding troubleshooting section.
The troubleshooting documentation also contains some help for other common issues. Please give it a read before asking on IRC or opening an issue.
If you're still stuck, join the #haskell.nix channel on irc.libera.chat, or open an issue.
Related repos
The haskell.nix
repository contains the runtime system for building
Haskell packages in Nix. It depends on other repos, which are:
-
nix-tools
— provides the programs for generating Nix expressions from Haskell projects. -
hackage.nix
— the latest contents of the Hackage databases, converted to Nix expressions. -
stackage.nix
— all of the Stackage snapshots, converted to Nix expressions.