This repository has no description
0

Configure Feed

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

superconfig / configs / weechat.nix
9.4 kB 293 lines
1{ 2 config, 3 pkgs, 4 self, 5 ... 6}: 7let 8 9 weechat-configured = 10 self.inputs.stockholm.packages.${pkgs.stdenv.hostPlatform.system}.weechat-declarative.override 11 { 12 config = { 13 scripts = [ 14 pkgs.weechatScripts.wee-slack 15 ]; 16 settings = { 17 irc.server_default.nicks = [ 18 "lassulus" 19 "hackulus" 20 ]; 21 irc.server.bitlbee = { 22 addresses = "localhost/6666"; 23 command = "msg &bitlbee identify \${sec.data.bitlbee}"; 24 }; 25 irc.server.hackint = { 26 addresses = "irc.hackint.org/6697"; 27 autojoin = [ 28 "#c3-gsm" 29 "#panthermoderns" 30 "#feldoffice" 31 "#36c3" 32 "#cccac" 33 "#nixos" 34 "#krebs" 35 "#krebstel" 36 "#c-base" 37 "#afra" 38 "#tvl" 39 "#tvix-dev" 40 "#eloop" 41 "#systemdultras" 42 "#rc3" 43 "#krebs-announce" 44 "#the_playlist" 45 "#germany" 46 "#hackint" 47 "#dezentrale" 48 "#hackerfleet \${sec.data.c3-gsm}" # TODO support channel passwords in a cooler way 49 ]; 50 ssl = true; 51 sasl_fail = "reconnect"; 52 sasl_username = "lassulus"; 53 sasl_password = "\${sec.data.hackint_sasl}"; 54 }; 55 irc.server.r = { 56 addresses = "irc.r"; 57 autojoin = [ 58 "#xxx" 59 "#autowifi" 60 "#brockman" 61 "#flix" 62 "#kollkoll" 63 "#noise" 64 "#mukke" 65 ]; 66 sasl_fail = "reconnect"; 67 sasl_username = "lassulus"; 68 sasl_password = "\${sec.data.r_sasl}"; 69 anti_flood_prio_high = 0; 70 anti_flood_prio_low = 0; 71 }; 72 irc.server.libera = { 73 addresses = "irc.libera.chat/6697"; 74 autojoin = [ 75 "#shackspace" 76 "#nixos" 77 "#krebs" 78 "#dezentrale" 79 "#tinc" 80 "#nixos-de" 81 "#fysi" 82 "#hillhacks" 83 "#nixos-rc3" 84 "#binaergewitter" 85 "#hackerfleet" 86 "#weechat" 87 ]; 88 ssl = true; 89 sasl_username = "lassulus"; 90 sasl_fail = "reconnect"; 91 sasl_password = "\${sec.data.libera_sasl}"; 92 }; 93 irc.server.news = { 94 addresses = "news.r"; 95 autojoin = [ 96 "#all" 97 "#aluhut" 98 "#querdenkos" 99 "#news" 100 "#drachengame" 101 ]; 102 anti_flood_prio_high = 0; 103 anti_flood_prio_low = 0; 104 }; 105 matrix.server.lassulus = { 106 address = "matrix.lassul.us"; 107 username = "lassulus"; 108 password = "\${sec.data.matrix_lassulus}"; 109 device_name = config.networking.hostName; 110 }; 111 plugins.var.python.go.short_name = true; 112 plugins.var.python.go.short_name_server = true; 113 plugins.var.python.go.fuzzy_search = true; 114 relay.network.password = "xxx"; # secret? 115 relay.port.weechat = 9998; 116 relay.weechat.commands = "*,!exec,!quit"; 117 weechat.look.buffer_time_format = "%m-%d_%H:%M:%S"; 118 weechat.look.item_time_format = "%m-%d_%H:%M:%S"; 119 irc.look.color_nicks_in_names = true; 120 irc.look.color_nicks_in_nicklist = true; 121 logger.file.mask = "$plugin.$name/%Y-%m-%d.weechatlog"; 122 logger.file.path = "/var/state/weechat_logs"; 123 logger.look.backlog = 1000; 124 weechat.notify.irc.news."#all" = "highlight"; 125 126 # setting logger levels for channels is currently not possible declarativly 127 # because of already defined 128 logger.level.core.weechat = 0; 129 logger.level.irc = 3; 130 logger.level.python = 3; 131 weechat.bar.title.color_bg = 0; 132 weechat.bar.status.color_bg = 0; 133 alias.cmd.reload = "exec -oc cat /etc/weechat.set"; 134 script.scripts.download_enabled = true; 135 weechat.look.prefix_align = "left"; 136 weechat.look.prefix_align_max = 20; 137 irc.look.server_buffer = "independent"; 138 matrix.look.server_buffer = "independent"; 139 weechat.bar.buflist.size_max = 20; 140 weechat.color.chat_nick_colors = [ 141 1 142 2 143 3 144 4 145 5 146 6 147 9 148 10 149 11 150 12 151 13 152 14 153 28 154 29 155 30 156 31 157 32 158 33 159 34 160 35 161 36 162 37 163 38 164 39 165 70 166 94 167 101 168 102 169 103 170 104 171 105 172 106 173 107 174 130 175 131 176 133 177 134 178 135 179 136 180 137 181 140 182 141 183 142 184 143 185 160 186 161 187 162 188 163 189 165 190 166 191 167 192 168 193 169 194 170 195 171 196 172 197 173 198 174 199 175 200 196 201 197 202 198 203 199 204 200 205 201 206 202 207 203 208 204 209 205 210 206 211 208 212 209 213 209 214 210 215 211 216 212 217 ]; 218 }; 219 extraCommands = '' 220 /script upgrade 221 /script install go.py 222 /script install nickregain.pl 223 /script install autosort.py 224 /key bind meta-q /go 225 /key bind meta-t /bar toggle nicklist 226 /key bind meta-y /bar toggle buflist 227 /filter addreplace irc_smart * irc_smart_filter * 228 /filter addreplace playlist_topic irc.*.#the_playlist irc_topic * 229 /filter addreplace xxx_joinpart irc.r.#xxx irc_join,irc_part,irc_quit * 230 /set logger.level.irc.news 0 231 /set logger.level.python.server.nixos_dev = 0; 232 /set logger.level.irc.hackint.#the_playlist = 0; 233 /connect bitlbee 234 /connect r 235 /connect news 236 /connect libera 237 /connect hackint 238 /matrix connect nixos_dev 239 /matrix connect lassulus 240 ''; 241 files."sec.conf" = toString ( 242 pkgs.writeText "sec.conf" '' 243 [crypt] 244 cipher = aes256 245 hash_algo = sha256 246 passphrase_command = "cat $CREDENTIALS_DIRECTORY/WEECHAT_PASSPHRASE" 247 salt = on 248 249 [data] 250 __passphrase__ = on 251 hackint_sasl = "5CA242E92E7A09B180711B50C4AE2E65C42934EB4E584EC82BC1281D8C72CD411D590C16CC435687C0DA13759873CC" 252 libera_sasl = "9500B5AC3B29F9CAA273F1B89DC99550E038AF95C4B47442B1FB4CB9F0D6B86B26015988AD39E642CA9C4A78DED7F42D1F409B268C93E778" 253 r_sasl = "CB6FB1421ED5A9094CD2C05462DB1FA87C4A675628ABD9AEC9928A1A6F3F96C07D9F26472331BAF80B7B73270680EB1BBEFD" 254 c3-gsm = "C49DD845900CFDFA93EEBCE4F1ABF4A963EF6082B7DA6410FA701CC77A04BB6C201FCB864988C4F2B97ED7D44D5A28F162" 255 bitlbee = "814ECAC59D9CF6E8340B566563E5D7E92AB92209B49C1EDE4CAAC32DD0DF1EC511D97C75E840C45D69BB9E3D03E79C" 256 matrix_lassulus = "0CA5C0F70A9F893881370F4A665B4CC40FBB1A41E53BC94916CD92B029103528611EC0B390116BE60FA79AE10F486E96E17B0824BE2DE1C97D87B88F5407330DAD70C044147533C36B09B7030CAD97" 257 '' 258 ); 259 }; 260 }; 261 262in 263{ 264 nixpkgs.config.permittedInsecurePackages = [ 265 "olm-3.2.16" 266 ]; 267 users.users.mainUser.packages = [ 268 weechat-configured 269 ]; 270 environment.etc."weechat.set".source = "${weechat-configured}/weechat.set"; 271 systemd.tmpfiles.rules = [ 272 "d /var/state/weechat_logs 0700 lass users -" 273 "d /var/state/weechat 0700 lass users -" 274 "d /var/state/weechat_cfg 0700 lass users -" 275 "L+ /home/lass/.local/share/weechat - - - - ../../../../var/state/weechat" 276 "L+ /home/lass/.config/weechat - - - - ../../../../var/state/weechat_cfg" 277 ]; 278 279 systemd.services.weechat = { 280 wantedBy = [ "multi-user.target" ]; 281 restartIfChanged = false; 282 serviceConfig = { 283 User = "lass"; 284 RemainAfterExit = true; 285 Type = "oneshot"; 286 # LoadCredential = [ 287 # "WEECHAT_PASSPHRASE:${config.clan.core.vars.password-store.secretLocation}/weechat_passphrase" 288 # ]; 289 ExecStart = "${pkgs.tmux}/bin/tmux -2 new-session -d -s IM ${weechat-configured}/bin/weechat"; 290 ExecStop = "${pkgs.tmux}/bin/tmux kill-session -t IM"; # TODO run save in weechat 291 }; 292 }; 293}