1{
2 pkgs,
3 lib,
4 nodejs,
5 makeWrapper,
6}:
7self:
8
9let
10 # Untouched npm-downloaded packages
11 nodePkgs = pkgs.callPackage ./node-composition.nix {
12 inherit pkgs nodejs;
13 inherit (pkgs.stdenv.hostPlatform) system;
14 };
15in
16with self;
17with elmLib;
18{
19 inherit (nodePkgs)
20 elm-live
21 elm-upgrade
22 elm-xref
23 elm-analyse
24 elm-git-install
25 ;
26
27 elm-verify-examples = nodePkgs.elm-verify-examples // {
28 meta =
29 with lib;
30 nodePkgs.elm-verify-examples.meta
31 // {
32 description = "Verify examples in your docs";
33 homepage = "https://github.com/stoeffel/elm-verify-examples";
34 license = licenses.bsd3;
35 maintainers = [ maintainers.turbomack ];
36 };
37 };
38
39 create-elm-app = patchNpmElm nodePkgs.create-elm-app // {
40 meta =
41 with lib;
42 nodePkgs.create-elm-app.meta
43 // {
44 description = "Create Elm apps with no build configuration";
45 homepage = "https://github.com/halfzebra/create-elm-app";
46 license = licenses.mit;
47 maintainers = [ maintainers.turbomack ];
48 };
49 };
50
51 elm-graphql = nodePkgs."@dillonkearns/elm-graphql" // {
52 meta =
53 with lib;
54 nodePkgs."@dillonkearns/elm-graphql".meta
55 // {
56 description = "Autogenerate type-safe GraphQL queries in Elm";
57 license = licenses.bsd3;
58 maintainers = [ maintainers.pedrohlc ];
59 };
60 };
61
62 elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // {
63 meta =
64 with lib;
65 nodePkgs."@elm-tooling/elm-language-server".meta
66 // {
67 description = "Language server implementation for Elm";
68 homepage = "https://github.com/elm-tooling/elm-language-server";
69 license = licenses.mit;
70 maintainers = [ maintainers.turbomack ];
71 };
72 };
73
74 elm-spa = nodePkgs."elm-spa".overrideAttrs (old: {
75 nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
76 makeWrapper
77 old.nodejs.pkgs.node-gyp-build
78 ];
79
80 meta =
81 with lib;
82 nodePkgs."elm-spa".meta
83 // {
84 description = "Tool for building single page apps in Elm";
85 homepage = "https://www.elm-spa.dev/";
86 license = licenses.bsd3;
87 maintainers = [ maintainers.ilyakooo0 ];
88 };
89 });
90
91 elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // {
92 meta =
93 with lib;
94 nodePkgs."elm-optimize-level-2".meta
95 // {
96 description = "Second level of optimization for the Javascript that the Elm Compiler produces";
97 homepage = "https://github.com/mdgriffith/elm-optimize-level-2";
98 license = licenses.bsd3;
99 maintainers = [ maintainers.turbomack ];
100 };
101 };
102
103 elm-pages = import ./elm-pages {
104 inherit
105 nodePkgs
106 pkgs
107 lib
108 makeWrapper
109 ;
110 };
111
112 elm-land = pkgs.elm-land; # Alias
113
114 elm-doc-preview = nodePkgs."elm-doc-preview".overrideAttrs (old: {
115 nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ old.nodejs.pkgs.node-gyp-build ];
116 });
117}