-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
52 lines (48 loc) · 1.11 KB
/
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
let
inherit (import ./default.nix { build = false; }) sources nixpkgs hsPkgs;
nixpkgs-node = import sources.nixpkgs-node {};
nixpkgs-act = import sources.nixpkgs-act {};
in hsPkgs.shellFor {
packages = ps: with ps; [
recycle-client
recycle-ics
];
withHoogle = true;
tools = {
cabal = { version = "latest"; };
haskell-language-server = "latest";
ghcid = { version = "latest"; };
hlint = { version = "latest"; };
ormolu = { version = "latest"; };
cabal-fmt = "latest";
};
buildInputs = (with nixpkgs; [
niv
(import sources.niv { }).niv
# nix formatter
nixfmt
# haskell ci/cd generator
haskell-ci
]) ++ (with nixpkgs-act; [
# run ci/cd locally
act
]) ++ (with nixpkgs-node; [
# nodejs for frontend
nodejs
prefetch-npm-deps
]) ++ (with nixpkgs-node.nodePackages; [
# create-react-app
create-react-app
# package manager
npm
# web formatter
prettier
js-beautify
# js linter
eslint
]);
shellHook = ''
export PATH="$PWD/recycle-ics-ui/node_modules/.bin/:$PATH"
'';
exactDeps = true;
}