1 { config, lib, pkgs, pkgs-unstable, lemmy, lemmy-ui, ... }:
4 imports = [ ./module.nix ];
6 services.lemmy-prod = {
9 lemmy.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-server;
10 ui.package = lemmy-ui.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-ui;
12 database.createLocally = true;
15 hostname = "awful.systems";
17 admin_username = "self";
18 admin_email = "self@awful.systems";
19 site_name = "awful.systems";
24 sops.secrets."lemmy/initial_admin_password" = { };
25 sops.secrets."lemmy/smtp_server" = { };
26 sops.secrets."lemmy/smtp_login" = { };
27 sops.secrets."lemmy/smtp_password" = { };
28 sops.secrets."lemmy/smtp_from_address" = { };
30 sops.templates.lemmy-prod.content = builtins.toJSON
31 (config.services.lemmy-prod.settings // {
32 setup = config.services.lemmy-prod.settings.setup // {
33 admin_password = config.sops.placeholder."lemmy/initial_admin_password";
37 smtp_server = config.sops.placeholder."lemmy/smtp_server";
38 smtp_login = config.sops.placeholder."lemmy/smtp_login";
39 smtp_password = config.sops.placeholder."lemmy/smtp_password";
40 smtp_from_address = config.sops.placeholder."lemmy/smtp_from_address";
41 tls_type = "starttls";
45 systemd.services.lemmy-prod = {
49 LoadCredential = "lemmy-prod:${config.sops.templates.lemmy-prod.path}";
53 LEMMY_CONFIG_LOCATION = lib.mkForce "%d/lemmy-prod";
54 RUST_BACKTRACE = "full";
56 pkgs.lib.mkForce "postgres:///lemmy?host=/run/postgresql&user=lemmy";
60 networking.firewall.allowedTCPPorts = [ 80 ];