25 lines
547 B
Nix
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
|