diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-30 14:05:39 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-30 14:05:39 +0200 |
| commit | c153a351659e4596acfc31f00bf594343cbfcd68 (patch) | |
| tree | a9ed83de07711d6424fbea09aad28891bae5bfe4 /modules/by-name/ta/taskchampion-sync | |
| parent | hosts/server3: Setup prometheus server in agent mode (diff) | |
| download | nixos-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.nix | 66 |
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; - }; - }; - }; -} |
