about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2019-11-27T18·20-0500
committerGriffin Smith <root@gws.fyi>2019-11-27T18·20-0500
commit2f2e5a0b684f886a7585161d30e8cda962c7eefb (patch)
treef6d19407eeba8ac41c544031fa3390b9a14c26fa
parent7b90b02049f891f752fff7e0e228511077bbcb84 (diff)
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`
-rw-r--r--pkg.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/pkg.nix b/pkg.nix
index d3b65a64f337..dcf508fa5485 100644
--- a/pkg.nix
+++ b/pkg.nix
@@ -1,7 +1,19 @@
-{ nixpkgs ? import ./nixpkgs.nix {} }:
-let inherit (nixpkgs) pkgs; in
+{ nixpkgs ? import ./nixpkgs.nix {}
+,
+}:
+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 {
   name = "xanthous";
-  src = ./.;
+  src = gitignoreSource ./.;
   extraCabal2nixOptions = "--hpack";
 })