{ lib, pkgs, ... }: { imports = [ ./networking.nix # network configuration that just works ./hardware.nix ]; sils = { gallery = { enable = true; domain = "gallery.s-schoeffel.de"; }; }; vhack = { atuin-sync = { enable = true; fqdn = "atuin-sync.vhack.eu"; }; backup = { enable = true; privateSshKey = ./secrets/backup/backupssh.age; privatePassword = ./secrets/backup/backuppass.age; user = "u384702-sub3"; }; monitoring = { enable = true; prometheus = { remoteWriteReceiver = "prometheus-server2.vhack.eu"; }; grafana = { fqdn = "grafana.vhack.eu"; contactPoints = ["admin@vhack.eu"]; adminPassword = ./secrets/grafana/adminPassword.age; secretKey = ./secrets/grafana/secretKey.age; }; }; dns = { enable = true; openFirewall = true; interfaces = [ "185.16.61.132" "2a03:4000:a:106::1" ]; zones = import ../../../zones {inherit lib;}; }; etesync = { enable = true; secretFile = ./secrets/etesync/secret_file.age; }; fail2ban.enable = true; git-server = { enable = true; domain = "git.foss-syndicate.org"; gitolite.adminPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIME4ZVa+IoZf6T3U08JG93i6QIAJ4amm7mkBzO14JSkz cardno:000F_18F83532"; }; invidious-router = { enable = true; domain = "invidious-router.vhack.eu"; extraDomains = [ "video.fosswelt.org" "invidious-router.sils.li" ]; }; mail = { enable = true; fqdn = "mail.foss-syndicate.org"; domains = [ "vhack.eu" "s-schoeffel.de" "b-peetz.de" "sils.li" "nightingale.sils.li" "sils.sils.li" "jaki.li" ]; accounts = { "sils@vhack.eu" = { hashedPassword = "$2b$05$RW/Svgk7iGxvP5W7ZwUZ1e.a3fj4fteevb2MtfFYYD0d1DQ17y9Fm"; }; "soispha@vhack.eu" = { hashedPassword = "$2b$05$XX36sJuHNbTFvi8DFldscOeQBHahluSkiUqD9QGzQaET7NJusSuQW"; aliases = [ "abuse@vhack.eu" "admin@vhack.eu" "postmaster@vhack.eu" ]; }; "soispha@b-peetz.de" = { hashedPassword = "$y$j9T$asnEgvMxJrbeabfyp1AOe/$0dJ0/Rta57V8nHCLVGOHrXsXeEhBCaKx/HTuPHXZj04"; }; "benedikt.peetz@b-peetz.de" = { hashedPassword = "$2b$05$MfET8utot2OolPZNASqoDe4VXNoG2chnEWhdfQ2E92mit0TvI2gBy"; aliases = ["@b-peetz.de"]; }; "silas.schoeffel@s-schoeffel.de" = { hashedPassword = "$2b$05$Qb8rl7ncpCcTbsSdsduJBuOITp8RTD6sfOTjuxJsVtD9vjAYY9n8e"; aliases = ["@s-schoeffel.de"]; }; "nightingale@vhack.eu" = { hashedPassword = "$2b$05$nDKVVq1EktKXWqGFhnOLP.plLovXFyvWSuptK9GIkxA5DScKFx6YS"; aliases = [ "@nightingale.sils.li" ]; }; "sils@sils.li" = { hashedPassword = "$2b$05$Ebzh2ZhuWkz1p4tqJ172IejNZg10FtCxPDY4k6umYrpirXg7ezIRq"; aliases = [ "@sils.sils.li" "@sils.li" ]; }; "mail@jaki.li" = { hashedPassword = "$y$j9T$jaG/lkAOfYXUNiJt11DoE.$ZKTeev6b5TCBEXZzNLH12hOmy5mL.Fitp0V6saWXR73"; aliases = [ "postmaster@jaki.li" "abuse@jaki.li" "admin@jaki.li" ]; }; # Mail-Account used by hosted software "mastodon@vhack.eu" = { hashedPassword = "$2b$05$pSby3x2p3cHg0FyAE8IiJ.nYUqtAIR10JA8HNpHwMAiLXqc.ltSK."; }; "peertube@vhack.eu" = { hashedPassword = "$y$j9T$hyWQ8Awd2Xrc6qsK.2hwE1$LxACfaeW.yHGbkQL95dWtID9.zXL/aMwT6lp.yU/0g0"; }; }; }; nextcloud = { enable = true; package = pkgs.nextcloud33; hostname = "nextcloud.vhack.eu"; adminpassFile = ./secrets/nextcloud/adminpassFile.age; }; nginx = { enable = true; redirects = { "source.foss-syndicate.org" = "https://git.foss-syndicate.org/vhack.eu/nixos-server"; "source.vhack.eu" = "https://source.foss-syndicate.org"; }; }; nixconfig.enable = true; openssh.enable = true; persist = { enable = true; directories = [ "/var/log" ]; }; redlib.enable = false; rust-motd.enable = true; sharkey = { enable = true; fqdn = "sharkey.vhack.eu"; settings = { id = "aidx"; maxNoteLength = 8192; maxFileSize = 1024 * 1024 * 1024; proxyRemoteFiles = true; # > At the suggestion of Sharkey maintainers, # > this allows the server to run multiple workers # > and without this (and postgres tuning), the instance runs slowly. # Copied from: https://github.com/sodiboo/system/blob/b63c7b27f49043e8701b3ff5e1441cd27d5a2fff/sharkey.mod.nix#L21-L23 clusterLimit = 3; signToActivityPubGet = true; CheckActivityPubGetSigned = false; }; }; taskchampion-sync = { enable = true; fqdn = "taskchampion.vhack.eu"; }; users.enable = true; }; boot.tmp.cleanOnBoot = true; zramSwap.enable = true; networking.hostName = "server2"; networking.domain = "vhack.eu"; system.stateVersion = "24.11"; }