blob: d59f65f0875e273af676e6fffa27a9ecc6299726 (
plain)
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
|
{ config, pkgs, lib, ... }:
{
services.agate = {
enable = true;
hostnames = [ "aethrvmn.gr" ];
addresses = [ "0.0.0.0:1965" ];
language = "en";
contentDir = "/srv/gemini";
};
networking.firewall.allowedTCPPorts = [ 1965 ];
users = {
groups.agate = { };
users = {
agate = {
isSystemUser = true;
description = "gemini user";
group = "agate";
home = "/srv/gemini";
createHome = true;
shell = "${pkgs.git}/bin/git-shell";
};
};
};
systemd = {
# set service
services."gemini" = {
description = "Update Gemini site from repo";
script = ''
if [ -d /srv/gemini/.git ]; then
${pkgs.git}/bin/git -C /srv/gemini pull
else
${pkgs.git}/bin/git clone https://apo.theke.ml/aethrvmn/gemini.git /srv/gemini
fi
'';
serviceConfig = {
Type = "oneshot";
User = "agate";
};
};
timers."gemini" = {
description = "Hourly Gemini-site update";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "hourly";
Persistent = true;
};
};
};
}
|
; all rights regarding Text and Data Mining (TDM) are reserved.