pub-solar-os/lib/devos/mkSuites.nix
2021-04-18 19:28:03 -05:00

25 lines
547 B
Nix

{ lib, ... }:
{ users, profiles, userProfiles, suites } @ args:
let
inherit (lib) os;
definedSuites = suites {
inherit (args) users profiles userProfiles;
};
allProfiles =
let defaults = lib.collect (x: x ? default) profiles;
in map (x: x.default) defaults;
allUsers =
let defaults = lib.collect (x: x ? default) users;
in map (x: x.default) defaults;
createSuites = _: suites: lib.mapAttrs (_: v: os.profileMap v) suites // {
inherit allProfiles allUsers;
};
in
lib.mapAttrs createSuites definedSuites