Kieran's opinionated (and probably slightly dumb) nix config
emojibot#
Slack emoji management service. Supports multiple instances for different workspaces.
Runtime: bun · Stateless (no database)
This is a custom module — it does not use mkService. Each instance gets its own systemd service, user, and Caddy virtual host.
Instance options#
Instances are defined under atelier.services.emojibot.instances.<name>:
atelier.services.emojibot.instances = {
hackclub = {
enable = true;
domain = "hc.emojibot.dunkirk.sh";
port = 3002;
workspace = "hackclub";
channel = "C02T3CU03T3";
repository = "https://github.com/taciturnaxolotl/emojibot";
secretsFile = config.age.secrets."emojibot/hackclub".path;
healthUrl = "https://hc.emojibot.dunkirk.sh/health";
};
};
| Option | Type | Default | Description |
|---|---|---|---|
enable |
bool | false |
Enable this instance |
domain |
string | — | Domain for Caddy reverse proxy |
port |
port | — | Port to run on |
secretsFile |
path | — | Agenix secrets file with Slack credentials |
repository |
string | "https://github.com/taciturnaxolotl/emojibot" |
Git repo URL |
workspace |
string or null | null |
Slack workspace name (for identification) |
channel |
string or null | null |
Slack channel ID |
healthUrl |
string or null | null |
Health check URL for monitoring |
Current instances#
| Instance | Domain | Port | Workspace |
|---|---|---|---|
| hackclub | hc.emojibot.dunkirk.sh | 3002 | Hack Club |
| df1317 | df.emojibot.dunkirk.sh | 3005 | df1317 |