noredink-ui/shell.nix
Juan Edi 07f1252311 add elm language server to nix shell
for those who want to use the language server, this makes it available
in the path when using direnv.

for those that don't want to use the language server this shouldn't have
any effect.
2023-01-12 17:02:09 -03:00

45 lines
1.0 KiB
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 = import 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-language-server
elmPackages.elm-verify-examples
elmPackages.elm-review
elmPackages.elm-json
(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 ];
}