26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
|
# Elm packages
|
||
|
|
||
|
Mixtures of useful Elm lang tooling containing both Haskell and Node.js based utilities.
|
||
|
|
||
|
## Upgrades
|
||
|
|
||
|
Haskell parts of the ecosystem are using [cabal2nix](https://github.com/NixOS/cabal2nix).
|
||
|
Please refer to [nix documentation](https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages)
|
||
|
and [cabal2nix readme](https://github.com/NixOS/cabal2nix#readme) for more information. Elm-format [update scripts](https://github.com/avh4/elm-format/tree/master/package/nix)
|
||
|
is part of its repository.
|
||
|
|
||
|
Node dependencies are defined in [node-packages.json](node/node-packages.json).
|
||
|
[Node2nix](https://github.com/svanderburg/node2nix) is used for generating nix expression
|
||
|
from this file. Use [generate-node-packages.sh](node/generate-node-packages.sh) for updates of nix expressions.
|
||
|
|
||
|
## Binwrap Patch
|
||
|
|
||
|
Some node packages might use [binwrap](https://github.com/avh4/binwrap) typically for installing
|
||
|
[elmi-to-json](https://github.com/stoeffel/elmi-to-json). Binwrap is not compatible with nix.
|
||
|
To overcome issues with those packages apply [patch-binwrap.nix](../lib/default.nix) which essentially does 2 things.
|
||
|
|
||
|
1. It replaces binwrap scripts with noop shell scripts
|
||
|
2. It uses nix for installing the binaries to expected location in `node_modules`
|
||
|
|
||
|
Example usage be found in `elm/default.nix`.
|