From 332c9eec5f62d41d15b1e962e543bed0f17db4ae Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Tue, 24 Feb 2026 17:08:42 +0100 Subject: [PATCH] nixos/eintopf: rename module to lauti --- nixos/modules/module-list.nix | 2 +- .../web-apps/{eintopf.nix => lauti.nix} | 35 ++++++++++++++----- 2 files changed, 27 insertions(+), 10 deletions(-) rename nixos/modules/services/web-apps/{eintopf.nix => lauti.nix} (67%) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 255c20796217..1d35026f5a9d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1620,7 +1620,6 @@ ./services/web-apps/dolibarr.nix ./services/web-apps/drupal.nix ./services/web-apps/echoip.nix - ./services/web-apps/eintopf.nix ./services/web-apps/engelsystem.nix ./services/web-apps/ente.nix ./services/web-apps/fediwall.nix @@ -1675,6 +1674,7 @@ ./services/web-apps/lanraragi.nix ./services/web-apps/lasuite-docs.nix ./services/web-apps/lasuite-meet.nix + ./services/web-apps/lauti.nix ./services/web-apps/lemmy.nix ./services/web-apps/librechat.nix ./services/web-apps/librespeed.nix diff --git a/nixos/modules/services/web-apps/eintopf.nix b/nixos/modules/services/web-apps/lauti.nix similarity index 67% rename from nixos/modules/services/web-apps/eintopf.nix rename to nixos/modules/services/web-apps/lauti.nix index d9bf612042a0..a804e1943743 100644 --- a/nixos/modules/services/web-apps/eintopf.nix +++ b/nixos/modules/services/web-apps/lauti.nix @@ -9,13 +9,30 @@ with lib; let - cfg = config.services.eintopf; + cfg = config.services.lauti; + useLegacyDefault = lib.versionOlder config.system.stateVersion "26.05"; + default = if useLegacyDefault then "eintopf" else "lauti"; in { - options.services.eintopf = { - enable = mkEnableOption "Lauti (Eintopf) community event calendar web app"; + imports = [ + # since 0.12.0 (2025-05-26) release, upstream re-branded project to 'stalwart' due to inclusion of collaboration features (CalDAV, CardDAV, and WebDAV) + # https://github.com/stalwartlabs/stalwart/releases/tag/v0.12.0 + (lib.mkRenamedOptionModule [ "services" "eintopf" ] [ "services" "lauti" ]) + ]; + + options.services.lauti = { + + enable = mkEnableOption "Lauti community event calendar web app"; + + dataDir = lib.mkOption { + type = lib.types.path; + default = if useLegacyDefault then "/var/lib/eintopf" else "/var/lib/lauti"; + description = '' + Data directory for Lauti + ''; + }; settings = mkOption { type = types.attrsOf types.str; @@ -27,9 +44,9 @@ in ''; example = literalExpression '' { - EINTOPF_ADDR = ":1234"; - EINTOPF_ADMIN_EMAIL = "admin@example.org"; - EINTOPF_TIMEZONE = "Europe/Berlin"; + LAUTI_ADDR = ":1234"; + LAUTI_ADMIN_EMAIL = "admin@example.org"; + LAUTI_TIMEZONE = "Europe/Berlin"; } ''; }; @@ -47,7 +64,7 @@ in config = mkIf cfg.enable { - systemd.services.eintopf = { + systemd.services.lauti = { description = "Community event calendar web app"; wantedBy = [ "multi-user.target" ]; after = [ "network-online.target" ]; @@ -55,8 +72,8 @@ in environment = cfg.settings; serviceConfig = { ExecStart = lib.getExe pkgs.lauti; - WorkingDirectory = "/var/lib/eintopf"; - StateDirectory = "eintopf"; + WorkingDirectory = cfg.dataDir; + StateDirectory = default; EnvironmentFile = [ cfg.secrets ]; # hardening