Иммутабельный конфиг NixOS
 
 
Go to file
Inex Code 1c1f353ea2 Merge pull request 'system-configuration' (#4) from system-configuration into master
Reviewed-on: SelfPrivacy/selfprivacy-nixos-config#4
2021-12-10 09:38:21 +02:00
api Update API to properly support b2 2021-12-06 21:37:39 +03:00
backup Initial commit 2021-11-15 13:02:05 +03:00
git Initial commit 2021-11-15 13:02:05 +03:00
letsencrypt Fix errors caused by temp files creation 2021-11-17 11:54:36 +03:00
mailserver/system It builds! 2021-11-15 13:29:20 +03:00
nextcloud Overwrite nextcloud protocol to https 2021-12-06 21:37:45 +03:00
passmgr Fix errors caused by temp files creation 2021-11-17 11:54:36 +03:00
resources Initial commit 2021-11-15 13:02:05 +03:00
social API controlled timezone, autoupgrades and SSH keys 2021-11-22 19:53:43 +03:00
userdata API controlled timezone, autoupgrades and SSH keys 2021-11-22 19:53:43 +03:00
videomeet Initial commit 2021-11-15 13:02:05 +03:00
vpn Initial commit 2021-11-15 13:02:05 +03:00
webserver Initial commit 2021-11-15 13:02:05 +03:00
.gitignore Initial commit 2021-11-15 13:02:05 +03:00
LICENSE Изменил(а) на 'LICENSE' 2021-11-18 10:08:19 +02:00
README.md Update README 2021-11-16 19:22:36 +03:00
configuration.nix API controlled timezone, autoupgrades and SSH keys 2021-11-22 19:53:43 +03:00
files.nix Make config files in /var rewritable by Nix 2021-12-06 21:37:43 +03:00
users.nix API controlled timezone, autoupgrades and SSH keys 2021-11-22 19:53:43 +03:00
variables-module.nix Fix wrong type of admin ssh keys 2021-11-29 22:17:37 +03:00
variables.nix It builds! 2021-11-15 13:29:20 +03:00

README.md

SelfPrivacy NixOS configuration

This is a NixOS config which builds a SelfPrivacy server distribution based on data provided in userdata/userdata.json.

JSON schema is provided in userdata/schema.json for reference.

hardware-configuration.nix is not included.

Example JSON config:

{
    "backblaze": {
        "accountId": "BACKBLAZE_KEY_ID",
        "accountKey": "BACKBLAZE_ACCOUNT_KEY",
        "bucket": "BACKBLAZE_BUCKET_NAME"
    },
    "api": {
        "token": "API_TOKEN",
        "enableSwagger": false
    },
    "bitwarden": {
        "enable": true
    },
    "cloudflare": {
        "apiKey": "CF_TOKEN"
    },
    "databasePassword": "DB_PASSWORD",
    "domain": "DOMAIN",
    "hashedMasterPassword": "HASHED_PASSWORD",
    "hostname": "DOMAIN",
    "nextcloud": {
        "enable": true,
        "adminPassword": "PASSWORD",
        "databasePassword": "PASSWORD"
    },
    "gitea": {
        "enable": true
    },
    "jitsi": {
        "enable": true
    },
    "ocserv": {
        "enable": true
    },
    "pleroma": {
        "enable": true
    },
    "timezone": "Europe/Moscow",
    "resticPassword": "PASSWORD",
    "ssh": {
        "enable": true,
        "rootSshKeys": [
            "ssh-ed25519 KEY user@host"
        ],
        "passwordAuthentication": true
    },
    "username": "LUSER",
    "users": [
        {
            "hashedPassword": "OTHER_USER_HASHED_PASSWORD",
            "username": "OTHER_USER"
        }
    ]
}