Files
nixpkgs/pkgs/development/compilers/elm/default.nix
Sander dd23e181c8 elmPackages.elm-format: 0.8.7 -> 0.8.8
This release officially supports GHC 9.6.

To avoid dependency conflicts with the elm compiler (see ansi-wl-pprint), elm-format is now built with GHC 9.8.

The GHC 9.4 elm package overrides have been removed.
2025-06-23 18:34:16 +02:00

70 lines
1.5 KiB
Nix

{
pkgs,
lib,
makeWrapper,
nodejs ? pkgs.nodejs_20,
}:
let
fetchElmDeps = pkgs.callPackage ./lib/fetchElmDeps.nix { };
# Haskell packages that require ghc 9.8
hs98Pkgs = import ./packages/ghc9_8 { inherit pkgs lib; };
# Haskell packages that require ghc 9.6
hs96Pkgs = import ./packages/ghc9_6 {
inherit
pkgs
lib
makeWrapper
nodejs
fetchElmDeps
;
};
# Patched, originally npm-downloaded, packages
patchedNodePkgs = import ./packages/node {
inherit
pkgs
lib
nodejs
makeWrapper
;
};
assembleScope =
self: basics:
(hs98Pkgs self).elmPkgs // (hs96Pkgs self).elmPkgs // (patchedNodePkgs self) // basics;
in
lib.makeScope pkgs.newScope (
self:
assembleScope self (
with self;
{
inherit fetchElmDeps nodejs;
/*
Node/NPM based dependencies can be upgraded using script `packages/generate-node-packages.sh`.
* Packages which depend on npm installation of elm can be patched using
`patchNpmElm` function defined in `packages/lib.nix`.
*/
elmLib = import ./lib {
inherit lib;
inherit (pkgs) writeScriptBin stdenv;
inherit (self) elm;
};
elm-json = callPackage ./packages/elm-json { };
elm-review = callPackage ./packages/elm-review { };
elm-test-rs = callPackage ./packages/elm-test-rs { };
elm-test = callPackage ./packages/elm-test { };
lamdera = callPackage ./packages/lamdera { };
}
)
)