{ lib, config, self, ... }: let user = "alisa"; in { systemd.services.alisa-backend = { enable = true; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; description = "Alisa Backend API Server"; environment = { DATABASE_URL = ''postgres://${user}@localhost:${builtins.toString config.services.postgresql.settings.port}/${user}''; TOKEN_SECRET = "secret"; }; serviceConfig = { Restart = "always"; DynamicUser = true; User = user; ExecStart = lib.getExe self.legacyPackages.${config.nixpkgs.hostPlatform.system}.backend; }; }; services.postgresql = { enable = true; ensureDatabases = [ user ]; ensureUsers = [ { name = user; ensureDBOwnership = true; } ]; }; }