tangled
alpha
login
or
join now
dunkirk.sh
/
dots
3
fork
atom
Kieran's opinionated (and probably slightly dumb) nix config
3
fork
atom
overview
issues
pulls
pipelines
feat: add traverse
dunkirk.sh
1 month ago
982391d5
f2f4e2cb
verified
This commit was signed with the committer's
known signature
.
dunkirk.sh
SSH Key Fingerprint:
SHA256:DqcG0RXYExE26KiWo3VxJnsxswN1QNfTBvB+bdSpk80=
+37
2 changed files
expand all
collapse all
unified
split
machines
terebithia
default.nix
modules
nixos
services
traverse.nix
+6
machines/terebithia/default.nix
···
503
503
};
504
504
};
505
505
506
506
+
atelier.services.traverse = {
507
507
+
enable = true;
508
508
+
domain = "traverse.dunkirk.sh";
509
509
+
deploy.repository = "https://github.com/taciturnaxolotl/traverse";
510
510
+
};
511
511
+
506
512
atelier.services.herald = {
507
513
enable = true;
508
514
domain = "herald.dunkirk.sh";
+31
modules/nixos/services/traverse.nix
···
1
1
+
# Traverse - Interactive code walkthrough diagram server
2
2
+
#
3
3
+
# Uses the mkService base to provide standardized:
4
4
+
# - Systemd service with git deployment
5
5
+
# - Caddy reverse proxy
6
6
+
# - Automatic SQLite backup with WAL checkpoint
7
7
+
8
8
+
let
9
9
+
mkService = import ../../lib/mkService.nix;
10
10
+
in
11
11
+
12
12
+
mkService {
13
13
+
name = "traverse";
14
14
+
description = "Traverse code walkthrough diagram server";
15
15
+
defaultPort = 4173;
16
16
+
runtime = "bun";
17
17
+
entryPoint = "src/index.ts";
18
18
+
19
19
+
extraConfig = cfg: {
20
20
+
systemd.services.traverse.serviceConfig.Environment = [
21
21
+
"TRAVERSE_MODE=server"
22
22
+
"TRAVERSE_PORT=${toString cfg.port}"
23
23
+
"TRAVERSE_DATA_DIR=${cfg.dataDir}/data"
24
24
+
"TRAVERSE_SHARE_URL=https://${cfg.domain}"
25
25
+
];
26
26
+
27
27
+
atelier.services.traverse.data = {
28
28
+
sqlite = "${cfg.dataDir}/data/traverse.db";
29
29
+
};
30
30
+
};
31
31
+
}