about summary refs log tree commit diff
path: root/pkgs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs.nix')
-rw-r--r--pkgs.nix26
1 files changed, 22 insertions, 4 deletions
diff --git a/pkgs.nix b/pkgs.nix
index 9bbd31f..d86a8bf 100644
--- a/pkgs.nix
+++ b/pkgs.nix
@@ -3,11 +3,29 @@
 rec {
   # likely-music haskellPackage
   likely-music-lib = likely-music-backend;
-  likely-music-backend = pkgs.haskellPackages.callPackage ./likely-music-backend.nix { };
+  likely-music-backend = pkgs.haskell.lib.compose.overrideSrc {
+    # Prevent unnecessary rebuilds
+    src = builtins.path {
+      name = "likely-music-backend-source";
+      path = ./.;
+      filter = path: type:
+        # Exclude paths irrelevant to Haskell compilation
+        builtins.all (prefix: !pkgs.lib.hasPrefix prefix path) [
+          (toString ./default.nix)
+          (toString ./likely-music-backend.nix)
+          (toString ./likely-music-service.nix)
+          (toString ./pkgs.nix)
+          (toString ./README.md)
+          (toString ./web)
+        ]
+        # Apply .gitignore rules
+        && pkgs.nix-gitignore.gitignoreFilter (
+          builtins.readFile ./.gitignore
+        ) ./. path type;
+    };
+  } (pkgs.haskellPackages.callPackage ./likely-music-backend.nix { });
 
-  likely-music-frontend = pkgs.callPackage ./web {
-    inherit napalm;
-  };
+  likely-music-frontend = pkgs.callPackage ./web { inherit napalm; };
 
   # executable wrapper around everything with correct paths
   likely-music = pkgs.runCommand "likely-music" { } ''