refactor(flake): reuse package discovery utility
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
system,
|
||||
}:
|
||||
let
|
||||
util = import ../dotfiles/util.nix { inherit lib; };
|
||||
|
||||
dotfiles = import ../dotfiles {
|
||||
inherit
|
||||
inputs
|
||||
@@ -27,6 +29,7 @@ in
|
||||
lib
|
||||
root
|
||||
system
|
||||
util
|
||||
;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,30 +3,18 @@
|
||||
lib,
|
||||
root,
|
||||
system,
|
||||
util,
|
||||
}:
|
||||
let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||
|
||||
packageDirs =
|
||||
dir:
|
||||
lib.flatten (
|
||||
lib.mapAttrsToList (
|
||||
name: type:
|
||||
let
|
||||
path = dir + "/${name}";
|
||||
in
|
||||
if type == "directory" then
|
||||
packageDirs path
|
||||
else if type == "regular" && name == "package.nix" then
|
||||
[ dir ]
|
||||
else
|
||||
[ ]
|
||||
) (builtins.readDir dir)
|
||||
);
|
||||
packageFiles = builtins.filter (path: builtins.baseNameOf (toString path) == "package.nix") (
|
||||
util.collectNixFiles (root + "/src")
|
||||
);
|
||||
|
||||
package = dir: {
|
||||
name = builtins.baseNameOf (toString dir);
|
||||
value = import (dir + "/package.nix") {
|
||||
package = packageFile: {
|
||||
name = builtins.baseNameOf (toString (builtins.dirOf packageFile));
|
||||
value = import packageFile {
|
||||
inherit
|
||||
lib
|
||||
pkgs
|
||||
@@ -35,4 +23,4 @@ let
|
||||
};
|
||||
};
|
||||
in
|
||||
builtins.listToAttrs (map package (packageDirs (root + "/src")))
|
||||
builtins.listToAttrs (map package packageFiles)
|
||||
|
||||
Reference in New Issue
Block a user