forked from juspay/euler-hs
-
Notifications
You must be signed in to change notification settings - Fork 2
/
flake.nix
86 lines (77 loc) · 2.95 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{
inputs = {
# Common is used only to get the GHC 9.2 package set.
common.url = "github:nammayatri/common";
nixpkgs.follows = "common/nixpkgs";
flake-parts.follows = "common/flake-parts";
haskell-flake.follows = "common/haskell-flake";
cereal.url = "github:juspay/cereal";
cereal.flake = false;
juspay-extra.url = "github:juspay/euler-haskell-common";
juspay-extra.inputs.haskell-flake.follows = "haskell-flake";
euler-events-hs.url = "github:juspay/euler-events-hs/main";
euler-events-hs.inputs.haskell-flake.follows = "haskell-flake";
sequelize.url = "github:nammayatri/haskell-sequelize/backend/decoupled-drainer-changes";
sequelize.inputs.nixpkgs.follows = "nixpkgs";
sequelize.inputs.haskell-flake.follows = "haskell-flake";
sequelize.inputs.flake-parts.follows = "flake-parts";
hedis.url = "git+https://github.com/juspay/hedis?rev=5547eb306006243f57d54e8ebb5225a055d40e73";
hedis.flake = false;
servant-mock.url = "github:arjunkathuria/servant-mock?rev=17e90cb831820a30b3215d4f164cf8268607891e";
servant-mock.flake = false;
tinylog.url = "gitlab:arjunkathuria/tinylog/08d3b6066cd2f883e183b7cd01809d1711092d33";
tinylog.flake = false;
};
outputs = inputs@{ nixpkgs, flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = nixpkgs.lib.systems.flakeExposed;
imports = [
inputs.common.flakeModules.ghc927
inputs.haskell-flake.flakeModule
];
perSystem = { self', pkgs, lib, config, ... }: {
packages.default = self'.packages.euler-hs;
haskellProjects.default = {
devShell.tools = _: lib.mkForce {
haskell-language-server = null;
ormolu = pkgs.haskellPackages.ormolu;
};
projectFlakeName = "euler-hs";
imports = [
inputs.euler-events-hs.haskellFlakeProjectModules.output
inputs.juspay-extra.haskellFlakeProjectModules.output
inputs.sequelize.haskellFlakeProjectModules.output
];
basePackages = config.haskellProjects.ghc927.outputs.finalPackages;
packages = {
hedis.source = inputs.hedis;
cereal.source = inputs.cereal;
servant-mock.source = inputs.servant-mock;
tinylog.source = inputs.tinylog;
};
settings = {
bytestring-conversion.broken = false;
hedis.check = false;
sequelize.check = false;
servant-client = {
jailbreak = true;
};
servant-client-core = {
jailbreak = true;
};
servant-server = {
jailbreak = true;
};
servant-mock = {
check = false;
jailbreak = true;
};
servant = {
jailbreak = true;
};
};
autoWire = [ "packages" "checks" "devShells" "apps"];
};
};
};
}