aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ta/taskchampion-sync
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-30 14:05:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-07-30 14:05:39 +0200
commitc153a351659e4596acfc31f00bf594343cbfcd68 (patch)
treea9ed83de07711d6424fbea09aad28891bae5bfe4 /modules/by-name/ta/taskchampion-sync
parenthosts/server3: Setup prometheus server in agent mode (diff)
downloadnixos-server-c153a351659e4596acfc31f00bf594343cbfcd68.zip
modules: Use namespaces
That might make it easier in the future to merge different server configs together (and thusly facilitate code-reuse.).
Diffstat (limited to 'modules/by-name/ta/taskchampion-sync')
-rw-r--r--modules/by-name/ta/taskchampion-sync/module.nix66
1 files changed, 0 insertions, 66 deletions
diff --git a/modules/by-name/ta/taskchampion-sync/module.nix b/modules/by-name/ta/taskchampion-sync/module.nix
deleted file mode 100644
index a7cba30..0000000
--- a/modules/by-name/ta/taskchampion-sync/module.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- cfg = config.vhack.taskchampion-sync;
- dataDirectory = "/var/lib/taskchampion-sync-server";
-in {
- options.vhack.taskchampion-sync = {
- enable = lib.mkEnableOption "taskchampion-sync";
-
- fqdn = lib.mkOption {
- description = "The fully qualified domain name of this instance.";
- type = lib.types.str;
- example = "task-sync.tw.online";
- };
- };
-
- config = lib.mkIf cfg.enable {
- users = {
- users.taskchampion = {
- uid = config.vhack.constants.ids.uids.taskchampion;
- group = "taskchampion";
- };
- groups.taskchampion.gid = config.vhack.constants.ids.uids.taskchampion;
- };
-
- vhack = {
- persist.directories = [
- {
- directory = dataDirectory;
- user = "taskchampion";
- group = "taskchampion";
- mode = "0700";
- }
- ];
- nginx.enable = true;
- };
-
- systemd.services.taskchampion-sync-server = {
- serviceConfig = {
- # The upstream service uses DynamicUsers, which currently poses issues to our
- # directory persisting strategy.
- User = "taskchampion";
- Group = "taskchampion";
- DynamicUser = lib.mkForce false;
- };
- };
-
- services = {
- taskchampion-sync-server = {
- enable = true;
- dataDir = dataDirectory;
- };
-
- nginx.virtualHosts."${cfg.fqdn}" = {
- locations."/" = {
- proxyPass = "http://127.0.0.1:${toString config.services.taskchampion-sync-server.port}";
- recommendedProxySettings = true;
- };
- enableACME = true;
- forceSSL = true;
- };
- };
- };
-}