Filter out irrelevant files

This commit is contained in:
Vaibhav Sagar 2017-10-02 00:02:16 +08:00
parent 733c6d7c42
commit 0d81c1d66c

View File

@ -1,7 +1,24 @@
{ packages ? (_: []), systemPackages ? (_: []), pkgs ? import <nixpkgs> {}, rtsopts ? "-M3g -N2" }:
let
src = pkgs.lib.cleanSource ./.;
cleanSource = name: type: let
baseName = baseNameOf (toString name);
lib = pkgs.lib;
in !(
(type == "directory" &&
( baseName == ".git"
|| baseName == "dist"
|| baseName == ".stack-work"
)) ||
(type == "symlink" && (lib.hasPrefix "result" baseName)) ||
lib.hasSuffix ".hi" baseName ||
lib.hasSuffix ".ipynb" baseName ||
lib.hasSuffix ".nix" baseName ||
lib.hasSuffix ".o" baseName ||
lib.hasSuffix ".sock" baseName ||
lib.hasSuffix ".yaml" baseName
);
src = builtins.filterSource cleanSource ./.;
displays = self: builtins.listToAttrs (
map
(display: { name = display; value = self.callCabal2nix display "${src}/ihaskell-display/${display}" {}; })