Draft: Aug 16th, as I use it, I will add more, and try to add a description of the settings in the last block of text.

Let’s Encrypt

Following the instructions from README file, leads me to


wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto


./certbot-auto certonly --standalone -d <domain> -m <email>

Make sure ports 80 and 443 are open.

The output should be something like the following.

 - Congratulations! Your certificate and chain have been saved at                      
   /etc/letsencrypt/live/<domain>/fullchain.pem. Your cert will                  
   expire on 2016-11-16. To obtain a new or tweaked version of this                    
   certificate in the future, simply run certbot-auto again. To                        
   non-interactively renew *all* of your certificates, run                             
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Installing Weechat

sudo apt-get build-dep weechat
git clone <etc...>

The following three lines setup a secure password database with a securing passphrase, and a password each for relay and freenode.

/secure passphrase <your passphrase>
/secure set relay-password <relay password>
/secure set freenode-sasl_password <freenode password>
/secure set slack_token <slack token[, slack token]>

The rest you can copy paste directly into weechat as one block of text.

/set relay.network.password ${sec.data.relay-password}
/relay sslcertkey
/relay add ssl.weechat 9001

/set irc.server_default.nicks parsnip,parsnip0,parsnip1,parsnip2,parsnip3
/set irc.server_default.username parsnip

/set irc.server.freenode.sasl_username parsnip
/set irc.server.freenode.sasl_password ${sec.data.freenode-sasl_password}
/set plugins.var.python.slack.slack_api_token "${sec.data.slack_token}"
/set plugins.var.python.slack.slack_api_token "${sec.data.slack_token_puppy}"
/set plugins.var.python.slack.slack_api_token "${sec.data.slack_token_puppy}, ${sec.data.slack_token_6001x}"

/set weechat.network.gnutls_ca_file /etc/ssl/certs/ca-certificates.crt

/set irc.server.freenode.addresses chat.freenode.net/6697
/set irc.server.freenode.ssl on

/connect freenode

/server add oftc irc.oftc.net/6697 -ssl
/connect oftc

/script install autosort.py
/script install buffers.pl
/script install iset.pl
/script install prism.py

/filter add irc_smart * irc_smart_filter *
/filter add hidevoices * irc_mode (\+|\-)v

/key bind meta-J /window scroll_down
/key bind meta-K /window scroll_up

/set irc.server_default.default_msg_part ""
/set irc.server_default.default_msg_quit ""

/set irc.look.display_join_message 329,332,333

/set irc.server.autojoin

Issues with tmux

tmux may have problems displaying ncurses properly, so make sure that echo $TERM gives screen-256color. (For example, glitchy scrolling or bars that don’t fill screen.)

Global nicklist for a single channel

The only nick list I care for is Bitlbee’s, and I keep that at the bottom as a global bar with

/set weechat.bar.fbnl.items "@irc.<server>.<channel>:buffer_nicklist"

For example.

/set weechat.bar.fbnl.items "@irc.bitlbee.&bitlbee:buffer_nicklist"

Also described here: https://weechat.org/files/doc/stable/weechat_user.en.html#bar_items

fast buffer switching

This is described for instance here: https://github.com/weechat/weechat/issues/762

/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=/([0-9]+)=/buffer *${re:1}=" ""

User punksweat on #weechat pointed out this script.

Now if you type for example /15, it is like doing /buffer 15.

filtering some of bitlbee’s join part messages.

/filter add bitlbee_filter irc.bitlbee.* irc_nick_back,irc_quit *