+1
flake.nix
+1
flake.nix
···
306
306
imports = [./nix/modules/spindle.nix];
307
307
308
308
services.tangled.spindle.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.spindle;
309
+
services.tangled.spindle.tap-package = lib.mkDefault self.packages.${pkgs.system}.tap;
309
310
};
310
311
nixosModules.did-method-plc = {
311
312
lib,
+31
nix/modules/spindle.nix
+31
nix/modules/spindle.nix
···
17
17
type = types.package;
18
18
description = "Package to use for the spindle";
19
19
};
20
+
tap-package = mkOption {
21
+
type = types.package;
22
+
description = "Package to use for the spindle";
23
+
};
24
+
25
+
atpRelayUrl = mkOption {
26
+
type = types.str;
27
+
default = "https://relay1.us-east.bsky.network";
28
+
description = "atproto relay";
29
+
};
20
30
21
31
server = {
22
32
listenAddr = mkOption {
···
113
123
114
124
config = mkIf cfg.enable {
115
125
virtualisation.docker.enable = true;
126
+
127
+
systemd.services.spindle-tap = {
128
+
description = "spindle tap service";
129
+
after = ["network.target" "docker.service"];
130
+
wantedBy = ["multi-user.target"];
131
+
serviceConfig = {
132
+
LogsDirectory = "spindle-tap";
133
+
StateDirectory = "spindle-tap";
134
+
Environment = [
135
+
"TAP_BIND=:2480"
136
+
"TAP_PLC_URL=${cfg.server.plcUrl}"
137
+
"TAP_RELAY_URL=${cfg.atpRelayUrl}"
138
+
"TAP_COLLECTION_FILTERS=${concatStringsSep "," [
139
+
"sh.tangled.repo"
140
+
"sh.tangled.repo.collaborator"
141
+
"sh.tangled.spindle.member"
142
+
]}"
143
+
];
144
+
ExecStart = "${getExe cfg.tap-package} run";
145
+
};
146
+
};
116
147
117
148
systemd.services.spindle = {
118
149
description = "spindle service";
+2
nix/vm.nix
+2
nix/vm.nix
···
19
19
20
20
plcUrl = envVarOr "TANGLED_VM_PLC_URL" "https://plc.directory";
21
21
jetstream = envVarOr "TANGLED_VM_JETSTREAM_ENDPOINT" "wss://jetstream1.us-west.bsky.network/subscribe";
22
+
relayUrl = envVarOr "TANGLED_VM_RELAY_URL" "https://relay1.us-east.bsky.network";
22
23
in
23
24
nixpkgs.lib.nixosSystem {
24
25
inherit system;
···
95
96
};
96
97
services.tangled.spindle = {
97
98
enable = true;
99
+
atpRelayUrl = relayUrl;
98
100
server = {
99
101
owner = envVar "TANGLED_VM_SPINDLE_OWNER";
100
102
hostname = envVarOr "TANGLED_VM_SPINDLE_HOST" "localhost:6555";