Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Set up ergochat

+92 -1
+2
host-specific/misaki/networking.nix
··· 82 82 5401 83 83 # NATS 84 84 4222 85 + # Ergochat IRC 86 + 6667 85 87 # Prometheus 86 88 9001 87 89 # Garage RPC
+90 -1
host-specific/misaki/services.nix
··· 42 42 # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 43 43 services.hardware.bolt.enable = true; 44 44 45 - services.ergochat.enable = true; 45 + services.ergochat = { 46 + enable = true; 47 + settings = { 48 + accounts = { 49 + authentication-enabled = true; 50 + multiclient = { 51 + allowed-by-default = true; 52 + always-on = "opt-out"; 53 + auto-away = "opt-out"; 54 + enabled = true; 55 + }; 56 + registration = { 57 + allow-before-connect = true; 58 + bcrypt-cost = 4; 59 + email-verification = { 60 + enabled = false; 61 + }; 62 + enabled = false; 63 + }; 64 + }; 65 + channels = { 66 + default-modes = "+ntC"; 67 + registration = { 68 + enabled = true; 69 + }; 70 + }; 71 + datastore = { 72 + autoupgrade = true; 73 + path = "/srv/shoukuhou/applications/ergochat/ircd.db"; 74 + }; 75 + history = { 76 + autoreplay-on-join = 0; 77 + autoresize-window = "3d"; 78 + channel-length = 2048; 79 + chathistory-maxmessages = 100; 80 + client-length = 256; 81 + enabled = true; 82 + restrictions = { 83 + expire-time = "1w"; 84 + grace-period = "1h"; 85 + query-cutoff = "none"; 86 + }; 87 + retention = { 88 + allow-individual-delete = true; 89 + enable-account-indexing = true; 90 + }; 91 + tagmsg-storage = { 92 + default = true; 93 + whitelist = [ 94 + "+draft/react" 95 + "+react" 96 + ]; 97 + }; 98 + znc-maxmessages = 2048; 99 + }; 100 + limits = { 101 + awaylen = 390; 102 + channellen = 64; 103 + identlen = 20; 104 + kicklen = 390; 105 + nicklen = 32; 106 + topiclen = 390; 107 + }; 108 + network = { 109 + name = "ngpnet"; 110 + }; 111 + server = { 112 + casemapping = "permissive"; 113 + check-ident = true; 114 + enforce-utf = true; 115 + forward-confirm-hostnames = true; 116 + ip-cloaking = { 117 + enabled = false; 118 + }; 119 + ip-limits = { 120 + count = true; 121 + throttle = true; 122 + }; 123 + listeners = { 124 + ":6667" = { }; 125 + }; 126 + lookup-hostnames = true; 127 + max-sendq = "1M"; 128 + name = "ngp.computer"; 129 + relaymsg = { 130 + enabled = true; 131 + }; 132 + }; 133 + }; 134 + }; 46 135 47 136 # Containers and VMs 48 137 virtualisation = {