summaryrefslogtreecommitdiff
path: root/hosts/vidhar/vikunja/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/vidhar/vikunja/default.nix')
-rw-r--r--hosts/vidhar/vikunja/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/hosts/vidhar/vikunja/default.nix b/hosts/vidhar/vikunja/default.nix
new file mode 100644
index 00000000..aa3b368f
--- /dev/null
+++ b/hosts/vidhar/vikunja/default.nix
@@ -0,0 +1,57 @@
1{ config, lib, ... }:
2
3{
4 config = {
5 services.vikunja = {
6 enable = true;
7 frontendScheme = "https";
8 frontendHostname = "vikunja.yggdrasil.li";
9 settings = {
10 service = {
11 interface = lib.mkForce "[2a03:4000:52:ada:4:1::]:3456";
12 enableregistration = false;
13 publicurl = with config.services.vikunja; "${frontendScheme}://${frontendHostname}/";
14 };
15
16 mailer = {
17 enabled = true;
18 host = "mailsub.bouncy.email";
19 port = 466;
20 username = "vikunja";
21 fromemail = "vikunja@bouncy.email";
22 forcessl = true;
23 };
24 };
25 database = {
26 host = "/run/postgresql";
27 type = "postgres";
28 };
29 environmentFiles = [
30 config.sops.secrets."vikunja_env".path
31 ];
32 };
33
34 sops.secrets."vikunja_env" = {
35 format = "binary";
36 sopsFile = ./vikunja_env;
37 };
38
39 services.postgresql = {
40 ensureDatabases = [ "vikunja" ];
41 ensureUsers = [
42 {
43 name = "vikunja";
44 ensureDBOwnership = true;
45 ensureClauses.login = true;
46 }
47 ];
48 };
49
50 systemd.services.vikunja = {
51 serviceConfig = {
52 User = "vikunja";
53 Group = "vikunja";
54 };
55 };
56 };
57}