From 2715591c970b6318c970a12919cc3f1c0e1e889d Mon Sep 17 00:00:00 2001 From: William Carroll Date: Fri, 28 Aug 2020 18:14:22 +0100 Subject: Call readTree on all top-level, visible directories in briefcase Instead of manually maintaining the list of directories that I expose to readTree, I'm using `builtins.readDir` to get a list of all non-hidden top-level directories. --- default.nix | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'default.nix') diff --git a/default.nix b/default.nix index 0df52cce6a79..dca6dea16c23 100644 --- a/default.nix +++ b/default.nix @@ -1,32 +1,33 @@ { ... }: let - depot = import (builtins.fetchGit { + inherit (builtins) fetchGit readDir path; + inherit (pkgs.lib) filterAttrs mapAttrs; + inherit (pkgs.lib.strings) hasPrefix; + + briefcasePath = path { + path = ./.; + name = "briefcase"; + }; + + depot = import (fetchGit { url = "https://cl.tvl.fyi/depot"; rev = "a2e86152401c7c531801c79347c3f15e1806aabc"; }) {}; + + pkgs = import (fetchGit { + url = "https://github.com/NixOS/nixpkgs-channels"; + ref = "nixos-20.03"; + rev = "afa9ca61924f05aacfe495a7ad0fd84709d236cc"; + }) {}; + + briefcase = import briefcasePath {}; + readTree = depot.nix.readTree { - pkgs = import (builtins.fetchGit { - url = "https://github.com/NixOS/nixpkgs-channels"; - ref = "nixos-20.03"; - rev = "afa9ca61924f05aacfe495a7ad0fd84709d236cc"; - }) {}; - briefcase = import (builtins.path { - path = ./.; - name = "briefcase"; - }) {}; - depot = depot; + inherit depot pkgs briefcase; }; -in { - ci = readTree ./ci; - nixos = readTree ./nixos; - utils = readTree ./utils; - emacs = readTree ./emacs; - website = readTree ./website; - lisp = readTree ./lisp; - gopkgs = readTree ./gopkgs; - third_party = readTree ./third_party; - tools = readTree ./tools; - buildHaskell = readTree ./buildHaskell; - zoo = readTree ./zoo; -} +in mapAttrs + (name: _: readTree (./. + "/${name}")) + (filterAttrs + (name: type: type == "directory" && !hasPrefix "." name) + (readDir briefcasePath)) -- cgit 1.4.1