# Auto-generated by compose2nix. { pkgs, lib, config, ... }: { # Containers virtualisation.oci-containers.containers."matrix-mautrix-bluesky" = { image = "dock.mau.dev/mautrix/bluesky:latest"; volumes = [ "/var/lib/mautrix/bluesky:/data:rw" ]; ports = [ "127.0.0.4:29340:29340/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-bluesky" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-bluesky" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; virtualisation.oci-containers.containers."matrix-mautrix-discord" = { image = "dock.mau.dev/mautrix/discord:latest"; volumes = [ "/var/lib/mautrix/discord:/data:rw" ]; ports = [ "127.0.0.4:29334:29334/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-discord" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-discord" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; virtualisation.oci-containers.containers."matrix-mautrix-linkedin" = { image = "dock.mau.dev/mautrix/linkedin:latest"; volumes = [ "/var/lib/mautrix/linkedin:/data:rw" ]; ports = [ "127.0.0.4:29341:29341/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-linkedin" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-linkedin" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; virtualisation.oci-containers.containers."matrix-mautrix-meta" = { image = "dock.mau.dev/mautrix/meta:latest"; volumes = [ "/var/lib/mautrix/meta:/data:rw" ]; ports = [ "127.0.0.4:29319:29319/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-meta" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-meta" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; virtualisation.oci-containers.containers."matrix-mautrix-twitter" = { image = "dock.mau.dev/mautrix/twitter:latest"; volumes = [ "/var/lib/mautrix/twitter:/data:rw" ]; ports = [ "127.0.0.4:29327:29327/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-twitter" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-twitter" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; virtualisation.oci-containers.containers."matrix-mautrix-whatsapp" = { image = "dock.mau.dev/mautrix/whatsapp:latest"; volumes = [ "/var/lib/mautrix/whatsapp:/data:rw" ]; ports = [ "127.0.0.4:29318:29318/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=mautrix-whatsapp" "--network=matrix_default" ]; }; systemd.services."podman-matrix-mautrix-whatsapp" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ "podman-network-matrix_default.service" ]; requires = [ "podman-network-matrix_default.service" ]; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; # Networks systemd.services."podman-network-matrix_default" = { path = [ pkgs.podman ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStop = "podman network rm -f matrix_default"; }; script = '' podman network inspect matrix_default || podman network create matrix_default ''; partOf = [ "podman-compose-matrix-root.target" ]; wantedBy = [ "podman-compose-matrix-root.target" ]; }; # Root service # When started, this will automatically create all resources and start # the containers. When stopped, this will teardown all resources. systemd.targets."podman-compose-matrix-root" = { unitConfig = { Description = "Root target generated by compose2nix."; }; wantedBy = [ "multi-user.target" ]; }; }