From b0cccd36a61f89177156a09087ad908ebb756a65 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Mon, 28 Apr 2025 23:11:26 +0100 Subject: [PATCH] Add mastodon https://wiki.nixos.org/wiki/Mastodon --- hosts/nixedo/modules/acme.nix | 75 ++++++++++++++++-------------- hosts/nixedo/services/default.nix | 1 + hosts/nixedo/services/mastodon.nix | 17 +++++++ 3 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 hosts/nixedo/services/mastodon.nix diff --git a/hosts/nixedo/modules/acme.nix b/hosts/nixedo/modules/acme.nix index 8ebfb456..863b2b0a 100644 --- a/hosts/nixedo/modules/acme.nix +++ b/hosts/nixedo/modules/acme.nix @@ -1,42 +1,49 @@ { config, ... }: { - security.acme = { - acceptTerms = true; + security.acme = + let + email = "oliver@oliverdavies.uk"; + in + { + acceptTerms = true; - certs = { - "oliverdavies.uk" = { - domain = "oliverdavies.uk"; - dnsProvider = "cloudflare"; - email = "oliver@oliverdavies.uk"; - environmentFile = config.age.secrets.cloudflare.path; - webroot = null; + defaults = { inherit email; }; - extraDomainNames = [ - "2020.oliverdavies.uk" - "audiobookshelf.oliverdavies.uk" - "bootstrap-with-tailwind.oliverdavies.uk" - "code.oliverdavies.uk" - "eric.oliverdavies.uk" - "florida-drupalcamp-tailwind-css.oliverdavies.uk" - "jellyfin.oliverdavies.uk" - "luke.oliverdavies.uk" - "nixedo.oliverdavies.uk" - "paperless.oliverdavies.uk" - "photos.oliverdavies.uk" - "phpsw-sculpin-demo.oliverdavies.uk" - "rebuilding-acquia.oliverdavies.uk" - "rebuilding-bartik.oliverdavies.uk" - "rebuilding-bristol-js.oliverdavies.uk" - "rebuilding-symfony.oliverdavies.uk" - "tailwindcss-demo.oliverdavies.uk" - "talking-drupal-tailwindcss.oliverdavies.uk" - "uptime.oliverdavies.uk" - "wp-tailwind.oliverdavies.uk" - "www.oliverdavies.uk" - "zet.oliverdavies.uk" - ]; + certs = { + "oliverdavies.uk" = { + inherit email; + + domain = "oliverdavies.uk"; + dnsProvider = "cloudflare"; + environmentFile = config.age.secrets.cloudflare.path; + webroot = null; + + extraDomainNames = [ + "2020.oliverdavies.uk" + "audiobookshelf.oliverdavies.uk" + "bootstrap-with-tailwind.oliverdavies.uk" + "code.oliverdavies.uk" + "eric.oliverdavies.uk" + "florida-drupalcamp-tailwind-css.oliverdavies.uk" + "jellyfin.oliverdavies.uk" + "luke.oliverdavies.uk" + "nixedo.oliverdavies.uk" + "paperless.oliverdavies.uk" + "photos.oliverdavies.uk" + "phpsw-sculpin-demo.oliverdavies.uk" + "rebuilding-acquia.oliverdavies.uk" + "rebuilding-bartik.oliverdavies.uk" + "rebuilding-bristol-js.oliverdavies.uk" + "rebuilding-symfony.oliverdavies.uk" + "tailwindcss-demo.oliverdavies.uk" + "talking-drupal-tailwindcss.oliverdavies.uk" + "uptime.oliverdavies.uk" + "wp-tailwind.oliverdavies.uk" + "www.oliverdavies.uk" + "zet.oliverdavies.uk" + ]; + }; }; }; - }; } diff --git a/hosts/nixedo/services/default.nix b/hosts/nixedo/services/default.nix index 1921dcd2..43675939 100644 --- a/hosts/nixedo/services/default.nix +++ b/hosts/nixedo/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./homepage ./samba.nix + ./mastodon.nix ./uptime-kuma.nix ]; } diff --git a/hosts/nixedo/services/mastodon.nix b/hosts/nixedo/services/mastodon.nix new file mode 100644 index 00000000..0c8a2d8f --- /dev/null +++ b/hosts/nixedo/services/mastodon.nix @@ -0,0 +1,17 @@ +{ + services.mastodon = { + enable = true; + + configureNginx = true; + localDomain = "social.oliverdavies.uk"; + streamingProcesses = 3; + + extraConfig = { + SINGLE_USER_MODE = "true"; + }; + + smtp = { + fromAddress = "social@oliverdavies.uk"; + }; + }; +}