Refactor desktop HM into desktop-home-base and per-host home.nix
This commit is contained in:
@@ -23,11 +23,24 @@
|
||||
'';
|
||||
};
|
||||
extraModules = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.listOf lib.types.unspecified);
|
||||
type =
|
||||
(lib.types.attrsOf (lib.types.listOf lib.types.unspecified))
|
||||
// {
|
||||
merge =
|
||||
loc: defs:
|
||||
let
|
||||
values = map (d: d.value) defs;
|
||||
names = lib.unique (lib.concatLists (map builtins.attrNames values));
|
||||
in
|
||||
lib.genAttrs names (
|
||||
name: lib.concatLists (map (v: v.${name} or [ ]) values)
|
||||
);
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Per-user Home Manager `extraModules` keyed by catalog user name.
|
||||
Keys must match `chiasson.users.enabled`.
|
||||
Keys must match `chiasson.users.enabled`. Lists from multiple modules
|
||||
are concatenated (e.g. `desktop-home-base.nix` + host `home.nix`).
|
||||
'';
|
||||
};
|
||||
homeManager = {
|
||||
|
||||
Reference in New Issue
Block a user