This repository has no description
2.2 kB
74 lines
1{
2 config,
3 pkgs,
4 ...
5}:
6{
7 # Generate Radicle identity keys using clan vars
8 clan.core.vars.generators.radicle = {
9 files."radicle.key" = { };
10 files."radicle.pub".secret = false;
11 runtimeInputs = [ pkgs.openssh ];
12 script = ''
13 ssh-keygen -t ed25519 -N "" -C "radicle" -f "$out/radicle.key"
14 mv "$out/radicle.key.pub" "$out/radicle.pub"
15 '';
16 };
17
18 services.radicle = {
19 enable = true;
20 privateKeyFile = config.clan.core.vars.generators.radicle.files."radicle.key".path;
21 publicKey = config.clan.core.vars.generators.radicle.files."radicle.pub".path;
22
23 node.openFirewall = true;
24
25 settings = {
26 publicExplorer = "https://app.radicle.xyz/nodes/$host/$rid$path";
27 preferredSeeds = [
28 "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.xyz:8776"
29 "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@irisradizskwweumpydlj4oammoshkxxjur3ztcmo7cou5emc6s5lfid.onion:8776"
30 "z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@seed.radicle.garden:8776"
31 "z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosarad5bxgdlgjnzzjygnsxrwxmoaj4vn7xinlstwglxvyt64jlnhyd.onion:8776"
32 ];
33 web.pinned.repositories = [ ];
34 cli.hints = true;
35 node = {
36 alias = config.networking.hostName;
37 listen = [ ];
38 peers.type = "dynamic";
39 connect = [ ];
40 externalAddresses = [ ];
41 network = "main";
42 log = "INFO";
43 relay = "auto";
44 limits = {
45 routingMaxSize = 1000;
46 routingMaxAge = 604800;
47 gossipMaxAge = 1209600;
48 fetchConcurrency = 1;
49 maxOpenFiles = 4096;
50 rate = {
51 inbound = {
52 fillRate = 5.0;
53 capacity = 1024;
54 };
55 outbound = {
56 fillRate = 10.0;
57 capacity = 2048;
58 };
59 };
60 connection = {
61 inbound = 128;
62 outbound = 16;
63 };
64 fetchPackReceive = "500.0 MiB";
65 };
66 workers = 8;
67 seedingPolicy = {
68 default = "block";
69 };
70 proxy = "127.0.0.1:9050";
71 };
72 };
73 };
74}