Skip to content

Commit 2c68345

Browse files
committed
Update README to reflect current compiler versions and status
Replace outdated GHC 8.10 references with current compilers (ghc96, ghc98, ghc910, ghc912). Update the flavor table to include lmdb in -iog descriptions. Note that Windows cross-compilation is currently disabled pending nixpkgs-2511 crossThreadsStdenv fix. Update Docker image list to match available compilers. Fixes #114
1 parent ac635ef commit 2c68345

1 file changed

Lines changed: 22 additions & 19 deletions

File tree

README.md

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ Then, (on Linux, macOS, windows WSL) you can use:
3131
nix develop github:input-output-hk/devx#ghc96 --no-write-lock-file --refresh
3232
```
3333

34-
To obtain a haskell development shell for GHC 8.10.7 including `cabal-install`,
34+
To obtain a Haskell development shell for GHC 9.6 including `cabal-install`,
3535
as well as `hls` and `hlint`. If you are on macOS on an Apple Silicon chip
3636
(M1, M2, ...), and want to switch between Intel (x86_64) and Apple Silicon
3737
(aarch64), you can do this by simply passing the corresponding
3838
`--system` argument:
3939
```bash
40-
nix develop github:input-output-hk/devx#ghc810 --no-write-lock-file --refresh --system x86_64-darwin
40+
nix develop github:input-output-hk/devx#ghc96 --no-write-lock-file --refresh --system x86_64-darwin
4141
# ... or:
42-
nix develop github:input-output-hk/devx#ghc810 --no-write-lock-file --refresh --system aarch64-darwin
42+
nix develop github:input-output-hk/devx#ghc96 --no-write-lock-file --refresh --system aarch64-darwin
4343
```
4444

4545
## `direnv` integration
@@ -51,7 +51,7 @@ if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then
5151
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc" "sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8="
5252
fi
5353
# https://github.com/input-output-hk/devx Slightly opinionated shared GitHub Action for Cardano-Haskell projects
54-
use flake "github:input-output-hk/devx#ghc810-iog"
54+
use flake "github:input-output-hk/devx#ghc96-iog"
5555
```
5656

5757
Refer to [`direnv` and `devx`](./docs/direnv.md) guide for more information.
@@ -77,7 +77,10 @@ This configuration will work immediately in GitHub CodeSpace! For local VSCode D
7777

7878
It's also advised to enable GitHub CodeSpace prebuilds in your repository settings, follow the instructions provided in the [GitHub documentation](https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds). This will significantly enhance your development experience by reducing the setup time when opening a new CodeSpace.
7979

80-
List of images available: `ghc810-iog`, `ghc96-iog`, `ghc810-js-iog`, `ghc96-js-iog`, `ghc810-windows-iog`, `ghc96-windows-iog`.
80+
List of images available: `ghc96-iog`, `ghc98-iog`, `ghc910-iog`, `ghc912-iog`, `ghc96-js-iog`, `ghc98-js-iog`.
81+
82+
> [!NOTE]
83+
> Windows cross-compilation images are currently disabled pending a nixpkgs-2511 fix for the `crossThreadsStdenv` bootstrap (mcfgthread/pthreads).
8184
8285
> [!TIP]
8386
> If you wish to utilize the DevContainer as a normal Docker container outside of GitHub or VSCode, remember to prefix your commands with `bash -ic`. This is necessary because the Nix developer environment is loaded through `~/.bashrc`.
@@ -86,35 +89,35 @@ List of images available: `ghc810-iog`, `ghc96-iog`, `ghc810-js-iog`, `ghc96-js-
8689
## Compilers and Flavors
8790

8891
There are multiple compilers available, and usually the latest for each series
89-
from 8.10 to 9.6 (a slight delay between the official release announcement and
92+
from 9.6 to 9.12 (a slight delay between the official release announcement and
9093
the compiler showing up in the devx shell is expected due to integration work
91-
necessary). The current available ones are: `ghc810`, `ghc90`, `ghc92`, `ghc94`, and
92-
`ghc96` (these are the same ones as in [haskell.nix](https://github.com/input-output-hk/haskell.nix) and may contain patches for defects in the official releases).
94+
necessary). The current available ones are: `ghc96`, `ghc98`, `ghc910`, and
95+
`ghc912` (these are the same ones as in [haskell.nix](https://github.com/input-output-hk/haskell.nix) and may contain patches for defects in the official releases).
9396

9497
### Flavors
9598

96-
There are various flavors available as suffixes to the compiler names (e.g. `#ghc810-minimal-iog`).
99+
There are various flavors available as suffixes to the compiler names (e.g. `#ghc96-minimal-iog`).
97100

98101
| Flavor | Description | Example | Included |
99102
| - | - | - | - |
100-
| empty | General Haskell Dev | `#ghc810` | `ghc`, `cabal-install`, `hls`, `hlint` |
101-
| `-iog` | IOG Haskell Dev | `#ghc810` | adds `sodium-vrf`, `blst`, `secp256k1` |
102-
| `-iog-full` | IOG Haskell Dev | `#ghc810` | adds `sodium-vrf`, `blst`, `secp256k1`, `R`, `postgresql` |
103-
| `-minimal` | Only GHC, and Cabal | `#ghc810-minimal` | drops `hls`, `hlint` |
104-
| `-static` | Building static binaries | `#ghc810-static` | Static Haskell Cross-Compiler |
105-
| `-js` | JavaScript Cross-Compiler | `#ghc810-js` | JavaScript Haskell Cross-Compiler |
106-
| `-windows` | Windows Cross-Compiler | `#ghc810-windows` | Windows Haskell Cross-Compiler |
107-
| `-ghc` | GHC Development | `#ghc810-ghc` | GHC Development Compiler |
103+
| empty | General Haskell Dev | `#ghc96` | `ghc`, `cabal-install`, `hls`, `hlint` |
104+
| `-iog` | IOG Haskell Dev | `#ghc96-iog` | adds `sodium-vrf`, `blst`, `secp256k1`, `lmdb` |
105+
| `-iog-full` | IOG Haskell Dev | `#ghc96-iog-full` | adds `sodium-vrf`, `blst`, `secp256k1`, `lmdb`, `R`, `postgresql` |
106+
| `-minimal` | Only GHC, and Cabal | `#ghc96-minimal` | drops `hls`, `hlint` |
107+
| `-static` | Building static binaries | `#ghc96-static` | Static Haskell Cross-Compiler |
108+
| `-js` | JavaScript Cross-Compiler | `#ghc96-js` | JavaScript Haskell Cross-Compiler |
109+
| `-windows` | Windows Cross-Compiler | `#ghc96-windows` | Windows Haskell Cross-Compiler (currently disabled) |
110+
| `-ghc` | GHC Development | `#ghc96-ghc` | GHC Development Compiler |
108111

109112
These can then be combined following this schema:
110113
```
111114
#ghc<ver>[-js|-windows|-static][-minimal][-iog|-iog-full]
112115
```
113116
For example:
114117
```bash
115-
nix develop github:input-output-hk/devx#ghc810-windows-minimal-iog --no-write-lock-file --refresh
118+
nix develop github:input-output-hk/devx#ghc96-static-minimal-iog --no-write-lock-file --refresh
116119
```
117-
... would provide a development shell with a windows cross-compiler as well as cabal, and the IOG specific libraries, but no Haskell Language Server (`hls`), and no HLint.
120+
... would provide a development shell for building static binaries with cabal and the IOG specific libraries, but no Haskell Language Server (`hls`), and no HLint.
118121

119122
A full list of all available `devShells` can be seen with:
120123
```bash

0 commit comments

Comments
 (0)