Gitignore source before passing to nix

Call hercules-ci's gitignoreSource on the src path before passing to
nix, which both prevents spurious rebuilds and also makes compilation
via `nix build` (which under the hood uses cabal v1-build) work while
also doing development using `cabal new-build`
This commit is contained in:
Griffin Smith 2019-11-27 13:20:46 -05:00
parent 7b90b02049
commit 2f2e5a0b68

18
pkg.nix
View file

@ -1,7 +1,19 @@
{ nixpkgs ? import ./nixpkgs.nix {} }: { nixpkgs ? import ./nixpkgs.nix {}
let inherit (nixpkgs) pkgs; in ,
}:
let
inherit (builtins) filterSource elem not;
inherit (nixpkgs) pkgs;
gitignoreSource = (import (pkgs.fetchFromGitHub {
owner = "hercules-ci";
repo = "gitignore";
rev = "f9e996052b5af4032fe6150bba4a6fe4f7b9d698";
sha256 = "0jrh5ghisaqdd0vldbywags20m2cxpkbbk5jjjmwaw0gr8nhsafv";
# date = 2019-09-18T15:15:15+02:00;
}) { inherit (pkgs) lib; }).gitignoreSource;
in
import (pkgs.haskellPackages.haskellSrc2nix { import (pkgs.haskellPackages.haskellSrc2nix {
name = "xanthous"; name = "xanthous";
src = ./.; src = gitignoreSource ./.;
extraCabal2nixOptions = "--hpack"; extraCabal2nixOptions = "--hpack";
}) })