-
Notifications
You must be signed in to change notification settings - Fork 1
/
flake.nix
62 lines (59 loc) · 1.78 KB
/
flake.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{
# nixConfig = {
# bash-prompt-suffix = "[dev]";
# };
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flakeUtils.url = "github:gytis-ivaskevicius/flake-utils-plus";
easyPSSrc = {
flake = false;
url = "github:justinwoo/easy-purescript-nix";
};
};
outputs = { self, nixpkgs, flakeUtils, easyPSSrc }:
flakeUtils.lib.eachSystem ["x86_64-linux"] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
easyPS = pkgs.callPackage easyPSSrc { inherit pkgs; };
nodejs-16 = pkgs.writeShellScriptBin "nodejs-16" ''
${ pkgs.nodejs-16_x.out}/bin/node $@
'';
in {
devShell = pkgs.mkShell {
buildInputs = [
# Please update spago and purescript in `package.json` `scripts` section
easyPS."purs-0_15_7"
easyPS.purescript-language-server
easyPS.pscid
easyPS.purs-tidy
easyPS.pulp
easyPS.spago
pkgs.jq
pkgs.docker
pkgs.nodePackages.bower
pkgs.nodePackages.jshint
pkgs.nodePackages.nodemon
pkgs.nodePackages.yarn
pkgs.nodePackages.webpack
pkgs.nodePackages.webpack-cli
pkgs.nodePackages.webpack-dev-server
pkgs.dhall
pkgs.nodejs-18_x
nodejs-16
pkgs.pkgconfig
pkgs.postgresql
pkgs.python27
pkgs.python37
pkgs.unzip
pkgs.nixpacks
];
shellHook = ''
npm install
NODE_OPTIONS=--experimental-fetch --trace-warnings
export PATH=$PATH:./node_modules/.bin/:./bin
export PS1="\n\[\033[1;32m\][nix develop:\w]\$\[\033[0m\] ";
'';
};
}
);
}