IOGX

July 10, 2025 · View on GitHub

1. Introduction

IOGX is a Nix template for your haskell.nix project.

Make sure that you have installed and configured nix on your system.

To get started run:

nix flake init --template github:input-output-hk/iogx#haskell

These will generates a flake.nix and a nix folder in your repository root.

2. Features

GHC Build Matrices

Define a set of GHC configurations for your Haskell project using haskell.nix's flake variants, and for each variant you will get devShells, packages, apps, checks and hydraJobs.

Extensible Development Shells

devShells come with a complete Haskell toolchain, and they can be easily extended with new packages, custom scripts, environment variables and hooks.

Automatic Hydra Jobset

By default your hydraJobs will include every component in your Haskell project, and your test suites will run in CI.

Easy Code Formatting

IOGX uses pre-commit-hooks to format your source tree: hooks can be easily configured and are automatically run in CI.