noredink-ui/shell.nix
2021-11-08 14:02:18 -08:00

39 lines
972 B
Nix

let
sources = import ./nix/sources.nix;
system = if builtins.currentSystem == "aarch64-darwin" then "x86_64-darwin" else builtins.currentSystem;
nixpkgs = import sources.nixpkgs { inherit system; };
niv = nixpkgs.callPackage sources.niv { };
in with nixpkgs;
stdenv.mkDerivation {
name = "noredink-ui";
buildInputs = [
# base dependencies
git
niv.niv
jq
# building with Shake
haskellPackages.ormolu
(haskellPackages.ghcWithPackages (ps: [ ps.shake ]))
# node dependencies
nodejs
nodePackages.npm
# elm dependencies
elmPackages.elm
elmPackages.elm-format
elmPackages.elm-test
elmPackages.elm-verify-examples
(pkgs.callPackage sources.elm-forbid-import { })
# preview dependencies
python3
watchexec
# stuff we need for running builds in a `nix-shell --pure` environment.
which
netcat-gnu
] ++ lib.optionals stdenv.isLinux [ pkgs.fsatrace pkgs.strace pkgs.cacert ];
}