2021-05-30 19:10:28 +00:00
|
|
|
{
|
2022-11-20 22:28:23 +00:00
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
2021-05-30 19:10:28 +00:00
|
|
|
with lib; let
|
|
|
|
cfg = config.pub-solar;
|
2022-11-20 22:28:23 +00:00
|
|
|
in {
|
2021-05-30 19:10:28 +00:00
|
|
|
options.pub-solar = {
|
|
|
|
user = {
|
|
|
|
name = mkOption {
|
|
|
|
description = "User login name";
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = "nixos";
|
|
|
|
};
|
2021-11-17 11:05:50 +00:00
|
|
|
description = mkOption {
|
|
|
|
description = "User description";
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = "The main PubSolarOS user";
|
|
|
|
};
|
2021-05-30 19:10:28 +00:00
|
|
|
password = mkOption {
|
|
|
|
description = "User password";
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
};
|
2022-01-31 16:35:00 +00:00
|
|
|
publicKeys = mkOption {
|
|
|
|
description = "User SSH public keys";
|
2022-10-05 09:57:51 +00:00
|
|
|
type = types.listOf types.str;
|
2022-01-31 16:35:00 +00:00
|
|
|
default = [];
|
|
|
|
};
|
2021-05-30 19:10:28 +00:00
|
|
|
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;
|
|
|
|
};
|
2022-08-21 21:56:42 +00:00
|
|
|
latitude = mkOption {
|
|
|
|
description = "Latitude";
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
};
|
|
|
|
longitude = mkOption {
|
|
|
|
description = "Longitude";
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
};
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|