diff --git a/social/pleroma-module.nix b/social/pleroma-module.nix
deleted file mode 100644
index 45b4b9e..0000000
--- a/social/pleroma-module.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{ config, options, lib, pkgs, stdenv, ... }:
-let
- cfg = config.services.pleroma;
-in
-{
- options = {
- services.pleroma = with lib; {
- enable = mkEnableOption "pleroma";
-
- package = mkOption {
- type = types.package;
- default = pkgs.pleroma-otp;
- description = "Pleroma package to use.";
- };
-
- user = mkOption {
- type = types.str;
- default = "pleroma";
- description = "User account under which pleroma runs.";
- };
-
- group = mkOption {
- type = types.str;
- default = "pleroma";
- description = "Group account under which pleroma runs.";
- };
-
- stateDir = mkOption {
- type = types.str;
- default = "/var/lib/pleroma";
- readOnly = true;
- description = "Directory where the pleroma service will save the uploads and static files.";
- };
-
- configs = mkOption {
- type = with types; listOf str;
- description = ''
- Pleroma public configuration.
- This list gets appended from left to
- right into /etc/pleroma/config.exs. Elixir evaluates its
- configuration imperatively, meaning you can override a
- setting by appending a new str to this NixOS option list.
- DO NOT STORE ANY PLEROMA SECRET
- HERE, use
- services.pleroma.secretConfigFile
- instead.
- This setting is going to be stored in a file part of
- the Nix store. The Nix store being world-readable, it's not
- the right place to store any secret
- Have a look to Pleroma section in the NixOS manual for more
- informations.
- '';
- };
-
- secretConfigFile = mkOption {
- type = types.str;
- default = "/var/lib/pleroma/secrets.exs";
- description = ''
- Path to the file containing your secret pleroma configuration.
- DO NOT POINT THIS OPTION TO THE NIX
- STORE, the store being world-readable, it'll
- compromise all your secrets.
- '';
- };
- };
- };
-
- config = lib.mkIf cfg.enable {
- users = {
- users."${cfg.user}" = {
- description = "Pleroma user";
- home = cfg.stateDir;
- extraGroups = [ cfg.group ];
- };
- groups."${cfg.group}" = { };
- };
-
- environment.systemPackages = [ cfg.package ];
-
- environment.etc."/pleroma/config.exs".text = ''
- ${lib.concatMapStrings (x: "${x}") cfg.configs}
- # The lau/tzdata library is trying to download the latest
- # timezone database in the OTP priv directory by default.
- # This directory being in the store, it's read-only.
- # Setting that up to a more appropriate location.
- config :tzdata, :data_dir, "/var/lib/pleroma/elixir_tzdata_data"
- import_config "${cfg.secretConfigFile}"
- '';
-
- systemd.services.pleroma = {
- description = "Pleroma social network";
- after = [ "network-online.target" "postgresql.service" ];
- wantedBy = [ "multi-user.target" ];
- restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ];
- serviceConfig = {
- User = cfg.user;
- Group = cfg.group;
- Type = "exec";
- WorkingDirectory = "~";
- StateDirectory = "pleroma pleroma/static pleroma/uploads";
- StateDirectoryMode = "700";
-
- # Checking the conf file is there then running the database
- # migration before each service start, just in case there are
- # some pending ones.
- #
- # It's sub-optimal as we'll always run this, even if pleroma
- # has not been updated. But the no-op process is pretty fast.
- # Better be safe than sorry migration-wise.
- ExecStartPre =
- let preScript = pkgs.writers.writeBashBin "pleromaStartPre"
- "${cfg.package}/bin/pleroma_ctl migrate";
- in "${preScript}/bin/pleromaStartPre";
-
- ExecStart = "${cfg.package}/bin/pleroma start";
- ExecStop = "${cfg.package}/bin/pleroma stop";
- ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-
- # Systemd sandboxing directives.
- # Taken from the upstream contrib systemd service at
- # pleroma/installation/pleroma.service
- PrivateTmp = true;
- ProtectHome = true;
- ProtectSystem = "full";
- PrivateDevices = false;
- NoNewPrivileges = true;
- CapabilityBoundingSet = "~CAP_SYS_ADMIN";
- };
- };
-
- };
- meta.maintainers = with lib.maintainers; [ ninjatrappeur ];
-}
diff --git a/social/pleroma-package.nix b/social/pleroma-package.nix
deleted file mode 100644
index 38f41e9..0000000
--- a/social/pleroma-package.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib
-, stdenv
-, autoPatchelfHook
-, fetchurl
-, file
-, makeWrapper
-, ncurses
-, nixosTests
-, openssl
-, unzip
-, zlib
-}:
-stdenv.mkDerivation {
- pname = "pleroma-otp";
- version = "2.3.0";
-
- # To find the latest binary release stable link, have a look at
- # the CI pipeline for the latest commit of the stable branch
- # https://git.pleroma.social/pleroma/pleroma/-/tree/stable
- src = {
- aarch64-linux = fetchurl {
- url = "https://git.pleroma.social/pleroma/pleroma/-/jobs/182392/artifacts/download";
- sha256 = "1drpd6xh7m2damxi5impb8jwvjl6m3qv5yxynl12i8g66vi3rbwf";
- };
- x86_64-linux = fetchurl {
- url = "https://git.pleroma.social/pleroma/pleroma/-/jobs/182388/artifacts/download";
- sha256 = "1c6l04gga9iigm249ywwcrjg6wzy8iiid652mws3j9dnl71w2sim";
- };
- }."${stdenv.hostPlatform.system}";
-
- nativeBuildInputs = [ unzip ];
-
- buildInputs = [
- autoPatchelfHook
- file
- makeWrapper
- ncurses
- openssl
- zlib
- ];
-
- # mkDerivation fails to detect the zip nature of $src due to the
- # missing .zip extension.
- # Let's unpack the archive explicitely.
- unpackCmd = "unzip $curSrc";
-
- installPhase = ''
- mkdir $out
- cp -r * $out'';
-
- # Pleroma is using the project's root path (here the store path)
- # as its TMPDIR.
- # Patching it to move the tmp dir to the actual tmpdir
- postFixup = ''
- wrapProgram $out/bin/pleroma --set-default RELEASE_TMP "/tmp"
- wrapProgram $out/bin/pleroma_ctl --set-default RELEASE_TMP "/tmp"'';
-
- passthru.tests = {
- pleroma = nixosTests.pleroma;
- };
-
- meta = with lib; {
- description = "ActivityPub microblogging server";
- homepage = https://git.pleroma.social/pleroma/pleroma;
- license = licenses.agpl3;
- maintainers = with maintainers; [ ninjatrappeur ];
- platforms = [ "x86_64-linux" "aarch64-linux" ];
- };
-}
diff --git a/social/pleroma.nix b/social/pleroma.nix
index 49f59ad..7066fd6 100644
--- a/social/pleroma.nix
+++ b/social/pleroma.nix
@@ -3,11 +3,6 @@ let
cfg = config.services.userdata;
in
{
- nixpkgs.overlays = [
- (self: super: {
- pleroma-otp = self.callPackage ./pleroma-package.nix { };
- })
- ];
services = {
pleroma = {
enable = cfg.pleroma.enable;