60 lines
1.4 KiB
Nix
60 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
cfg = config.pub-solar;
|
|
in {
|
|
options.pub-solar = {
|
|
user = {
|
|
name = mkOption {
|
|
description = "User login name";
|
|
type = types.nullOr types.str;
|
|
default = "nixos";
|
|
};
|
|
description = mkOption {
|
|
description = "User description";
|
|
type = types.nullOr types.str;
|
|
default = "The main PubSolarOS user";
|
|
};
|
|
password = mkOption {
|
|
description = "User password";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
publicKeys = mkOption {
|
|
description = "User SSH public keys";
|
|
type = types.listOf types.str;
|
|
default = [];
|
|
};
|
|
fullName = mkOption {
|
|
description = "User full name";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
email = mkOption {
|
|
description = "User email address";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
gpgKeyId = mkOption {
|
|
description = "GPG Key ID";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
latitude = mkOption {
|
|
description = "Latitude";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
longitude = mkOption {
|
|
description = "Longitude";
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
};
|
|
};
|
|
};
|
|
}
|