33 lines
715 B
Nix
33 lines
715 B
Nix
{ lib, ... }:
|
|
|
|
let
|
|
userOptions = with lib; { config, ... }: {
|
|
options.email = mkOption {
|
|
type = types.nullOr types.str;
|
|
description = "Email address of the user.";
|
|
};
|
|
|
|
options.fullName = mkOption {
|
|
type = types.nullOr types.str;
|
|
description = "Full name of the user.";
|
|
};
|
|
|
|
options.wallpaper = mkOption {
|
|
type = types.path;
|
|
description = "Path to the user's wallpaper.";
|
|
};
|
|
|
|
options.base16Scheme = mkOption {
|
|
type = types.path;
|
|
description = "Base16 scheme to use for the user's color palette.";
|
|
};
|
|
};
|
|
in
|
|
{
|
|
options = with lib; with types; {
|
|
users.users = mkOption {
|
|
type = attrsOf (submodule userOptions);
|
|
};
|
|
};
|
|
}
|