From dff471af7e1ea91fca5f7d30aebbb50ae3284398 Mon Sep 17 00:00:00 2001 From: damianfral Date: Fri, 30 Dec 2022 16:00:15 +0000 Subject: [PATCH] Use nix-filter. --- flake.lock | 16 ++++++++++++++++ flake.nix | 23 +++++++++++++++++++---- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 1a215d8..58ee30b 100644 --- a/flake.lock +++ b/flake.lock @@ -15,6 +15,21 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1666547822, + "narHash": "sha256-razwnAybPHyoAyhkKCwXdxihIqJi1G6e1XP4FQOJTEs=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "1a3b735e13e90a8d2fd5629f2f8363bd7ffbbec7", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1672189105, @@ -33,6 +48,7 @@ "root": { "inputs": { "flake-utils": "flake-utils", + "nix-filter": "nix-filter", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index fe069a5..fdc9847 100644 --- a/flake.nix +++ b/flake.nix @@ -4,14 +4,18 @@ inputs = { nixpkgs = { url = "github:NixOS/nixpkgs/"; }; flake-utils = { url = "github:numtide/flake-utils"; }; + nix-filter.url = "github:numtide/nix-filter"; }; - outputs = { self, nixpkgs, flake-utils }: + outputs = { self, nixpkgs, flake-utils, nix-filter }: let pkgsFor = system: import nixpkgs { inherit system; - overlays = [ self.overlays.${system} ]; + overlays = [ + self.overlays.${system} + nix-filter.overlays.default + ]; }; in @@ -19,6 +23,17 @@ (system: let pkgs = pkgsFor system; + filteredSrc = + pkgs.nix-filter { + root = ./.; + include = [ + "src/" + "package.yaml" + "LICENSE" + "benchmark/" + "brainfucks/" + ]; + }; in rec { packages = rec { @@ -26,7 +41,7 @@ pkgs.haskellPackages.brainhask; brainhask-bench-results = pkgs.stdenv.mkDerivation { name = "brainhask-bench-results"; - src = ./.; + src = filteredSrc; buildPhase = '' ${brainhask}/bin/brainhask-bench --output benchmark-results.html ''; @@ -69,7 +84,7 @@ overrides = final.lib.composeExtensions (old.overrides or (_: _: { })) (self: super: { - brainhask = self.callCabal2nix "brainhask" ./. { }; + brainhask = self.callCabal2nix "brainhask" filteredSrc { }; } ); });