aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/awesome/rc.lua139
-rw-r--r--.config/git/authorized_keys15
-rw-r--r--.config/git/config3
-rw-r--r--.config/git/config-xxllnc2
-rw-r--r--.config/poezio/plugins/irc.cfg2
-rw-r--r--.config/poezio/poezio.cfg557
m---------.config/shell/vendor/bash/feature-auto-completion0
7 files changed, 619 insertions, 99 deletions
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
index 045ed80..0c15a0c 100644
--- a/.config/awesome/rc.lua
+++ b/.config/awesome/rc.lua
@@ -224,105 +224,46 @@ root.buttons(gears.table.join(
-- {{{ Key bindings
globalkeys = gears.table.join(
- awful.key({ modkey, }, "s", hotkeys_popup.show_help,
- {description="show help", group="awesome"}),
- awful.key({ modkey, }, "Left", awful.tag.viewprev,
- {description = "view previous", group = "tag"}),
- awful.key({ modkey, }, "Right", awful.tag.viewnext,
- {description = "view next", group = "tag"}),
- awful.key({ modkey, }, "Escape", awful.tag.history.restore,
- {description = "go back", group = "tag"}),
-
- awful.key({ modkey, }, "Down",
- function ()
- awful.client.focus.byidx( 1)
- end,
- {description = "focus next by index", group = "client"}
- ),
- awful.key({ modkey, }, "Up",
- function ()
- awful.client.focus.byidx(-1)
- end,
- {description = "focus previous by index", group = "client"}
- ),
- awful.key({ modkey, }, "j",
- function ()
- awful.client.focus.byidx( 1)
- end,
- {description = "focus next by index", group = "client"}
- ),
- awful.key({ modkey, }, "k",
- function ()
- awful.client.focus.byidx(-1)
- end,
- {description = "focus previous by index", group = "client"}
- ),
- awful.key({ modkey, }, "w", function () mymainmenu:show() end,
- {description = "show main menu", group = "awesome"}),
-
-
- -- Layout manipulation
- awful.key({ modkey, "Shift" }, "Down", function () awful.client.swap.byidx( 1) end,
- {description = "swap with next client by index", group = "client"}),
- awful.key({ modkey, "Shift" }, "Up", function () awful.client.swap.byidx( -1) end,
- {description = "swap with previous client by index", group = "client"}),
- awful.key({ modkey, "Control" }, "Right", function () awful.screen.focus_bydirection("right") end,
- {description = "focus the next screen", group = "screen"}),
- awful.key({ modkey, "Control" }, "Left", function () awful.screen.focus_bydirection("left") end,
- awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
- {description = "swap with next client by index", group = "client"}),
- awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
- {description = "swap with previous client by index", group = "client"}),
- awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_bydirection("right") end,
- {description = "focus the next screen", group = "screen"}),
- awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_bydirection("left") end,
- {description = "focus the previous screen", group = "screen"}),
- awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
- {description = "jump to urgent client", group = "client"}),
- awful.key({ modkey, }, "Tab",
- function ()
- awful.client.focus.history.previous()
- if client.focus then
- client.focus:raise()
- end
- end,
- {description = "go back", group = "client"}),
-
- -- Standard program
- awful.key(
- { modkey, "Shift" }, "r", awesome.restart,
- {description = "reload awesome", group = "awesome"}
- ),
- awful.key(
- { modkey, "Shift" }, "x", awesome.quit,
- {description = "quit awesome", group = "awesome"}
- ),
-
- awful.key(
- { modkey, }, "p", function () awful.spawn("ipass") end,
- { description = "Select password", group = "awesome" }
- ),
- awful.key(
- { modkey, }, "o", function () awful.spawn("ipass-otp") end,
- { description = "Select password", group = "awesome" }
- ),
-
- awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
- {description = "increase master width factor", group = "layout"}),
- awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
- {description = "decrease master width factor", group = "layout"}),
- awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
- {description = "increase the number of master clients", group = "layout"}),
- awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
- {description = "decrease the number of master clients", group = "layout"}),
- awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
- {description = "increase the number of columns", group = "layout"}),
- awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
- {description = "decrease the number of columns", group = "layout"}),
- awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
- {description = "select next", group = "layout"}),
- awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
- {description = "select previous", group = "layout"}),
+ -- Awesome Controls
+ awful.key({ modkey, }, "s", hotkeys_popup.show_help, {description="show help", group="awesome"}),
+ awful.key({ modkey, }, "w", function () mymainmenu:show() end, {description = "show main menu", group = "awesome"}),
+ awful.key({ modkey, "Shift" }, "r", awesome.restart, {description = "reload awesome", group = "awesome"}),
+ awful.key({ modkey, "Shift" }, "x", awesome.quit, {description = "quit awesome", group = "awesome"}),
+
+ -- Focus
+ awful.key({ modkey, }, "Down", function () awful.client.focus.byidx(1) end, {description = "focus next by index", group = "client"}),
+ awful.key({ modkey, }, "Up", function () awful.client.focus.byidx(-1) end, {description = "focus previous by index", group = "client"}),
+ awful.key({ modkey, }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end, {description = "go back", group = "client"}),
+ awful.key({ modkey, }, "j", function () awful.client.focus.byidx(1) end, {description = "focus next by index", group = "client"}),
+ awful.key({ modkey, }, "k", function () awful.client.focus.byidx(-1) end, {description = "focus previous by index", group = "client"}),
+ awful.key({ modkey, }, "u", awful.client.urgent.jumpto, {description = "jump to urgent client", group = "client"}),
+ awful.key({ modkey, "Control" }, "Left", function () awful.screen.focus_bydirection("left") end),
+ awful.key({ modkey, "Control" }, "Right", function () awful.screen.focus_bydirection("right") end, {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_bydirection("right") end, {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_bydirection("left") end, {description = "focus the previous screen", group = "screen"}),
+ awful.key({ modkey, "Shift" }, "Down", function () awful.client.swap.byidx(1) end, {description = "swap with next client by index", group = "client"}),
+ awful.key({ modkey, "Shift" }, "Up", function () awful.client.swap.byidx(-1) end, {description = "swap with previous client by index", group = "client"}),
+
+ -- Tags
+ awful.key({ modkey, }, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"}),
+ awful.key({ modkey, }, "Left", awful.tag.viewprev, {description = "view previous", group = "tag"}),
+ awful.key({ modkey, }, "Right", awful.tag.viewnext, {description = "view next", group = "tag"}),
+
+ -- Layouts
+ awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end, {description = "decrease master width factor", group = "layout"}),
+ awful.key({ modkey, }, "l", function () awful.tag.incmwfact(0.05) end, {description = "increase master width factor", group = "layout"}),
+ awful.key({ modkey, }, "space", function () awful.layout.inc(1) end, {description = "select next", group = "layout"}),
+ awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol(1, nil, true) end, {description = "increase the number of columns", group = "layout"}),
+ awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, {description = "decrease the number of columns", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster(1, nil, true) end, {description = "increase the number of master clients", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx(1) end, {description = "swap with next client by index", group = "client"}),
+ awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx(-1) end, {description = "swap with previous client by index", group = "client"}),
+ awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, {description = "decrease the number of master clients", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, {description = "select previous", group = "layout"}),
+
+ -- Programs
+ awful.key({ modkey, }, "o", function () awful.spawn("ipass-otp") end, { description = "Select OTP", group = "awesome" }),
+ awful.key({ modkey, }, "p", function () awful.spawn("ipass") end, { description = "Select password", group = "awesome" }),
awful.key({ modkey, "Control" }, "n",
function ()
diff --git a/.config/git/authorized_keys b/.config/git/authorized_keys
index e69de29..51b7d92 100644
--- a/.config/git/authorized_keys
+++ b/.config/git/authorized_keys
@@ -0,0 +1,15 @@
+# Personal keys
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMtUkeSiwk+1UnMfy8Z53cQkKTlBBFZXUuDiXfPcalHj tyil@anoia.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQp0puZEEADKgUF1XYtLPzcYLTGNdDj0WCTf37adaZ2 tyil@caeghi.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHiNIpe2QCOk22YYU/mY7QA2rq0E07wetzj5R1wtWxeC tyil@edephas.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFCiQJhuTvL0vZoOAu1L0sU81VV2qH1l4U73bL9RYfrW tyil@faiwoo.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ94ffGPvEb/Hi2B2XSaYjKpMiV93fzGLe0QUlXRJb1L tyil@gaeru.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINRprF4gE0pGiMNSxR8Z0fFsBikoifsm7HpdbHkBsmDg tyil@hurzak.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIVPGs2LkDvdkMzwR1Crk8OblMQD2snClUuIcYgUYcu4 tyil@ludifah.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFqLhjoIYRZmkD9sv1l1c03x6EpkadjfrGJ+4gqgkmp5 tyil@mieshu.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNztf75LVF+UvoIDyduHfynZupdC+9g7RaIs6cGgmCa tyil@nouki.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJkjrJ6agLK5Bdg2Y5B+88XDbP5UsQyvdUbd3LrOVmjI tyil@oolah.tyil.net
+p.spek@tyil.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7XKD3KxXTe5GlM4w4xdap3VAPvYCi4EowD88ymInFR tyil@plarabe.tyil.net
+
+# xxllnc
+patrick.spek@xxllnc.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ7XKD3KxXTe5GlM4w4xdap3VAPvYCi4EowD88ymInFR
diff --git a/.config/git/config b/.config/git/config
index 212776b..434c4ba 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -70,3 +70,6 @@
email = p.spek@tyil.nl
name = Patrick Spek
signingKey = ~/.config/git/signingkey # Symlink to the SSH key to be used
+
+[includeIf "gitdir:**/projects/xxllnc/**/.git"]
+ path = ~/.config/git/config-xxllnc
diff --git a/.config/git/config-xxllnc b/.config/git/config-xxllnc
new file mode 100644
index 0000000..e6ae439
--- /dev/null
+++ b/.config/git/config-xxllnc
@@ -0,0 +1,2 @@
+[user]
+ email = patrick.spek@xxllnc.nl
diff --git a/.config/poezio/plugins/irc.cfg b/.config/poezio/plugins/irc.cfg
new file mode 100644
index 0000000..cd578d8
--- /dev/null
+++ b/.config/poezio/plugins/irc.cfg
@@ -0,0 +1,2 @@
+[irc]
+gateway = "biboumi.chat.tyil.nl"
diff --git a/.config/poezio/poezio.cfg b/.config/poezio/poezio.cfg
new file mode 100644
index 0000000..3e494e3
--- /dev/null
+++ b/.config/poezio/poezio.cfg
@@ -0,0 +1,557 @@
+# This is the default config for the XMPP client Poezio.
+# Comments should be on their own line and NOT at the end
+# of a meaningful line.
+# Most options are commented in order to not override the
+# default value which may have been changed since the time
+# the file was copied on setup.
+
+[Poezio]
+
+# Jabber identifier. Specify it only if you want to connect using an existing
+# account on a server. This is optional and useful only for some features,
+# like room administration, nickname registration.
+# The 'server' option will be ignored if you specify a JID (Jabber identifier)
+# It should be in the form nickname@server.tld or nickname@server.tld/resource
+jid = tyil@chat.tyil.nl/oolah
+
+# A password is needed only if you specified a jid. It will be ignored otherwise
+# If you leave this empty, the password will be asked at each startup
+password =
+
+# A command that will be executed if "password" is not set, e.g. a session password
+# manager like secret-tool on gnome, or anything you want
+eval_password =
+
+# This identifies this client over time with the server, to let it optimise
+# offline storage and various other features.
+device_id = pYCr
+
+# Path to a PEM certificate file to use for certificate authentication
+# through SASL External. If set, keyfile MUST be provided as well in
+# order to login.
+certfile =
+
+# Path to a PEM private key file to use for certificate authentication
+# through SASL External. If set, certfile MUST be provided as well in
+# order to login.
+keyfile =
+
+# the nick you will use when joining a room with no associated nick
+# If this is empty, the $USER environment variable will be used
+default_nick = tyil
+
+# the rooms you will join automatically on startup, with associated nickname or not
+# format : room@server.tld/nickname:room2@server.tld/nickname2
+# default_nick will be used if "/nickname" is not specified
+rooms =
+
+# a list of words (separated by a colon (:)) that will be
+# highlighted if said by someone on a room
+highlight_on =
+
+# Colon-separated list of plugins to load on startup
+plugins_autoload = irc
+
+# The server used for anonymous connection.
+# Make sure the server you're using accepts anonymous authentication
+#server = anon.jeproteste.info
+
+# TLS Certificate fingerprint
+# Do not touch this if you don’t know what you are doing
+certificate = 8A:17:AA:81:58:44:B3:29:15:F7:61:BF:0E:A1:D1:75:16:29:61:93:76:A3:46:82:FB:98:11:E8:27:00:84:0E
+
+# List of ciphers allowed when connecting to the server,
+# this list prioritizes forward secrecy and forbids anything
+# weaker than 128 bits.
+# You should probably leave it as it is
+#ciphers = HIGH+kEDH:HIGH+kEECDH:HIGH:!PSK:!SRP:!3DES:!aNULL
+
+# Skip the TLS certificate fingerprint verification
+# Should be false in most cases, as you want to check that the server keeps
+# the same certificate.
+#ignore_certificate = false
+
+# Force TLS on by default
+#force_encryption = true
+
+# The interval to send a whitespace keepalive to the server
+# 300 should be fine, except for specific services, in that case, change the
+# value to the services default.
+#whitespace_interval = 300
+
+# Path to the certificate authenticating the Authority.
+# A server may have several certificates, but if it uses a CA, it will often
+# keep the same for obvious reasons, so this is a good option if your server
+# does this, rather than skipping all verifications.
+# This is not affected by ignore_certificate
+# Poezio attempts to guess this value automatically. Set to override this
+# behaviour, to the empty string for example, or to another path.
+#ca_cert_path =
+
+# Auto-reconnects you when you get disconnected from the server
+auto_reconnect = true
+
+# The time between the ping sent to the server to check if the connection is alive
+#connection_check_interval = 300
+
+# The timeout value of those pings
+#connection_timeout_delay = 30
+
+# Send the initial presence
+# true, unless you want to be invisible from your contact list
+# warning: this disables any presence sending other than chatrooms or directed
+# presences via /presence
+#send_initial_presence = true
+
+# The status (show) poezio will send when connecting.
+# can be: xa,dnd,away,available,chat.
+# An empty or invalid value will mean available.
+#status =
+
+# The status message you will have upon connection
+status_message =
+
+# Save the last used status in this file (in the status and status_message
+# options)
+#save_status = true
+
+# A custom host that will be used instead of the DNS records for the server
+# (anonymous or the jid’s) defined above.
+# You should not need this in a "normal" use case.
+#custom_host =
+
+# A custom port to use instead of the 5222.
+# This option can be combined with custom_host.
+# You should not need this in a "normal" use case.
+#custom_port =
+
+# the method that poezio will use to store your bookmarks online
+# possible values are: privatexml, pep
+# You should not have to modify this, but if you have to, please do.
+use_bookmarks_method =
+
+# use this option to force the use of local bookmarks
+# possible values are: anything/false
+#use_remote_bookmarks = true
+
+# Whether you want all bookmarks, even those without
+# autojoin, to be open on startup
+#open_all_bookmarks = false
+
+# Will create a bookmark on manual /join, using your preferred
+# storage method. Use /leave to remove the bookmark.
+#synchronise_open_rooms = true
+
+# What will be put after the name, when using autocompletion at the
+# beginning of the input. A space will always be added after that
+after_completion = :
+
+# Whether or not to add a space after a completion in the middle of the
+# input (not at the start of it)
+#add_space_after_completion = true
+
+# The maximum length of the nickname that will be displayed in the
+# conversation window.
+#max_nick_length = 25
+
+# Show the timestamp of each messages, or not
+#show_timestamps = true
+
+# Allow a message to "correct" another message in the display if
+# the sender wants it.
+#group_corrections = true
+
+# Words that you want to complete on recent words completion,
+# separated by a colon (:).
+# e.g. words = "anticonstitutionnellement:I protest:I like bananas:"
+#words =
+
+# XHTML-IM is an XMPP extension letting users send messages
+# containing XHTML and CSS formating. We can use this to make
+# colored text for example.
+#enable_xhtml_im = true
+
+# If XHTML-IM is enabled, you may want to reject style parsing, to keep
+# only semantic elements formatting.
+#enable_css_parsing = true
+
+# Stream Management (XEP-0198) is an extension designed to improve
+# the reliability of XMPP in unreliable network conditions (such
+# as mobile networks). It can however increase bandwidth usage.
+#enable_smacks = false
+
+# Set a number for this setting.
+# The join OR status-change notices will be
+# displayed according to this number.
+# -1: the notices will ALWAYS be displayed
+# 0: the notices will NEVER be displayed
+# n: On any other number, the notices will only be displayed
+# if the user involved has talked since the last n seconds
+# The quit messages will be hidden only if hide_exit_join is 0
+# if the value is incorrect, -1 is assumed
+# Default settings are :
+# - all quit and join notices will be displayed
+# - status changes won't be displayed unless
+# the user talked in the last 2 minutes
+
+#hide_exit_join = -1
+
+#hide_status_change = 120
+
+
+# Some informational messages (error, a contact getting connected, etc)
+# are sometimes added to the information buffer. These settings can make
+# it grow temporarly so you can read these information when they appear.
+
+# A list of message types that should make the information buffer grow
+# Possible values; error, roster, warning, info, help
+#information_buffer_popup_on = error roster warning help info
+
+# A list of message types separated by colons (":") that should be filtered out from the
+# information buffer.
+# Possible values; error, roster, warning, info, help
+#information_buffer_type_filter =
+
+# The time the message will be visible. If the message takes more than
+# one line, the popup will stay visible two second per additional lines
+#popup_time = 4
+
+# Whether to hide the list of user in the MultiUserChat tabs or not. Useful
+# for example if you want to copy/paste the content of the buffer, or if you
+# want to gain space
+#hide_user_list = false
+
+# A list of words (or sentences) separated by colons (":"). All the
+# informational messages (described above) containing at least one of those
+# values will not be shown.
+#filter_info_messages =
+
+# Set to 'true' if you want to automatically rejoin the
+# rooms when you're kicked or banned
+autorejoin = true
+
+# Set to the number of seconds before reconnecting when you are kicked
+# or banned. No value, 0, or a negative value means you will be reconnected
+# instantly. Only effective if autorejoin is set to true.
+#autorejoin_delay = 5
+
+# If you want poezio to join
+# the room with an alternative nickname when
+# your nickname is already in use in the room you
+# wanted to join, put a non-empty value.
+# Else, poezio won't join the room
+# This value will be added to your nickname to
+# create the alternative nickname.
+# For example, if you set "_", and wanted to use
+# the nickname "john", your alternative nickname
+# will be "john_"
+#alternative_nickname =
+
+# set to 'true' if you want to save logs of all the messages
+# in files.
+#use_log = true
+
+# set to 'false' to not sync the local lgos with the MAM server history
+#mam_sync = true
+
+# The number of lines to preload in a chat buffer when it opens
+# (the lines are preloaded from the log files)
+# 0 or a negative value disable that option
+#load_log = 10
+
+# If log_dir is not set, logs will be saved in $XDG_DATA_HOME/poezio/logs,
+# i.e. in ~/.local/share/poezio/logs/. So, you should specify the directory
+# you want to use instead. This directory will be created if it doesn't exist
+#log_dir =
+
+# Log the errors poezio encounters in log_dir/errors.log
+# A false value disables this option.
+#log_errors = true
+
+# If plugins_dir is not set, plugins will be loaded from the plugins/ dir in the
+# poezio directory, then $XDG_DATA_HOME/poezio/plugins.
+# You can specify another directory to use. It will be created if it doesn't exist
+#plugins_dir =
+
+# If plugins_conf_dir is not set, plugin configs will be loaded from
+# $XDG_CONFIG_HOME/poezio/plugins. You can specify another directory here.
+#plugins_conf_dir =
+
+# the full path to the photo (avatar) you want to use
+# it should be less than 16Ko
+# The avatar is not set by default, because it slows
+# poezio's startup a little. Uncomment if you want the default avatar
+
+#photo = ../data/poezio_80.png
+
+# If you want to show all the tabs in the Tab bar, even those
+# with no activity, set to true. Else, set to false
+#show_inactive_tabs = true
+
+# If you want to highlight tabs where the contact is typing
+# possible values:
+# - direct: one-to-one chats
+# - private: private chats in chatrooms
+# - conversation: chats with contacts or other JIDs
+# - muc: chatrooms
+# - true: all chat tabs
+# - false or anything else: no highlighting
+#show_composing_tabs = direct
+
+# Ignore private messages received in chatrooms
+#ignore_private = false
+
+# If you want to show the tab names in the bottom tab bar, set this to true
+#show_tab_names = false
+
+# If you want to disable the numbers in the bottom tab bar, set this to false
+# If show_tab_names and show_tab_numbers are both false, the numbers will be
+# shown
+#show_tab_numbers = true
+
+# Use the contact name, the nick in the chatroom instead of the full JID to
+# display the tab if set to true.
+#use_tab_nicks = true
+
+# If set to false, poezio will first display the bookmark name, or if empty the
+# user part of the JID (before the @) when displaying the chatroom tab name.
+#show_muc_jid = false
+
+# If this option is set to false, the contact list will not show the contact
+# JIDs when that is possible.
+# e.g. instead of: toto (toto@example.org) (2)
+# poezio will only show: toto (2)
+#show_roster_jids = true
+
+# Show JIDs in conversation tabs
+#show_jid_in_conversations = true
+
+# show s2s errors in the contact list
+#show_s2s_errors = true
+
+# If set to true, the contact list will display offline contacts too
+roster_show_offline = true
+
+# How to sort the contacts inside the contact list groups.
+# They are used sequentially, (from left to right)
+# Available sorting methods are:
+# - reverse: reverse the sorting
+# - jid: sort by JID (alphabetical order)
+# - show: sort by show (available/away/xa/…)
+# - name: sort by name (if no name, then the bare jid is used)
+# - sname: case-sensitive name sorting (uppercase first)
+# - resource: sort by resource number
+# - online: sort by online presence (online or not)
+# You can arrange them however you like, and you have to separate them with
+# colons (":"). Keep in mind that if there are more than 3 or 4 your
+# sorting is most likely inefficient.
+#roster_sort = jid:show
+
+# How to sort the contact list groups.
+# The principles are the same as roster_sort.
+# Available methods are:
+# - reverse: reverse the sorting
+# - name: sort by group name (alphabetical order)
+# - sname: case-sensitive name sorting (uppercase first)
+# - fold: sort unfolded/folded
+# - connected: sort by number of connected contacts
+# - size: sort by group size
+# - none: put the "none" group (if any) at the end of the list
+#roster_group_sort = name
+
+# The terminal can beep on various event. Put the event you want in a list
+# (separated by spaces).
+# The events can be
+# - highlight (when you are highlighted in a chatroom)
+# - private (when a new private message is received, from your contacts or
+# someone from a chatroiom)
+# - message (any message from a chatroom)
+# - invite (when you receive an invitation for joining a chatroom)
+#beep_on = highlight private invite disconnect
+
+# Theme
+
+# If themes_dir is not set, logs will searched for in $XDG_DATA_HOME/poezio/themes,
+# i.e. in ~/.local/share/poezio/themes/. So you should specify the directory you
+# want to use instead. This directory will be created at startup if it doesn't
+# exist
+#themes_dir =
+
+# The name of the theme file that will be used. The file should be located
+# in the theme_dir directory.
+# If the file is not found (or no filename is specified) the default
+# theme will be used instead
+theme = dark
+
+# Whether to create gaps when moving or closing a tab
+# (a gap means that the number of your tabs does not depend of the previous tabs
+# but only of the creation order)
+#create_gaps = false
+
+# If Alt-x is pressed and you are already on the tab numbered "x",
+# you will go on the previous tab if that option is true
+#go_to_previous_tab_on_alt_number = false
+
+# If true, a vertical list of tabs, with their name, is displayed on the left
+# of the screen. Otherwise, it is a horizontal bar with just the tab numbers
+# above the input bar.
+enable_vertical_tab_list = true
+
+# Horizontal size of the vertical tab list
+#vertical_tab_list_size = 20
+
+# If set to desc, the tabs will be displayed from top to bottom in the list,
+# if set to asc, they will be displayed from bottom to top.
+#vertical_tab_list_sort = desc
+
+# Show the user list at the bottom when in a chatroom
+# (useful when you want to look at the bottom of the screen only)
+# possible values: desc, asc
+#user_list_sort = desc
+
+# If _nick, nick_, _nick_, nick__ etc. should have the same color as nick
+#nick_color_aliases = true
+
+# The nick of people who join, part, change their status, etc. in a chatroom
+# will be displayed using their nick color if true.
+#display_user_color_in_join_part = true
+
+# Change the tab state when receiving chatroom messages.
+# useful if you are connected to a high-volume chatroom and do not
+# want it to appear in your tab bar as active. Highlights are still
+# shown.
+#notify_messages = true
+
+# Enable Message Carbons (XEP-0280) to deliver message copies from and to
+# other resources with carbons enabled.
+#enable_carbons = true
+
+# Acknowledge message delivery receipts (XEP-0184)
+#ack_message_receipts = true
+
+# Ask for message delivery receipts (XEP-0184)
+#request_message_receipts = true
+
+# Display your contacts’ avatar in the roster if true.
+#enable_avatars = true
+
+# Use Unicode half-block (▄) instead of full-block (█) to display images.
+# This doubles the vertical resolution and gives square pixels, but may
+# cause issues in some terminals.
+#image_use_half_blocks = false
+
+# Extract base64 images received in XHTML-IM messages
+# if true.
+#extract_inline_images = true
+
+# The directory where the images will be saved; if unset,
+# defaults to $XDG_CACHE_HOME/poezio/images.
+#tmp_image_dir =
+
+# If set to true, use the nickname broadcasted by the user if none has been
+# set manually.
+#enable_user_nick = true
+
+# if true, chat states will be sent to the people you are talking to.
+# Chat states are, for example, messages informing that you are composing
+# a message or that you closed the tab, etc
+# Set to false if you don't want people to know these information
+# Note that you won’t receive the chat states of your contacts
+# if you don't send yours.
+#send_chat_states = true
+
+# if true, information about the software (name and version)
+# will be sent if requested by anyone
+# Set to false if you don't want people to know these information
+#send_poezio_info = true
+
+# if true, information about the Operation System you're using
+# will be sent when requested by anyone
+# Set to false if you don't want people to know these information
+# Note that this information will not be sent if send_poezio_info is False
+#send_os_info = true
+
+# if true, your current time will be sent if asked
+# Set to false if you don't want people to know that information
+#send_time = true
+
+# If true, the history of the similar inputs won't be shared between
+# different tabs (as in weechat).
+#separate_history = false
+
+# The language you specify using.
+# This *may* be used by an automated entity to send you tailored replies
+# If you don't understand, leave en.
+#lang = en
+
+# Configure the number of maximum lines and messages (for each tab) that
+# can be kept in memory. If poezio consumes too much memory, lower these
+# values
+#max_messages_in_memory = 2048
+#max_lines_in_memory = 2048
+
+# Show the separator at the bottom of the text buffer, even if no one
+# spoke
+#show_useless_separator = true
+
+# Set this to true if you want the commands to be executed remotely
+# (with ssh & the daemon), see the documentation of the /link plugin
+# for details
+#exec_remote = false
+
+# Path of the FIFO in which the remote commands will be sent.
+# The "poezio.fifo" file will be created in this directory
+# Used with exec_remote set to true, see the documentation of /link for details
+# Defaults to ./
+#remote_fifo_path = ./
+
+# Defines if all tabs are resized at the same time (if set to false)
+# or if they are really resized only when needed (if set to true).
+# “true” should be the most comfortable value
+#lazy_resize = true
+
+# If set to true and if show_tab_names is set, the info bar will only show
+# the unique prefix of each tab name instead of the full name. This saves a
+# lot of space if many tabs exist or are active.
+# Best used with the `/wup` command or the `_go_to_room_name` action to select
+# a tab based on the prefix.
+#unique_prefix_tab_names = false
+
+[bindings]
+# Bindings are keyboard shortcut aliases. You can use them
+# to define your own keys and bind them with some functions
+# The syntax is
+# key = bind
+# where ^x means Control + x
+# and M-x means Alt + x
+# The example turns Alt + i into a tab key
+M-i = ^I
+
+[var]
+# You should not edit this section, it is just used by poezio
+# to save various data across restarts
+folded_roster_groups =
+info_win_height = 0
+
+[muc_colors]
+# Set color for a nick, under the form
+# nick = color
+
+[#cock.li%irc.darenet.org@biboumi.chat.tyil.nl]
+notify_messages = false
+[#guardsmanbob%irc.twitch.tv@biboumi.chat.tyil.nl]
+notify_messages = false
+[#fosdem%irc.libera.chat@biboumi.chat.tyil.nl]
+notify_messages = false
+[#scriptkitties%irc.libera.chat@biboumi.chat.tyil.nl]
+notify_messages = false
+[#indieweb%irc.libera.chat@biboumi.chat.tyil.nl]
+notify_messages = false
+[#scriptkitties%irc.oftc.net@biboumi.chat.tyil.nl]
+notify_messages = false
+[#scriptkitties%irc.darenet.org@biboumi.chat.tyil.nl]
+notify_messages = false
+[gajim@conference.gajim.org]
+notify_messages = false
+[slidge@conference.nicoco.fr]
+notify_messages = false
diff --git a/.config/shell/vendor/bash/feature-auto-completion b/.config/shell/vendor/bash/feature-auto-completion
-Subproject 23b8144d88451f31cb01cb59f3dcd4b787069f1
+Subproject a18a07b34b37377bb523afa78899259f21d575a