on 19052d8 help sign in
haskell.nix/docs/reference/supported-ghc-versions.md
51 lines 3.0 kB history raw
1# Supported GHC Versions
3The following GHC versions are defined in `haskell.nix` (there is a derivation
4for each, though not all are cached or tested by CI):
5- 8.4.4
6- 8.6.{1,2,3,4,5}
7- 8.8.{1,2,3,4}
8- 8.10.{1,2,3,4,5}
9- 9.0.1
11The following table shows the Nixpkgs/GHC versions which are built/cached, and
12which of those are further tested. If you use a combination of Nixpkgs version
13and GHC version which is in this table, you should hit our cache, saving
14considering time by not building GHC and a few additional tools.
16Note that if you try to use `haskell.nix` as an overlay over Nixpkgs from a
17standard Nixpkgs channel you will likely get a cache miss. To hit our cache you
18really should use an instance of Nixpkgs provided by `haskell.nix` itself.
20| Nixpkgs version | Nixpkgs pinning | GHC version | `compiler-nix-name` | Tested in CI? |
21|------------------|--------------------|-------------|-----------------------|---------------|
22| 20.09 | `nixpkgs-2009` | 8.6.5 | `ghc865` | No |
23| 20.09 | `nixpkgs-2009` | 8.10.7 | `ghc8107` | No |
24| 21.05 | `nixpkgs-2105` | 8.6.5 | `ghc865` | No |
25| 21.05 | `nixpkgs-2105` | 8.10.7 | `ghc8107` | Yes |
26| unstable | `nixpkgs-unstable` | 8.6.5 | `ghc865` | No |
27| unstable | `nixpkgs-unstable` | 8.8.4 | `ghc884` | No |
28| unstable | `nixpkgs-unstable` | 8.10.4 | `ghc8104` | No |
29| unstable | `nixpkgs-unstable` | 8.10.5 | `ghc8105` | No |
30| unstable | `nixpkgs-unstable` | 8.10.6 | `ghc8106` | No |
31| unstable | `nixpkgs-unstable` | 8.10.7 | `ghc8107` | Yes |
32| unstable | `nixpkgs-unstable` | 9.0.1 | `ghc901` | Yes |
34See [ci.nix](https://github.com/input-output-hk/haskell.nix/blob/master/ci.nix)
35for the source of truth about what is built and tested (in the off chance this
36document is out-of-sync with your checkout).
38See the [getting started guide](../tutorials/getting-started.md) for
39instructions on how to set up Nix to take advantage of our cache when building.
40This guide also covers where to use the Nixpkgs pinning and `compiler-nix-name`
41settings from the table above. For further information, see the [instructions
42for how to pin Nixpkgs](../dev/nixpkgs-pin.md).
44See
45[overlays/bootstrap.nix](https://github.com/input-output-hk/haskell.nix/blob/master/overlays/bootstrap.nix)
46for a full list of all the valid `compiler-nix-name`s beyond what's
47cached/tested in CI. You're free to use these, but be ready for longer build
48times.
50Lastly, see [instructions on adding new GHC versions](../dev/adding-new-ghc.md)
51in the event that what's in `haskell.nix` doesn't suit your needs.