refactor(flake): reuse package discovery utility

This commit is contained in:
2026-09-19 16:29:53 -04:00
parent 99f091e92a
commit c5043a67be
2 changed files with 11 additions and 20 deletions

View File

@@ -6,6 +6,8 @@
system, system,
}: }:
let let
util = import ../dotfiles/util.nix { inherit lib; };
dotfiles = import ../dotfiles { dotfiles = import ../dotfiles {
inherit inherit
inputs inputs
@@ -27,6 +29,7 @@ in
lib lib
root root
system system
util
; ;
}; };

View File

@@ -3,30 +3,18 @@
lib, lib,
root, root,
system, system,
util,
}: }:
let let
pkgs = inputs.nixpkgs.legacyPackages.${system}; pkgs = inputs.nixpkgs.legacyPackages.${system};
packageDirs = packageFiles = builtins.filter (path: builtins.baseNameOf (toString path) == "package.nix") (
dir: util.collectNixFiles (root + "/src")
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)
);
package = dir: { package = packageFile: {
name = builtins.baseNameOf (toString dir); name = builtins.baseNameOf (toString (builtins.dirOf packageFile));
value = import (dir + "/package.nix") { value = import packageFile {
inherit inherit
lib lib
pkgs pkgs
@@ -35,4 +23,4 @@ let
}; };
}; };
in in
builtins.listToAttrs (map package (packageDirs (root + "/src"))) builtins.listToAttrs (map package packageFiles)