This repository has no description
948 B
32 lines
1{ self, config, pkgs, ... }:
2{
3 imports = [
4 self.inputs.spora.nixosModules.spora
5 ];
6 services.mycelium = {
7 enable = true;
8 keyFile = config.clanCore.facts.services.mycelium.secret.mycelium_key.path;
9 peers = [
10 "quic://10.42.0.1:9651"
11 "tcp://10.42.0.1:9651"
12 ];
13 package = self.packages.${pkgs.system}.mycelium;
14 };
15 clanCore.facts.services.mycelium = {
16 secret."mycelium_key" = { };
17 public."mycelium_ip" = { };
18 public."mycelium_pubkey" = { };
19 generator = {
20 path = [
21 self.packages.${pkgs.system}.mycelium
22 pkgs.coreutils
23 pkgs.jq
24 ];
25 script = ''
26 timeout 5 mycelium --key-file "$secrets"/mycelium_key || :
27 mycelium inspect --key-file "$secrets"/mycelium_key --json | jq -r .publicKey > "$facts"/mycelium_pubkey
28 mycelium inspect --key-file "$secrets"/mycelium_key --json | jq -r .address > "$facts"/mycelium_ip
29 '';
30 };
31 };
32}