selfprivacy-nixos-config/variables.nix

131 lines
3.9 KiB
Nix
Raw Normal View History

2021-11-15 10:02:05 +00:00
{ pkgs, ... }:
let
jsonData = builtins.fromJSON (builtins.readFile ./userdata/userdata.json);
in
2021-11-15 10:02:05 +00:00
{
services.userdata = {
2022-07-13 11:47:13 +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");
autoUpgrade = {
2022-07-13 12:12:54 +00:00
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
);
};
2022-07-13 11:47:13 +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 [ ]);
api = {
token = jsonData.api.token;
2022-07-13 12:12:54 +00:00
enableSwagger = (
2022-07-13 12:14:07 +00:00
if (jsonData ? "api" && jsonData.api ? "enableSwagger")
2022-07-13 12:12:54 +00:00
then jsonData.api.enableSwagger
else false
);
skippedMigrations = (
if (jsonData ? "api" && jsonData.api ? "skippedMigrations")
then jsonData.api.skippedMigrations
else [ ]
);
};
backblaze = {
2022-07-13 12:12:54 +00:00
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 = {
2022-07-13 12:12:54 +00:00
apiKey = (
2022-07-13 12:13:20 +00:00
if (jsonData ? "cloudflare" && jsonData.cloudflare ? "apiKey")
2022-07-13 12:12:54 +00:00
then jsonData.cloudflare.apiKey
else null
);
};
2022-07-13 11:47:13 +00:00
databasePassword = (if jsonData ? "databasePassword" then jsonData.databasePassword else null);
bitwarden = {
2022-07-13 12:12:54 +00:00
enable = (
if (jsonData ? "bitwarden" && jsonData.bitwarden ? "enable")
then jsonData.bitwarden.enable
else false
);
};
gitea = {
2022-07-13 12:12:54 +00:00
enable = (
if (jsonData ? "gitea" && jsonData.gitea ? "enable")
then jsonData.gitea.enable
else false
);
};
nextcloud = {
2022-07-13 12:12:54 +00:00
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 = {
2022-07-13 12:12:54 +00:00
enable = (
if (jsonData ? "pleroma" && jsonData.pleroma ? "enable")
then jsonData.pleroma.enable
else false
);
};
jitsi = {
2022-07-13 12:12:54 +00:00
enable = (
if (jsonData ? "jitsi" && jsonData.jitsi ? "enable")
then jsonData.jitsi.enable
else false
);
};
ocserv = {
2022-07-13 12:12:54 +00:00
enable = (
if (jsonData ? "ocserv" && jsonData.ocserv ? "enable")
then jsonData.ocserv.enable
else false
);
};
2022-07-13 11:48:02 +00:00
resticPassword = (if jsonData ? "resticPassword" then jsonData.resticPassword else null);
ssh = {
2022-07-13 12:12:54 +00:00
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
);
};
2022-07-13 11:41:47 +00:00
users = (if jsonData ? "users" then jsonData.users else [ ]);
2021-11-15 10:02:05 +00:00
};
}