From c1c241dffd7a4a6a301b431d72d61feab68f472a Mon Sep 17 00:00:00 2001 From: Stefan Tatschner Date: Wed, 17 May 2023 14:34:40 +0200 Subject: [PATCH 1/3] writefreely: Remove faulty backslash in script --- nixos/modules/services/web-apps/writefreely.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/writefreely.nix b/nixos/modules/services/web-apps/writefreely.nix index b2969ed1bcfa..f1571d0e0d5f 100644 --- a/nixos/modules/services/web-apps/writefreely.nix +++ b/nixos/modules/services/web-apps/writefreely.nix @@ -124,7 +124,7 @@ let --silent \ --raw \ --skip-column-names \ - --execute "$1" \ + --execute "$1" ) echo $result From 0bb0193a5093fc33700118ca40ee3b769dc00752 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Giraudeau Date: Mon, 2 Dec 2024 17:44:48 +0100 Subject: [PATCH 2/3] nixos/writefreely: add support for email smtp password --- .../modules/services/web-apps/writefreely.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/nixos/modules/services/web-apps/writefreely.nix b/nixos/modules/services/web-apps/writefreely.nix index f1571d0e0d5f..d4146cee067f 100644 --- a/nixos/modules/services/web-apps/writefreely.nix +++ b/nixos/modules/services/web-apps/writefreely.nix @@ -73,6 +73,10 @@ let pages_parent_dir = cfg.settings.server.pages_parent_dir or cfg.package.src; keys_parent_dir = cfg.settings.server.keys_parent_dir or cfg.stateDir; }; + + email = cfg.settings.email or { } // { + smtp_password = "#smtppass#"; + }; }; configFile = format.generate "config.ini" settings; @@ -105,9 +109,15 @@ let db_pass=${ optionalString (cfg.database.passwordFile != null) "$(head -n1 ${cfg.database.passwordFile})" } + smtp_pass=${ + optionalString ( + cfg.email.smtpPasswordFile != null + ) ''$(printf '%s\n' "$(head -n1 ${cfg.email.smtpPasswordFile})" | sed -e 's/[\/&]/\\&/g')'' + } cp -f ${configFile} '${cfg.stateDir}/config.ini' sed -e "s,#dbpass#,$db_pass,g" -i '${cfg.stateDir}/config.ini' + sed -e "s,#smtppass#,$smtp_pass,g" -i '${cfg.stateDir}/config.ini' chmod 440 '${cfg.stateDir}/config.ini' ${text} @@ -292,6 +302,14 @@ in }; }; + email = { + smtpPasswordFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "The file to load the password for the smtp email server."; + }; + }; + nginx = { enable = mkOption { type = types.bool; From fbe6fd7edd1f92023e5468a3800161222bd559c0 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Giraudeau Date: Mon, 2 Dec 2024 23:28:01 +0100 Subject: [PATCH 3/3] nixos/writefreely: add openssl to service path. necessary for fediverse federation. --- nixos/modules/services/web-apps/writefreely.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/writefreely.nix b/nixos/modules/services/web-apps/writefreely.nix index d4146cee067f..4a8ea68942a6 100644 --- a/nixos/modules/services/web-apps/writefreely.nix +++ b/nixos/modules/services/web-apps/writefreely.nix @@ -20,7 +20,7 @@ let optionalString ; - inherit (pkgs) sqlite; + inherit (pkgs) sqlite openssl; format = pkgs.formats.ini { mkKeyValue = @@ -375,6 +375,8 @@ in ++ optional isMysqlLocal "mysql.service"; wantedBy = [ "multi-user.target" ]; + path = [ openssl ]; + serviceConfig = { Type = "simple"; User = cfg.user;