diff options
author | sternenseemann <sternenseemann@systemli.org> | 2022-02-27 16:13:46 +0100 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2022-02-27 16:53:18 +0100 |
commit | 88229686ebab850c019a64508c72329357223f31 (patch) | |
tree | ed73033e59c92cb05fab3dcf7d15e46f4cdc6421 | |
parent | 761c2376691bad75739d2dd93492168892e896fe (diff) |
refactor(likely-music-backend): prevent unnecessary rebuilds
By filtering irrelevant things, building and iterating on likely-music shouldn't be as big a chore anymore.
-rw-r--r-- | pkgs.nix | 26 |
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" { } '' |