-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
87 lines (77 loc) · 2.21 KB
/
flake.nix
File metadata and controls
87 lines (77 loc) · 2.21 KB
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
{
description = "A foundational platform for software engineering in Haskell.";
inputs.hix.url = "github:tek/hix";
inputs.hix.inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs =
{ hix, ... }:
hix.lib.flake {
compiler = "ghc910";
ghcVersions = [
"ghc96"
"ghc98"
"ghc910"
];
overrides = import ./ops/overrides.nix;
envs.dev = {
haskellTools =
ghc: with ghc; [
fourmolu
];
};
cabal = {
license = "MPL-2.0";
license-file = "LICENSE";
author = "James Burton";
# TODO: Extract these into a shared flake
# Pass "isLibrary" to decide between O1 or O2 (for apps)
ghc-options = [
"-fhide-source-paths"
"-Wall"
"-Wcompat"
"-Widentities"
"-Wimplicit-prelude"
"-Wredundant-constraints"
"-Wmissing-export-lists"
# "-Wpartial-fields"
"-Wmissing-deriving-strategies"
"-Wunused-packages"
"-Winvalid-haddock"
"-Wredundant-bang-patterns"
"-Woperator-whitespace"
"-Wredundant-strictness-flags"
"-O1"
];
language = "GHC2021";
# TODO: Extract these into a shared flake
default-extensions = [
"NoImplicitPrelude"
"BlockArguments"
"DataKinds"
"DefaultSignatures"
"DeriveAnyClass"
"DerivingStrategies"
"DuplicateRecordFields"
"FunctionalDependencies"
"GADTs"
"ImportQualifiedPost"
"LambdaCase"
"MultiWayIf"
"OverloadedRecordDot"
"OverloadedStrings"
"PartialTypeSignatures"
"PatternSynonyms"
"QuasiQuotes"
"TemplateHaskell"
"TypeFamilies"
"TypeFamilyDependencies"
];
meta = {
maintainer = "james@functionalcore.dev";
github = "FunctionalCore/petros";
extra-source-files = [ "README.md" ];
};
};
packages.petros-core = import ./ops/packages/petros-core.nix;
packages.petros-test = import ./ops/packages/petros-test.nix;
};
}