79 lines
1.9 KiB
Nix
79 lines
1.9 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf;
|
|
inherit ((pkgs.formats.elixirConf {}).lib) mkMap;
|
|
cfg = config.conf.fedi;
|
|
|
|
akkoma-fe = pkgs.callPackage ./akkoma-fe.nix {};
|
|
neocat = pkgs.callPackage ./neocat {};
|
|
neofox = pkgs.callPackage ./neofox {};
|
|
blobfox = pkgs.callPackage ./blobfox {};
|
|
blobhaj = pkgs.callPackage ./blobhaj {};
|
|
blobhajFlags = pkgs.callPackage ./blobhajFlags {};
|
|
favicon = pkgs.callPackage ./favicon.nix {};
|
|
in {
|
|
imports = [
|
|
./iceshrimp
|
|
];
|
|
config = mkIf cfg.enable {
|
|
services.akkoma = {
|
|
enable = true;
|
|
frontends.primary = {
|
|
name = "akkoma_fe";
|
|
ref = "stable";
|
|
package = akkoma-fe;
|
|
};
|
|
config = {
|
|
":pleroma" = {
|
|
":instance" = {
|
|
name = "miras fedi";
|
|
description = "miras akkoma instance";
|
|
email = cfg.email;
|
|
registration_open = false;
|
|
};
|
|
|
|
":frontend_configurations" = {
|
|
"akkoma_fe" = {
|
|
theme = "rosepine";
|
|
logo = "/static/logo.png";
|
|
};
|
|
};
|
|
|
|
# Initial block list copied from void.rehab
|
|
":mrf_simple" = {
|
|
reject = mkMap (import ./blocklist.nix);
|
|
};
|
|
|
|
"Pleroma.Web.Endpoint" = {
|
|
url.host = cfg.domain.full;
|
|
};
|
|
|
|
"Pleroma.Upload" = {
|
|
base_url = "https://${cfg.domain.full}/media/";
|
|
};
|
|
};
|
|
};
|
|
extraStatic = {
|
|
"emoji/neocat" = neocat;
|
|
"emoji/neofox" = neofox;
|
|
"emoji/blobfox" = blobfox;
|
|
"emoji/blobhaj" = blobhaj;
|
|
"emoji/blobhajFlags" = blobhajFlags;
|
|
|
|
"static/favicon.png" = favicon;
|
|
"static/logo.png" = favicon;
|
|
"favicon.png" = favicon;
|
|
};
|
|
|
|
nginx = {
|
|
serverName = cfg.domain.full;
|
|
useACMEHost = cfg.domain.base;
|
|
forceSSL = true;
|
|
};
|
|
};
|
|
};
|
|
}
|