nixos-config/config.nix
2022-12-27 14:48:21 -05:00

41 lines
826 B
Nix

{ config, lib, ... }:
let
userSubmodule = lib.types.submodule {
options = {
name = lib.mkOption {
type = lib.types.str;
};
email = lib.mkOption {
type = lib.types.str;
};
sshKeys = lib.mkOption {
type = lib.types.listOf lib.types.str;
description = ''
SSH public keys
'';
};
};
};
peopleSubmodule = lib.types.submodule {
options = {
users = lib.mkOption {
type = lib.types.attrsOf userSubmodule;
};
myself = lib.mkOption {
type = lib.types.str;
description = ''
The name of the user that represents myself.
Admin user in all contexts.
'';
};
};
};
in
{
options = {
people = lib.mkOption {
type = peopleSubmodule;
};
};
}