{ hls-src , hs-bindgen-src , libclang-src }: { name = "garnet"; src = ./.; compiler-nix-name = "ghc914"; source-repository-packages = { # not on Hackage yet: https://well-typed.com/blog/2026/02/hs-bindgen-alpha # we're using more recent versions than in that post, because we want record-dot support: # https://github.com/well-typed/hs-bindgen/issues/1829#issuecomment-4081875451 c-expr-dsl = hs-bindgen-src + "/c-expr-dsl"; c-expr-runtime = hs-bindgen-src + "/c-expr-runtime"; hs-bindgen = hs-bindgen-src + "/hs-bindgen"; hs-bindgen-runtime = hs-bindgen-src + "/hs-bindgen-runtime"; libclang-bindings = libclang-src; }; overrides = [ ({ pkgs, ... }: { packages.libclang-bindings.components.library = { build-tools = [ pkgs.llvmPackages.llvm ]; libs = [ pkgs.llvmPackages.libclang ]; }; }) ]; shell = { tools = { cabal = "latest"; haskell-language-server = { src = hls-src; sha256map = { "https://github.com/snowleopard/alga"."d4e43fb42db05413459fb2df493361d5a666588a" = "0s1mlnl64wj7pkg3iipv5bb4syy3bhxwqzqv93zqlvkyfn64015i"; }; }; }; withHoogle = false; withHaddock = true; }; }