31 lines
700 B
Nix
31 lines
700 B
Nix
self:
|
|
{ ... }@inputs:
|
|
{ user, ... }@imports:
|
|
let
|
|
user' =
|
|
name: snippets:
|
|
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}@args:
|
|
builtins.trace "user: ${name}" {
|
|
options.fbs42.user.${name} = lib.mkEnableOption name;
|
|
## no longer with nixos-24.11
|
|
#config.users.users.${name} = lib.mkIf config.fbs42.user.${name} {
|
|
# group = lib.mkDefault name;
|
|
#};
|
|
|
|
imports = map (
|
|
{ user, home-manager }:
|
|
{
|
|
config = lib.mkIf config.fbs42.user.${name} {
|
|
users.users.${name} = (user args);
|
|
home-manager.users.${name} = home-manager;
|
|
};
|
|
}
|
|
) snippets;
|
|
};
|
|
in
|
|
builtins.mapAttrs user' user
|