{ config, pkgs, lib, spacebar-server, ... }: { services.rabbitmq.enable = true; systemd.tmpfiles.rules = [ "d /var/lib/spacebar-server 0750 spacebar spacebar" ]; users.users.spacebar = { isSystemUser = true; group = "spacebar"; home = "/var/lib/spacebar-server"; createHome = true; shell = "/bin/false"; }; users.groups.spacebar = { #isSystemGroup = true; }; systemd.services = { "spacebar-server-api" = { wantedBy = [ "multi-user.target" ]; after = [ "resolvconf.target" "postgresql.service" "rabbitmq.service" ]; serviceConfig = { ExecStart = '' ${spacebar-server.packages.${pkgs.system}.default}/bin/start-api ''; #Restart = "never"; User = "spacebar"; WorkingDirectory = "/var/lib/spacebar-server"; Environment = [ "DATABASE=postgres://spacebar:spacebar@127.0.0.1/spacebar" "LOG_REQUESTS='-'" #"DB_LOGGING='true'" ]; }; }; "spacebar-server-gateway" = { wantedBy = [ "multi-user.target" ]; after = [ "resolvconf.target" "postgresql.service" "rabbitmq.service" "spacebar-server-api.service" ]; serviceConfig = { ExecStart = '' ${spacebar-server.packages.${pkgs.system}.default}/bin/start-gateway ''; #Restart = "never"; User = "spacebar"; WorkingDirectory = "/var/lib/spacebar-server"; Environment = [ "DATABASE=postgres://spacebar:spacebar@127.0.0.1/spacebar" "LOG_REQUESTS='-'" #"DB_LOGGING='true'" ]; }; }; "spacebar-server-cdn" = { wantedBy = [ "multi-user.target" ]; after = [ "resolvconf.target" "postgresql.service" "rabbitmq.service" "spacebar-server-api.service" ]; serviceConfig = { ExecStart = '' ${spacebar-server.packages.${pkgs.system}.default}/bin/start-cdn ''; #Restart = "never"; User = "spacebar"; WorkingDirectory = "/var/lib/spacebar-server"; Environment = [ "DATABASE=postgres://spacebar:spacebar@127.0.0.1/spacebar" "LOG_REQUESTS='-'" #"DB_LOGGING='true'" ]; }; }; }; system.stateVersion = "22.11"; # DO NOT EDIT! }