nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 pkgs,
3 lib,
4 makeWrapper,
5 nodejs ? pkgs.nodejs_20,
6 config,
7}:
8
9let
10 fetchElmDeps = pkgs.callPackage ./lib/fetchElmDeps.nix { };
11
12 # Haskell packages that require ghc 9.8
13 hs98Pkgs = import ./packages/ghc9_8 { inherit pkgs lib; };
14
15 # Haskell packages that require ghc 9.6
16 hs96Pkgs = import ./packages/ghc9_6 {
17 inherit
18 pkgs
19 lib
20 makeWrapper
21 nodejs
22 fetchElmDeps
23 ;
24 };
25
26 assembleScope = self: basics: (hs98Pkgs self).elmPkgs // (hs96Pkgs self).elmPkgs // basics;
27in
28lib.makeScope pkgs.newScope (
29 self:
30 assembleScope self (
31 with self;
32 {
33 inherit fetchElmDeps nodejs;
34
35 elmLib = import ./lib {
36 inherit lib;
37 inherit (pkgs) writeScriptBin stdenv;
38 inherit (self) elm;
39 };
40
41 elm-analyse = callPackage ./packages/elm-analyse { };
42
43 elm-doc-preview = callPackage ./packages/elm-doc-preview { };
44
45 elm-git-install = callPackage ./packages/elm-git-install { };
46
47 elm-graphql = callPackage ./packages/elm-graphql { };
48
49 elm-json = callPackage ./packages/elm-json { };
50
51 elm-language-server = callPackage ./packages/elm-language-server { };
52
53 elm-live = callPackage ./packages/elm-live { };
54
55 elm-optimize-level-2 = callPackage ./packages/elm-optimize-level-2 { };
56
57 elm-review = callPackage ./packages/elm-review { };
58
59 elm-spa = callPackage ./packages/elm-spa { };
60
61 elm-test-rs = callPackage ./packages/elm-test-rs { };
62
63 elm-test = callPackage ./packages/elm-test { };
64
65 elm-upgrade = callPackage ./packages/elm-upgrade { };
66
67 elm-verify-examples = callPackage ./packages/elm-verify-examples { };
68
69 elm-xref = callPackage ./packages/elm-xref { };
70
71 lamdera = callPackage ./packages/lamdera { };
72 }
73 // lib.optionalAttrs config.allowAliases {
74 create-elm-app = throw "'elmPackages.create-elm-app' has not had a release since December 2020, so it was removed."; # Added 2025-11-15
75 elm-pages = throw "'elmPackages.elm-pages' has been removed, as it was broken in nixpkgs and was not maintained."; # Added 2025-11-15
76 }
77 )
78)