forked from rowtype-yoga/purescript-protobuf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
35 lines (35 loc) · 967 Bytes
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ pkgs ? import ./nix/pkgs.nix {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
purs
easy-ps.spago
nodejs
easy-ps.pulp
protobuf
nodePackages.bower
easy-ps.psc-package
dhall
dhall-json
spago2nix
];
shellHook = ''
shopt -s globstar # Need for globbing packagePath in vscode PureScript IDE
export PATH="./bin:./node_modules/.bin:$PATH" # PATH to protoc-gen-purescript
source <(spago --bash-completion-script `which spago`)
echo "PureScript Protobuf development environment."
protoc --version
echo -n "purs "
purs --version
echo ""
echo "To build the protoc compiler plugin, run:"
echo ""
echo " npm install"
echo " spago -x spago-plugin.dhall build"
echo ""
echo "To generate PureScript .purs files from .proto files, run:"
echo ""
echo " protoc --purescript_out=path_to_output *.proto"
echo ""
'';
LC_ALL = "C.UTF-8"; # https://github.com/purescript/spago/issues/507
}