{ config, lib, pkgs, pkgs-unstable, lemmy, lemmy-ui, ... }: { imports = [ ./module.nix ]; services.lemmy-dev = { enable = true; server.package = lemmy.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-server; ui.package = lemmy-ui.packages.${pkgs.stdenv.hostPlatform.system}.lemmy-ui; nginx.enable = true; database.createLocally = true; settings = { hostname = "making.awful.systems"; setup = { admin_username = "self"; admin_email = "self@awful.systems"; site_name = "a.s dev"; }; database = { user = "lemmy_dev"; database = "lemmy_dev"; }; }; }; sops.secrets."lemmy-dev/initial_admin_password" = { }; sops.secrets."lemmy-dev/smtp_server" = { }; sops.secrets."lemmy-dev/smtp_login" = { }; sops.secrets."lemmy-dev/smtp_password" = { }; sops.secrets."lemmy-dev/smtp_from_address" = { }; sops.templates.lemmy-dev.content = builtins.toJSON (config.services.lemmy-dev.settings // { setup = config.services.lemmy-dev.settings.setup // { admin_password = config.sops.placeholder."lemmy-dev/initial_admin_password"; }; # email = { # smtp_server = config.sops.placeholder."lemmy-dev/smtp_server"; # smtp_login = config.sops.placeholder."lemmy-dev/smtp_login"; # smtp_password = config.sops.placeholder."lemmy-dev/smtp_password"; # smtp_from_address = config.sops.placeholder."lemmy-dev/smtp_from_address"; # tls_type = "tls"; # }; }); systemd.services.lemmy-dev = { serviceConfig = { User = "lemmy_dev"; Group = "lemmy_dev"; LoadCredential = "lemmy-dev:${config.sops.templates.lemmy-dev.path}"; }; environment = { LEMMY_CONFIG_LOCATION = lib.mkForce "%d/lemmy-dev"; RUST_BACKTRACE = "full"; LEMMY_DATABASE_URL = pkgs.lib.mkForce "postgres:///lemmy_dev?host=/run/postgresql&user=lemmy_dev"; }; }; networking.firewall.allowedTCPPorts = [ 80 ]; }