about summary refs log tree commit diff
path: root/nixos/modules/services/networking/mxisd.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/networking/mxisd.nix')
-rw-r--r--nixos/modules/services/networking/mxisd.nix137
1 files changed, 0 insertions, 137 deletions
diff --git a/nixos/modules/services/networking/mxisd.nix b/nixos/modules/services/networking/mxisd.nix
deleted file mode 100644
index e53fb71788cdc..0000000000000
--- a/nixos/modules/services/networking/mxisd.nix
+++ /dev/null
@@ -1,137 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  isMa1sd =
-    package:
-    lib.hasPrefix "ma1sd" package.name;
-
-  isMxisd =
-    package:
-    lib.hasPrefix "mxisd" package.name;
-
-  cfg = config.services.mxisd;
-
-  server = optionalAttrs (cfg.server.name != null) { inherit (cfg.server) name; }
-        // optionalAttrs (cfg.server.port != null) { inherit (cfg.server) port; };
-
-  baseConfig = {
-    matrix.domain = cfg.matrix.domain;
-    key.path = "${cfg.dataDir}/signing.key";
-    storage = {
-      provider.sqlite.database = if isMa1sd cfg.package
-                                 then "${cfg.dataDir}/ma1sd.db"
-                                 else "${cfg.dataDir}/mxisd.db";
-    };
-  } // optionalAttrs (server != {}) { inherit server; };
-
-  # merges baseConfig and extraConfig into a single file
-  fullConfig = recursiveUpdate baseConfig cfg.extraConfig;
-
-  configFile = if isMa1sd cfg.package
-               then pkgs.writeText "ma1sd-config.yaml" (builtins.toJSON fullConfig)
-               else pkgs.writeText "mxisd-config.yaml" (builtins.toJSON fullConfig);
-
-in {
-  options = {
-    services.mxisd = {
-      enable = mkEnableOption "matrix federated identity server";
-
-      package = mkPackageOption pkgs "ma1sd" { };
-
-      environmentFile = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Path to an environment-file which may contain secrets to be
-          substituted via `envsubst`.
-        '';
-      };
-
-      dataDir = mkOption {
-        type = types.str;
-        default = "/var/lib/mxisd";
-        description = "Where data mxisd/ma1sd uses resides";
-      };
-
-      extraConfig = mkOption {
-        type = types.attrs;
-        default = {};
-        description = "Extra options merged into the mxisd/ma1sd configuration";
-      };
-
-      matrix = {
-
-        domain = mkOption {
-          type = types.str;
-          description = ''
-            the domain of the matrix homeserver
-          '';
-        };
-
-      };
-
-      server = {
-
-        name = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          description = ''
-            Public hostname of mxisd/ma1sd, if different from the Matrix domain.
-          '';
-        };
-
-        port = mkOption {
-          type = types.nullOr types.int;
-          default = null;
-          description = ''
-            HTTP port to listen on (unencrypted)
-          '';
-        };
-
-      };
-
-    };
-  };
-
-  config = mkIf cfg.enable {
-    users.users.mxisd =
-      {
-        group = "mxisd";
-        home = cfg.dataDir;
-        createHome = true;
-        shell = "${pkgs.bash}/bin/bash";
-        uid = config.ids.uids.mxisd;
-      };
-
-    users.groups.mxisd =
-      {
-        gid = config.ids.gids.mxisd;
-      };
-
-    systemd.services.mxisd = {
-      description = "a federated identity server for the matrix ecosystem";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      serviceConfig = let
-        executable = if isMa1sd cfg.package then "ma1sd" else "mxisd";
-      in {
-        Type = "simple";
-        User = "mxisd";
-        Group = "mxisd";
-        EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
-        ExecStart = "${cfg.package}/bin/${executable} -c ${cfg.dataDir}/mxisd-config.yaml";
-        ExecStartPre = "${pkgs.writeShellScript "mxisd-substitute-secrets" ''
-          umask 0077
-          ${pkgs.envsubst}/bin/envsubst -o ${cfg.dataDir}/mxisd-config.yaml \
-            -i ${configFile}
-        ''}";
-        WorkingDirectory = cfg.dataDir;
-        Restart = "on-failure";
-      };
-    };
-  };
-}