From 50ce107cbced0afd9f17179500720ac002d18d45 Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 26 Sep 2022 01:17:40 +0200 Subject: [PATCH] modules/hyprspace: revamp config --- modules/hyprspace/default.nix | 30 +++++++++++++----------------- secrets/hyprspace-key-VEGAS.age | Bin 2191 -> 2103 bytes secrets/hyprspace-key-prophet.age | Bin 2125 -> 2175 bytes 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/modules/hyprspace/default.nix b/modules/hyprspace/default.nix index 8c8ac2b..9309f2f 100644 --- a/modules/hyprspace/default.nix +++ b/modules/hyprspace/default.nix @@ -5,19 +5,20 @@ let hyprspaceCapableNodes = lib.filterAttrs (_: host: host ? hypr) hosts; peersFormatted = builtins.mapAttrs (_: x: { "${x.hypr.addr}".id = x.hypr.id; }) hyprspaceCapableNodes; peersFiltered = lib.filterAttrs (name: _: name != hostName) peersFormatted; - buildHyprspacePeerList = peers: pkgs.writeText "hyprspace-peers.yml" (builtins.toJSON peers); - peerList = buildHyprspacePeerList (lib.foldAttrs (n: _: n) null (builtins.attrValues peersFiltered)); + peerList = lib.foldAttrs (n: _: n) null (builtins.attrValues peersFiltered); myNode = hosts.${hostName}; listenPort = myNode.hypr.listenPort or 8001; - precedingConfig = pkgs.writeText "hyprspace-interface.yml" '' - interface: - name: hyprspace - listen_port: ${builtins.toString listenPort} - id: ${myNode.hypr.id} - address: ${myNode.hypr.addr}/24 - private_key: !!binary | - ''; + interfaceConfig = pkgs.writeText "hyprspace.yml" (builtins.toJSON { + interface = { + name = "hyprspace"; + listen_port = toString listenPort; + inherit (myNode.hypr) id; + address = "${myNode.hypr.addr}/24"; + private_key = "@HYPRSPACEPRIVATEKEY@"; + }; + peers = peerList; + }); privateKeyFile = config.age.secrets.hyprspace-key.path; runConfig = "/run/hyprspace.yml"; @@ -33,14 +34,9 @@ in { wantedBy = [ "multi-user.target" ]; preStart = '' test -e ${runConfig} && rm ${runConfig} - touch ${runConfig} + cp ${interfaceConfig} ${runConfig} chmod 0600 ${runConfig} - - cat ${precedingConfig} >> ${runConfig} - sed 's/^/ /g' ${privateKeyFile} >> ${runConfig} - echo -n 'peers: ' >> ${runConfig} - cat ${peerList} >> ${runConfig} - + ${pkgs.replace-secret}/bin/replace-secret '@HYPRSPACEPRIVATEKEY@' "${privateKeyFile}" ${runConfig} chmod 0400 ${runConfig} ''; environment.HYPRSPACE_SWARM_KEY = config.age.secrets.ipfs-swarm-key.path; diff --git a/secrets/hyprspace-key-VEGAS.age b/secrets/hyprspace-key-VEGAS.age index efd3f718c238a84ac5a69ccb31dbf8d1c8f5eacf..14cf5bbb72082fb20ee8a22e68084d0b9d10972e 100644 GIT binary patch delta 2062 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 diff --git a/secrets/hyprspace-key-prophet.age b/secrets/hyprspace-key-prophet.age index 154925faf045a175b5e8f538c0e851f6814f6138..ddc1365e746db30189497de4207aa1f429c96645 100644 GIT binary patch delta 2135 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 O-UdLLrb~13Ul|9>r?puC