-
Notifications
You must be signed in to change notification settings - Fork 45
/
flake.nix
96 lines (79 loc) · 2.8 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
87
88
89
90
91
92
93
94
95
96
{
description = "Marlowe Cardano implementation";
inputs = {
std = {
url = "github:divnix/std";
inputs.n2c.follows = "n2c";
};
n2c.url = "github:nlewo/nix2container";
marlowe-plutus.url = "github:input-output-hk/marlowe-plutus";
cardano-node.url = "github:input-output-hk/cardano-node?ref=8.9.0";
iogx = {
url = "github:input-output-hk/iogx";
inputs.hackage.follows = "hackage";
inputs.CHaP.follows = "CHaP";
inputs.haskell-nix.follows = "haskell-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.follows = "haskell-nix/nixpkgs";
hackage = {
url = "github:input-output-hk/hackage.nix";
flake = false;
};
CHaP = {
url = "github:input-output-hk/cardano-haskell-packages?ref=repo";
flake = false;
};
haskell-nix = {
url = "github:input-output-hk/haskell.nix";
inputs.hackage.follows = "hackage";
};
};
outputs = inputs@{ self, nixpkgs, ... }: inputs.iogx.lib.mkFlake {
inherit inputs;
repoRoot = ./.;
systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
flake = _:
let
inherit (nixpkgs) lib;
in
{
sqitch-plan-dirs = {
# Ensure this path only changes when sqitch.plan file is updated, or DDL
# files are updated.
chain-sync = (builtins.path {
path = self;
name = "marlowe-chain-sync-sqitch-plan";
filter = path: type:
path == "${self}/marlowe-chain-sync"
|| path == "${self}/marlowe-chain-sync/sqitch.plan"
|| lib.hasPrefix "${self}/marlowe-chain-sync/deploy" path
|| lib.hasPrefix "${self}/marlowe-chain-sync/revert" path;
}) + "/marlowe-chain-sync";
# Ensure this path only changes when sqitch.plan file is updated, or DDL
# files are updated.
runtime = (builtins.path {
path = self;
name = "marlowe-runtime-sqitch-plan";
filter = path: type:
path == "${self}/marlowe-runtime"
|| path == "${self}/marlowe-runtime/marlowe-indexer"
|| path == "${self}/marlowe-runtime/marlowe-indexer/sqitch.plan"
|| lib.hasPrefix "${self}/marlowe-runtime/marlowe-indexer/deploy" path
|| lib.hasPrefix "${self}/marlowe-runtime/marlowe-indexer/revert" path;
}) + "/marlowe-runtime/marlowe-indexer";
};
nixosModules.default = import ./nix/nixos.nix inputs;
};
outputs = import ./nix/outputs.nix;
};
nixConfig = {
extra-substituters = [
"https://cache.iog.io"
];
extra-trusted-public-keys = [
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
];
allow-import-from-derivation = true;
};
}