-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
82 lines (60 loc) · 2.13 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
{
description = "Tools for generating flakes";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
# Haskell
## Using haskell.nix to build Haskell projects
haskell-nix.url = "github:input-output-hk/haskell.nix";
# Nix
## Flakes as modules, using this extensively to organize the repo into modules (build.nix files)
flake-parts.url = "github:hercules-ci/flake-parts";
## Code quality automation
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
## Hercules CI effects
hci-effects.url = "github:hercules-ci/hercules-ci-effects";
# Purescript
## Cardano transaction library (leveraging CTL's Purescript Nix machinery)
ctl = {
url = "github:plutonomicon/cardano-transaction-lib?ref=develop";
inputs.db-sync.follows = "db-sync-ctl";
};
db-sync-ctl = {
url = "github:input-output-hk/cardano-db-sync/13.1.1.3";
};
# Rust
crane.url = "github:ipetkov/crane";
rust-overlay.url = "github:oxalica/rust-overlay";
# Plutus
## CHaP is a custom hackage for Plutus development
cardano-haskell-packages.url = "github:input-output-hk/cardano-haskell-packages?ref=repo";
cardano-haskell-packages.flake = false;
## Some crypto overlays necessary for Plutus
iohk-nix.url = "github:input-output-hk/iohk-nix";
## Foundational Plutus library
plutus.url = "github:input-output-hk/plutus";
## Plutarch eDSL
plutarch = {
url = "github:plutonomicon/plutarch-plutus";
flake = false;
};
};
outputs = inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } ({ flake-parts-lib, withSystem, ... }: {
systems = [ "x86_64-linux" "x86_64-darwin" ];
imports = [
# Project configuration
./pkgs.nix
./settings.nix
# Code quality
(flake-parts-lib.importApply ./flake-lang/pre-commit-hooks/rust-monorepo.nix { inherit withSystem; })
./pre-commit.nix
./hercules-ci.nix
# Nix tools
./flake-lang/build.nix
# Examples/Tests
./examples/build.nix
# Documentation
./docs/build.nix
];
});
}