-
Notifications
You must be signed in to change notification settings - Fork 2
/
tooling.nix
31 lines (27 loc) · 952 Bytes
/
tooling.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
# Packages that are not required for building, just as tools. For example
# linters, formatters, etc.
let
pkgs = (import ./default.nix).pkgs;
haskellPackages = pkgs.haskellPackages.override (old: {
overrides =
with pkgs;
lib.composeExtensions (old.overrides or (_: _: {})) (self: super: {
# For brittany
multistate = haskell.lib.doJailbreak super.multistate;
# See https://github.com/NixOS/nixpkgs/issues/54534.
brittany = haskell.lib.doJailbreak (self.callCabal2nix "brittany"
(pkgs.fetchFromGitHub {
owner = "lspitzner";
repo = "brittany";
rev = "6c187da8f8166d595f36d6aaf419370283b3d1e9";
sha256 = "0nmnxprbwws3w1sh63p80qj09rkrgn9888g7iim5p8611qyhdgky";
}) {});
});
});
in with haskellPackages; [
ghcid
brittany
apply-refact # for hlint
hlint
pkgs.gitAndTools.pre-commit
]