Create haskell toolchain OCI image

t-320.7·WorkTask·
·
·
·Omni/Agentd/Images.hs
Parent:t-320·Created1 month ago·Updated1 month ago

Dependencies

Description

Edit

Summary

Create OCI image with Haskell toolchain for omnirepo workflows.

Contents

  • Everything from git image
  • ghc
  • cabal
  • bild (repo's build tool)

Challenges

This image will be large. Consider:

  • Use GHC from nixpkgs (not full haskell.nix)
  • Only include runtime deps, not full dev environment
  • May need to build bild statically and include just the binary

Implementation

# Omni/Agentd/Images/Haskell.nix
{ pkgs, agent-git, bild }:

pkgs.dockerTools.buildLayeredImage {
  name = "agent-haskell";
  tag = "latest";
  fromImage = agent-git;
  
  contents = [
    pkgs.ghc
    pkgs.cabal-install
    bild
  ];
}

Alternative: Just bild

If full GHC is too heavy, could include just:

  • bild binary (statically linked)
  • Pre-built common dependencies

The agent would use bild for compilation, not raw ghc.

Deliverables

  • [ ] Omni/Agentd/Images/Haskell.nix
  • [ ] Image builds (may take a while)
  • [ ] podman run agent-haskell bild --help works
  • [ ] Document image size

Timeline (2)

🔄[human]Open → InProgress1 month ago
🔄[human]InProgress → Done1 month ago