selfprivacy-nixos-config/variables.nix

131 lines
3.9 KiB
Nix

{ pkgs, ... }:
let
jsonData = builtins.fromJSON (builtins.readFile ./userdata/userdata.json);
in
{
services.userdata = {
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");
autoUpgrade = {
enable = (
if (jsonData ? "autoUpgrade" && jsonData.autoUpgrade ? "enable")
then jsonData.autoUpgrade.enable
else true
);
allowReboot = (
if (jsonData ? "autoUpgrade" && jsonData.autoUpgrade ? "allowReboot")
then jsonData.autoUpgrade.allowReboot
else true
);
};
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 [ ]);
api = {
token = jsonData.api.token;
enableSwagger = (
if (jsonData ? "api" && jsonData.api ? "enableSwagger")
then jsonData.api.enableSwagger
else false
);
skippedMigrations = (
if (jsonData ? "api" && jsonData.api ? "skippedMigrations")
then jsonData.api.skippedMigrations
else [ ]
);
};
backblaze = {
bucket = (
if (jsonData ? "backblaze" && jsonData.backblaze ? "bucket")
then jsonData.backblaze.bucket
else ""
);
accountId = (
if (jsonData ? "backblaze" && jsonData.backblaze ? "accountId")
then jsonData.backblaze.accountId
else ""
);
accountKey = (
if (jsonData ? "backblaze" && jsonData.backblaze ? "accountKey")
then jsonData.backblaze.accountKey
else ""
);
};
cloudflare = {
apiKey = (
if (jsonData ? "cloudflare" && jsonData.cloudflare ? "apiKey")
then jsonData.cloudflare.apiKey
else null
);
};
databasePassword = (if jsonData ? "databasePassword" then jsonData.databasePassword else null);
bitwarden = {
enable = (
if (jsonData ? "bitwarden" && jsonData.bitwarden ? "enable")
then jsonData.bitwarden.enable
else false
);
};
gitea = {
enable = (
if (jsonData ? "gitea" && jsonData.gitea ? "enable")
then jsonData.gitea.enable
else false
);
};
nextcloud = {
enable = (
if (jsonData ? "nextcloud" && jsonData.nextcloud ? "enable")
then jsonData.nextcloud.enable
else false
);
adminPassword = (
if (jsonData ? "nextcloud" && jsonData.nextcloud ? "adminPassword")
then jsonData.nextcloud.adminPassword
else null
);
};
pleroma = {
enable = (
if (jsonData ? "pleroma" && jsonData.pleroma ? "enable")
then jsonData.pleroma.enable
else false
);
};
jitsi = {
enable = (
if (jsonData ? "jitsi" && jsonData.jitsi ? "enable")
then jsonData.jitsi.enable
else false
);
};
ocserv = {
enable = (
if (jsonData ? "ocserv" && jsonData.ocserv ? "enable")
then jsonData.ocserv.enable
else false
);
};
resticPassword = (if jsonData ? "resticPassword" then jsonData.resticPassword else null);
ssh = {
enable = (
if (jsonData ? "ssh" && jsonData.ssh ? "enable")
then jsonData.ssh.enable
else true
);
rootKeys = (
if (jsonData ? "ssh" && jsonData.ssh ? "rootKeys")
then jsonData.ssh.rootKeys
else [ "" ]
);
passwordAuthentication = (
if (jsonData ? "ssh" && jsonData.ssh ? "passwordAuthentication")
then jsonData.ssh.passwordAuthentication
else true
);
};
users = (if jsonData ? "users" then jsonData.users else [ ]);
};
}