2021-11-15 10:02:05 +00:00
|
|
|
{ pkgs, ... }:
|
2022-07-13 11:18:43 +00:00
|
|
|
let
|
|
|
|
jsonData = builtins.fromJSON (builtins.readFile ./userdata/userdata.json);
|
|
|
|
in
|
2021-11-15 10:02:05 +00:00
|
|
|
{
|
2022-07-13 11:18:43 +00:00
|
|
|
services.userdata = {
|
2022-07-13 11:41:47 +00:00
|
|
|
hostname = if jsonData ? "hostname" then jsonData.hostname else null;
|
|
|
|
domain = if jsonData ? "domain" then jsonData.domain else null;
|
|
|
|
timezone = if jsonData ? "timezone" then jsonData.timezone else "Europe/Uzhgorod";
|
2022-07-13 11:18:43 +00:00
|
|
|
autoUpgrade = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = if jsonData ? "autoUpgrade.enable" then jsonData.autoUpgrade.enable else true;
|
|
|
|
allowReboot = if jsonData ? "autoUpgrade.allowReboot" then jsonData.autoUpgrade.allowReboot else true;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
2022-07-13 11:41:47 +00:00
|
|
|
username = if jsonData ? "username" then jsonData.username else null;
|
|
|
|
hashedMasterPassword = if jsonData ? "hashedMasterPassword" then jsonData.hashedMasterPassword else null;
|
|
|
|
sshKeys = if jsonData ? "sshKeys" then jsonData.sshKeys else [];
|
2022-07-13 11:18:43 +00:00
|
|
|
api = {
|
|
|
|
token = jsonData.api.token;
|
2022-07-13 11:41:47 +00:00
|
|
|
enableSwagger = if jsonData ? "api.enableSwagger" then jsonData.api.enableSwagger else false;
|
|
|
|
skippedMigrations = if jsonData ? "api.skippedMigrations" then jsonData.api.skippedMigrations else [];
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
backblaze = {
|
2022-07-13 11:41:47 +00:00
|
|
|
bucket = if jsonData ? "backblaze.bucket" then jsonData.backblaze.bucket else null;
|
|
|
|
accountId = if jsonData ? "backblaze.accountId" then jsonData.backblaze.accountId else null;
|
|
|
|
accountKey = if jsonData ? "backblaze.accountKey" then jsonData.backblaze.accountKey else null;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
cloudflare = {
|
2022-07-13 11:41:47 +00:00
|
|
|
apiKey = if jsonData ? "cloudflare.apiKey" then jsonData.cloudflare.apiKey else null;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
2022-07-13 11:41:47 +00:00
|
|
|
databasePassword = if jsonData ? "databasePassword" then jsonData.databasePassword else null;
|
2022-07-13 11:18:43 +00:00
|
|
|
bitwarden = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "bitwarden.enable" then jsonData.bitwarden.enable else false;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
gitea = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "gitea.enable" then jsonData.gitea.enable else false;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
nextcloud = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "nextcloud.enable" then jsonData.nextcloud.enable else false;
|
|
|
|
adminPassword = jsonData ? "nextcloud.adminPassword" then jsonData.nextcloud.adminPassword else null;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
pleroma = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "pleroma.enable" then jsonData.pleroma.enable else false;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
jitsi = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "jitsi.enable" then jsonData.jitsi.enable else false;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
|
|
|
ocserv = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = jsonData ? "ocserv.enable" then jsonData.ocserv.enable else false;
|
2022-07-13 11:18:43 +00:00
|
|
|
};
|
2022-07-13 11:41:47 +00:00
|
|
|
resticPassword = jsonData ? "resticPassword" then jsonData.resticPassword else null;
|
2022-07-13 11:18:43 +00:00
|
|
|
ssh = {
|
2022-07-13 11:41:47 +00:00
|
|
|
enable = if jsonData ? "ssh.enable" then jsonData.ssh.enable else true;
|
2022-07-13 11:18:43 +00:00
|
|
|
rootKeys = jsonData.ssh.rootKeys;
|
|
|
|
passwordAuthentication = jsonData.ssh.passwordAuthentication;
|
|
|
|
};
|
2022-07-13 11:41:47 +00:00
|
|
|
users = (if jsonData ? "users" then jsonData.users else [ ]);
|
2021-11-15 10:02:05 +00:00
|
|
|
};
|
|
|
|
}
|