diff --git a/modules/akkoma-patches.nix b/modules/akkoma-patches.nix new file mode 100644 index 0000000..eeb3e6c --- /dev/null +++ b/modules/akkoma-patches.nix @@ -0,0 +1,32 @@ +{ pkgs, lib, config, ... }: +let + configScriptPost = pkgs.writeShellApplication { + text = '' + echo "Patching config.exs" + cd "$RUNTIME_DIRECTORY" + cat >> config.exs << EOF + + # [===========================] + # [ configScriptPost patches: ] + # [===========================] + config :pleroma, configurable_from_database: true + EOF + echo "Done patching!" + ''; + name = "akkoma-config-patch"; + } + "/bin/akkoma-config-patch"; + cfg = config.services.akkoma.patches; +in +with lib; +{ + options.services.akkoma.patches = { + configurableFromDatabase = mkOption { + type = types.bool; + default = false; + }; + }; + config = mkIf cfg.configurableFromDatabase { + systemd.services.akkoma-config.serviceConfig.ExecStart = mkAfter [ configScriptPost ]; + systemd.services.akkoma-config.serviceConfig.ExecReload = mkAfter [ configScriptPost ]; + }; +} \ No newline at end of file