blob: 90da5487aa89b25fd03bb6ea78b3bc0a8310f7b9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
{config, ...}: {
imports = [
./networking.nix # network configuration that just works
./hardware.nix
];
sils = {
gallery = {
enable = true;
domain = "gallery.s-schoeffel.de";
};
};
vhack = {
back = {
enable = true;
domain = "issues.foss-syndicate.org";
settings = {
scan_path = "${config.services.gitolite.dataDir}/repositories";
project_list = "${config.services.gitolite.dataDir}/projects.list";
};
};
backup = {
enable = true;
privateSshKey = ./secrets/backup/backupssh.age;
privatePassword = ./secrets/backup/backuppass.age;
user = "u384702-sub3";
};
dns = {
enable = true;
openFirewall = true;
interfaces = [
"185.16.61.132"
"2a03:4000:a:106::1"
];
zones = import ../../../zones {};
};
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";
};
stalwart-mail = {
enable = true;
fqdn = "mail.vhack.eu";
admin = "admin@vhack.eu";
security = {
dkimKeys = let
loadKey = name: {
dkimPublicKey = builtins.readFile (./secrets/dkim + "/${name}-public");
dkimPrivateKeyPath = ./secrets/dkim + "/${name}-private.age";
keyAlgorithm = "ed25519-sha256";
};
in {
"mail.vhack.eu" = loadKey "mail.vhack.eu";
};
verificationMode = "strict";
};
openFirewall = true;
principals = [
{
class = "individual";
name = "soispha";
secret = "$2b$05$XX36sJuHNbTFvi8DFldscOeQBHahluSkiUqD9QGzQaET7NJusSuQW";
email = [
"soispha@vhack.eu"
"abuse@vhack.eu"
"postmaster@vhack.eu"
"admin@vhack.eu"
];
}
];
};
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 = true;
rust-motd.enable = true;
users.enable = true;
};
boot.tmp.cleanOnBoot = true;
zramSwap.enable = true;
networking.hostName = "server2";
networking.domain = "vhack.eu";
system.stateVersion = "24.11";
}
|