Иммутабельный конфиг NixOS
Go to file
2021-11-15 16:35:04 +03:00
api Initial commit 2021-11-15 13:02:05 +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 Initial commit 2021-11-15 13:02:05 +03:00
mailserver/system It builds! 2021-11-15 13:29:20 +03:00
nextcloud Bump nextcloud 2021-11-15 13:32:52 +03:00
passmgr Initial commit 2021-11-15 13:02:05 +03:00
resources Initial commit 2021-11-15 13:02:05 +03:00
social It builds! 2021-11-15 13:29:20 +03:00
userdata Add more SSH settings 2021-11-15 16:35:04 +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
configuration.nix Add more SSH settings 2021-11-15 16:35:04 +03:00
files.nix Initial commit 2021-11-15 13:02:05 +03:00
README.md Add more SSH settings 2021-11-15 16:35:04 +03:00
users.nix It builds! 2021-11-15 13:29:20 +03:00
variables-module.nix Add more SSH settings 2021-11-15 16:35:04 +03:00
variables.nix It builds! 2021-11-15 13:29:20 +03:00

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": "KEY ID",
        "accountKey": "KEY",
        "bucket": "selfprivacy"
    },
    "bitwarden": {
        "enable": true
    },
    "cloudflare": {
        "apiKey": "KEY"
    },
    "databasePassword": "PASSWORD",
    "domain": "meow-corp.xyz",
    "hashedMasterPassword": "HASHED PASSWORD",
    "hostname": "meow-corp",
    "nextcloud": {
        "enable": true,
        "adminPassword": "PASS",
        "databasePassword": "PASS"
    },
    "gitea": {
        "enable": true
    },
    "jitsi": {
        "enable": true
    },
    "ocserv": {
        "enable": true
    },
    "pleroma": {
        "enable": true
    },
    "timezone": "Europe/Moscow",
    "resticPassword": "PASS",
    "ssh": {
        "enable": true,
        "rootSshKeys": [
            "ssh-ed25519 KEY user@host"
        ],
        "passwordAuthentication": true
    },
    "username": "owner",
    "users": [
        {
            "hashedPassword": "HASHED PASSWORD",
            "username": "tester"
        }
    ]
}