commit 2a99a9b5ab2c8794327bd85aa32d670d24b8c4c0
parent b67de902ef45026efb986d6f8d6def4364a6e101
Author: Linus <93053722+KoenigLinus@users.noreply.github.com>
Date: Thu, 21 Nov 2024 16:44:05 +0100
exec
Diffstat:
49 files changed, 2612 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
@@ -1 +1,5 @@
-# dotfiles
-\ No newline at end of file
+# dotfiles
+
+```bash
+ln -s ~/dotfiles/weechat ~/.config/weechat
+```
diff --git a/nvim/.gitignore b/nvim/.gitignore
@@ -0,0 +1,8 @@
+tt.*
+.tests
+doc/tags
+debug
+.repro
+foo.*
+*.log
+data
diff --git a/nvim/.neoconf.json b/nvim/.neoconf.json
@@ -0,0 +1,15 @@
+{
+ "neodev": {
+ "library": {
+ "enabled": true,
+ "plugins": true
+ }
+ },
+ "neoconf": {
+ "plugins": {
+ "lua_ls": {
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/nvim/LICENSE b/nvim/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/nvim/README.md b/nvim/README.md
@@ -0,0 +1,4 @@
+# 💤 LazyVim
+
+A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
+Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
diff --git a/nvim/after/ftplugin/c.lua b/nvim/after/ftplugin/c.lua
@@ -0,0 +1,6 @@
+-- ~/.config/nvim/after/ftplugin/c.lua
+
+vim.opt_local.tabstop = 4
+vim.opt_local.shiftwidth = 4
+vim.opt_local.expandtab = true
+vim.opt_local.softtabstop = 4
diff --git a/nvim/init.lua b/nvim/init.lua
@@ -0,0 +1,9 @@
+-- bootstrap lazy.nvim, LazyVim and your plugins
+require("config.lazy")
+
+vim.o.encoding = "utf-8"
+vim.o.fileencoding = "utf-8"
+
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 4
+vim.opt.expandtab = true
diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json
@@ -0,0 +1,51 @@
+{
+ "LazyVim": { "branch": "main", "commit": "13a4a84e3485a36e64055365665a45dc82b6bf71" },
+ "alpha-nvim": { "branch": "main", "commit": "bf3c8bb8c02ed3d9644cc5bbc48e2bdc39349cd7" },
+ "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
+ "catppuccin": { "branch": "main", "commit": "7be452ee067978cdc8b2c5f3411f0c71ffa612b9" },
+ "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
+ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
+ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
+ "conform.nvim": { "branch": "master", "commit": "40d4e98fcc3e6f485f0e8924c63734bc7e305967" },
+ "dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
+ "dressing.nvim": { "branch": "master", "commit": "1b7921eecc65af1baf8ac1dc06f0794934cbcfb2" },
+ "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
+ "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
+ "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" },
+ "grug-far.nvim": { "branch": "main", "commit": "f47594f05d10b0bedfc0ed78e488e7fd714d57be" },
+ "indent-blankline.nvim": { "branch": "master", "commit": "e7a4442e055ec953311e77791546238d1eaae507" },
+ "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
+ "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
+ "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
+ "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" },
+ "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
+ "mini.ai": { "branch": "main", "commit": "9b9b7cfa38b4871c3e44cfe89cf6d53fd40684d9" },
+ "mini.icons": { "branch": "main", "commit": "a2742459f0ee32806c2438ca06b4d8b331f3f4d4" },
+ "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" },
+ "neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
+ "noice.nvim": { "branch": "main", "commit": "df448c649ef6bc5a6a633a44f2ad0ed8d4442499" },
+ "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
+ "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
+ "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
+ "nvim-lint": { "branch": "master", "commit": "f707b3ae50417067fa63fdfe179b0bff6b380da1" },
+ "nvim-lspconfig": { "branch": "master", "commit": "d141895d1d9f41048fff201d62a2d6e96d299e32" },
+ "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
+ "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" },
+ "nvim-tetris": { "branch": "master", "commit": "d17c99fb527ada98ffb0212ffc87ccda6fd4f7d9" },
+ "nvim-treesitter": { "branch": "master", "commit": "5a2ff8b7ca5470b1011ed82ef3fdd53139ffc467" },
+ "nvim-treesitter-textobjects": { "branch": "master", "commit": "b91c98afa6c42819aea6cbc1ba38272f5456a5cf" },
+ "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
+ "nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" },
+ "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
+ "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
+ "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
+ "substitute.nvim": { "branch": "main", "commit": "97f49d16f8eea7967d41db4f657dd63af53eeba1" },
+ "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
+ "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
+ "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
+ "tokyonight.nvim": { "branch": "main", "commit": "2c85fad417170d4572ead7bf9fdd706057bd73d7" },
+ "trouble.nvim": { "branch": "main", "commit": "254145ffd528b98eb20be894338e2d5c93fa02c2" },
+ "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" },
+ "which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" }
+}
diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json
@@ -0,0 +1,9 @@
+{
+ "extras": [
+
+ ],
+ "news": {
+ "NEWS.md": "6520"
+ },
+ "version": 6
+}
+\ No newline at end of file
diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua
@@ -0,0 +1,3 @@
+-- Autocmds are automatically loaded on the VeryLazy event
+-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
+-- Add any additional autocmds here
diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua
@@ -0,0 +1,14 @@
+-- Keymaps are automatically loaded on the VeryLazy event
+-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
+-- Add any additional keymaps here
+
+local keymap = vim.keymap -- for conciseness
+
+keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Fuzzy find files in cwd" })
+keymap.set("n", "<leader>fr", "<cmd>Telescope oldfiles<cr>", { desc = "Fuzzy find recent files" })
+keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>", { desc = "Find string in cwd" })
+keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>", { desc = "Find string under cursor in cwd" })
+keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "Find todos" })
+
+keymap.set("n", "<leader>db", "<cmd>DapToggleBreakpoint<cr>", { desc = "Add breakpoint at line" })
+keymap.set("n", "<leader>dr", "<cmd>DapContinue <cr>", { desc = "Start or continue the debugger" })
diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua
@@ -0,0 +1,53 @@
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not (vim.uv or vim.loop).fs_stat(lazypath) then
+ local lazyrepo = "https://github.com/folke/lazy.nvim.git"
+ local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
+ if vim.v.shell_error ~= 0 then
+ vim.api.nvim_echo({
+ { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
+ { out, "WarningMsg" },
+ { "\nPress any key to exit..." },
+ }, true, {})
+ vim.fn.getchar()
+ os.exit(1)
+ end
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+ spec = {
+ -- add LazyVim and import its plugins
+ { "LazyVim/LazyVim", import = "lazyvim.plugins" },
+ -- import/override with your plugins
+ { import = "plugins" },
+ },
+ defaults = {
+ -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
+ -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
+ lazy = false,
+ -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
+ -- have outdated releases, which may break your Neovim install.
+ version = false, -- always use the latest git commit
+ -- version = "*", -- try installing the latest stable version for plugins that support semver
+ },
+ install = { colorscheme = { "gruvbox", "habamax" } },
+ checker = {
+ enabled = true, -- check for plugin updates periodically
+ notify = false, -- notify on update
+ }, -- automatically check for plugin updates
+ performance = {
+ rtp = {
+ -- disable some rtp plugins
+ disabled_plugins = {
+ "gzip",
+ -- "matchit",
+ -- "matchparen",
+ -- "netrwPlugin",
+ "tarPlugin",
+ "tohtml",
+ "tutor",
+ "zipPlugin",
+ },
+ },
+ },
+})
diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua
@@ -0,0 +1,15 @@
+-- Options are automatically loaded before lazy.nvim startup
+-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
+-- Add any additional options here
+
+local opt = vim.opt
+
+-- Set 4-space tabs
+opt.tabstop = 4 -- Number of visual spaces per TAB
+opt.shiftwidth = 4 -- Number of spaces to use for each step of (auto)indent
+opt.expandtab = true -- Convert tabs to spaces
+opt.softtabstop = 4 -- Makes editing feel like 4-space tabs
+
+-- Optionally, enable auto-indentation:
+opt.smartindent = false
+vim.g.autoformat = false
diff --git a/nvim/lua/plugins/alpha.lua b/nvim/lua/plugins/alpha.lua
@@ -0,0 +1,6 @@
+return {
+ "goolord/alpha-nvim",
+ config = function()
+ require("alpha").setup(require("alpha.themes.dashboard").config)
+ end,
+}
diff --git a/nvim/lua/plugins/dap.lua b/nvim/lua/plugins/dap.lua
@@ -0,0 +1,35 @@
+return {}
+-- return {
+-- "rcarriga/nvim-dap-ui",
+-- event = "VeryLazy",
+-- dependencies = "mfussenegger/nvim-dap",
+-- config = function()
+-- local dap = require("dap")
+-- local dapui = require("dapui")
+-- dapui.setup()
+-- dap.listeners.after.event_initialized["dapui_config"] = function()
+-- dapui.open()
+-- end
+-- dap.listeners.before.event_terminated["dapui_config"] = function()
+-- dapui.close()
+-- end
+-- dap.listeners.before.event_exited["dapui_config"] = function()
+-- dapui.close()
+-- end
+-- end,
+-- }, {
+-- "jay-babu/mason-nvim-dap.nvim",
+-- event = "VeryLazy",
+-- dependencies = {
+-- "williamboman/mason.nvim",
+-- "mfussenegger/nvim-dap",
+-- },
+-- opts = {
+-- handlers = {},
+-- },
+-- }, {
+-- "mfussenegger/nvim-dap",
+-- config = function(_, _)
+-- require("core.utils").load_mappings("dap")
+-- end,
+-- }
diff --git a/nvim/lua/plugins/disable.lua b/nvim/lua/plugins/disable.lua
@@ -0,0 +1,4 @@
+return {
+ -- disable trouble
+ { "folke/flash.nvim", enabled = false },
+}
diff --git a/nvim/lua/plugins/example.lua b/nvim/lua/plugins/example.lua
@@ -0,0 +1,190 @@
+-- since this is just an example spec, don't actually load anything here and return an empty spec
+-- stylua: ignore
+if true then return {} end
+
+-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
+--
+-- In your plugin files, you can:
+-- * add extra plugins
+-- * disable/enabled LazyVim plugins
+-- * override the configuration of LazyVim plugins
+return {
+ -- Configure LazyVim to load gruvbox
+ {
+ "LazyVim/LazyVim",
+ opts = {
+ colorscheme = "gruvbox",
+ },
+ },
+
+ -- change trouble config
+ {
+ "folke/trouble.nvim",
+ -- opts will be merged with the parent spec
+ opts = { use_diagnostic_signs = true },
+ },
+
+ -- disable trouble
+ { "folke/trouble.nvim", enabled = false },
+
+ -- override nvim-cmp and add cmp-emoji
+ {
+ "hrsh7th/nvim-cmp",
+ dependencies = { "hrsh7th/cmp-emoji" },
+ ---@param opts cmp.ConfigSchema
+ opts = function(_, opts)
+ table.insert(opts.sources, { name = "emoji" })
+ end,
+ },
+
+ -- change some telescope options and a keymap to browse plugin files
+ {
+ "nvim-telescope/telescope.nvim",
+ keys = {
+ -- add a keymap to browse plugin files
+ -- stylua: ignore
+ {
+ "<leader>fp",
+ function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
+ desc = "Find Plugin File",
+ },
+ },
+ -- change some options
+ opts = {
+ defaults = {
+ layout_strategy = "horizontal",
+ layout_config = { prompt_position = "top" },
+ sorting_strategy = "ascending",
+ --winblend = 0,
+ },
+ },
+ },
+
+ -- add pyright to lspconfig
+ {
+ "neovim/nvim-lspconfig",
+ ---@class PluginLspOpts
+ opts = {
+ ---@type lspconfig.options
+ servers = {
+ -- pyright will be automatically installed with mason and loaded with lspconfig
+ pyright = {},
+ },
+ },
+ },
+
+ -- add tsserver and setup with typescript.nvim instead of lspconfig
+ {
+ "neovim/nvim-lspconfig",
+ dependencies = {
+ "jose-elias-alvarez/typescript.nvim",
+ init = function()
+ require("lazyvim.util").lsp.on_attach(function(_, buffer)
+ -- stylua: ignore
+ vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
+ vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
+ end)
+ end,
+ },
+ ---@class PluginLspOpts
+ opts = {
+ ---@type lspconfig.options
+ servers = {
+ -- tsserver will be automatically installed with mason and loaded with lspconfig
+ tsserver = {},
+ },
+ -- you can do any additional lsp server setup here
+ -- return true if you don't want this server to be setup with lspconfig
+ ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
+ setup = {
+ -- example to setup with typescript.nvim
+ tsserver = function(_, opts)
+ require("typescript").setup({ server = opts })
+ return true
+ end,
+ -- Specify * to use this function as a fallback for any server
+ -- ["*"] = function(server, opts) end,
+ },
+ },
+ },
+
+ -- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
+ -- treesitter, mason and typescript.nvim. So instead of the above, you can use:
+ { import = "lazyvim.plugins.extras.lang.typescript" },
+
+ -- add more treesitter parsers
+ {
+ "nvim-treesitter/nvim-treesitter",
+ opts = {
+ ensure_installed = {
+ "bash",
+ "html",
+ "javascript",
+ "json",
+ "lua",
+ "markdown",
+ "markdown_inline",
+ "python",
+ "query",
+ "regex",
+ "tsx",
+ "typescript",
+ "vim",
+ "yaml",
+ },
+ },
+ },
+
+ -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
+ -- would overwrite `ensure_installed` with the new value.
+ -- If you'd rather extend the default config, use the code below instead:
+ {
+ "nvim-treesitter/nvim-treesitter",
+ opts = function(_, opts)
+ -- add tsx and treesitter
+ vim.list_extend(opts.ensure_installed, {
+ "tsx",
+ "typescript",
+ })
+ end,
+ },
+
+ -- the opts function can also be used to change the default opts:
+ {
+ "nvim-lualine/lualine.nvim",
+ event = "VeryLazy",
+ opts = function(_, opts)
+ table.insert(opts.sections.lualine_x, "😄")
+ end,
+ },
+
+ -- or you can return new options to override all the defaults
+ {
+ "nvim-lualine/lualine.nvim",
+ event = "VeryLazy",
+ opts = function()
+ return {
+ --[[add your custom lualine config here]]
+ }
+ end,
+ },
+
+ -- use mini.starter instead of alpha
+ { import = "lazyvim.plugins.extras.ui.mini-starter" },
+
+ -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
+ { import = "lazyvim.plugins.extras.lang.json" },
+
+ -- add any tools you want to have installed below
+ {
+ "williamboman/mason.nvim",
+ opts = {
+ ensure_installed = {
+ "stylua",
+ "shellcheck",
+ "shfmt",
+ "flake8",
+ },
+ },
+ },
+}
diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua
@@ -0,0 +1,108 @@
+-- Mason setup: Handles the installation of LSP servers, DAP servers, and more.
+require("mason").setup()
+
+-- Mason LSPConfig setup: Ensures installation of required LSP servers.
+require("mason-lspconfig").setup({
+ ensure_installed = {
+ "lua_ls", -- Lua Language Server
+ "pyright", -- Python Language Server
+ "jdtls", -- Java Language Server
+ "marksman", -- Markdown Language Server
+ "clangd", -- C/C++ Language Server (optional, add if you need C/C++)
+ -- "clang-format",
+ -- "codelldb",
+ },
+ automatic_installation = true, -- Automatically install missing servers
+})
+
+-- Require lspconfig for setting up language servers.
+local lspconfig = require("lspconfig")
+
+-- Ensure that mason-lspconfig installs these servers
+local servers = { "lua_ls", "pyright", "jdtls", "marksman", "clangd" }
+
+-- Loop through each server and set up with default configuration
+for _, server in ipairs(servers) do
+ lspconfig[server].setup({
+ -- Common configuration for all servers
+ on_attach = function(client, bufnr)
+ -- Set tab size and expand tab settings for each LSP
+ vim.opt_local.tabstop = 4
+ vim.opt_local.shiftwidth = 4
+ vim.opt_local.expandtab = true
+ end,
+ })
+end
+
+-- Lua Language Server configuration
+lspconfig.lua_ls.setup({
+ settings = {
+ Lua = {
+ diagnostics = {
+ globals = { "vim" }, -- Recognize 'vim' as a global variable for Neovim
+ },
+ workspace = {
+ library = vim.api.nvim_get_runtime_file("", true), -- Automatically detect libraries
+ },
+ telemetry = { enable = false }, -- Disable telemetry data collection by Lua LS
+ },
+ },
+})
+
+-- Pyright for Python
+lspconfig.pyright.setup({
+ settings = {
+ python = {
+ analysis = {
+ typeCheckingMode = "basic", -- You can change this to "strict" or "off" if needed
+ },
+ },
+ },
+})
+
+-- Java Language Server configuration
+lspconfig.jdtls.setup({
+ cmd = { "java-lsp.sh" }, -- Adjust this path if necessary for your system
+ root_dir = lspconfig.util.root_pattern(".git", "mvnw", "gradlew", "pom.xml", "build.gradle"), -- Detect project root
+ settings = {
+ java = {
+ format = {
+ settings = {
+ tabSize = 4,
+ insertSpaces = true, -- Use spaces instead of tabs
+ },
+ enable = true,
+ defaultConfig = {
+ indent_style = "space",
+ indent_size = "4",
+ },
+ },
+ },
+ },
+})
+
+-- Marksman: Markdown Language Server configuration
+lspconfig.marksman.setup({})
+
+-- Clangd Language Server configuration
+lspconfig.clangd.setup({
+ cmd = { "clangd", "--background-index" }, -- Ensure clangd is in your PATH
+ settings = {
+ clangd = {
+ format = {
+ settings = {
+ tabSize = 4,
+ insertSpaces = true, -- Use spaces instead of tabs
+ },
+ enable = true,
+ defaultConfig = {
+ indent_style = "space",
+ indent_size = "4",
+ },
+ },
+ },
+ },
+})
+
+-- Return a valid Lua table (necessary for LazyVim to load the config properly)
+return {}
diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua
@@ -0,0 +1,28 @@
+return {
+ "nvim-lualine/lualine.nvim",
+ dependencies = { "nvim-tree/nvim-web-devicons" },
+ config = function()
+ local lualine = require("lualine")
+ local lazy_status = require("lazy.status") -- to configure lazy pending updates count
+
+ lualine.setup({
+ options = {
+ theme = "tokyonight",
+ section_separators = "",
+ component_separators = "",
+ },
+ sections = {
+ lualine_x = {
+ {
+ lazy_status.updates,
+ cond = lazy_status.has_updates,
+ color = { fg = "#ff9e64" },
+ },
+ { "encoding" },
+ { "fileformat" },
+ { "filetype" },
+ },
+ },
+ })
+ end,
+}
diff --git a/nvim/lua/plugins/null-ls.lua b/nvim/lua/plugins/null-ls.lua
@@ -0,0 +1,13 @@
+return {
+ "jose-elias-alvarez/null-ls.nvim",
+ config = function()
+ local null_ls = require("null-ls")
+ null_ls.setup({
+ sources = {
+ null_ls.builtins.formatting.clang_format.with({
+ extra_args = { "--style", "{IndentWidth: 4}" }, -- Set indent to 4 spaces
+ }),
+ },
+ })
+ end,
+}
diff --git a/nvim/lua/plugins/project.lua b/nvim/lua/plugins/project.lua
@@ -0,0 +1,9 @@
+return {
+ "ahmedkhalf/project.nvim",
+ config = function()
+ require("project_nvim").setup({
+ detection_methods = { "pattern" },
+ patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", ".obsidian" },
+ })
+ end,
+}
diff --git a/nvim/lua/plugins/substitute.lua b/nvim/lua/plugins/substitute.lua
@@ -0,0 +1,17 @@
+return {
+ "gbprod/substitute.nvim",
+ event = { "BufReadPre", "BufNewFile" },
+ config = function()
+ local substitute = require("substitute")
+
+ substitute.setup()
+
+ -- set keymaps
+ local keymap = vim.keymap -- for conciseness
+
+ vim.keymap.set("n", "s", substitute.operator, { desc = "Substitute with motion" })
+ vim.keymap.set("n", "ss", substitute.line, { desc = "Substitute line" })
+ vim.keymap.set("n", "S", substitute.eol, { desc = "Substitute to end of line" })
+ vim.keymap.set("x", "s", substitute.visual, { desc = "Substitute in visual mode" })
+ end,
+}
diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua
@@ -0,0 +1,41 @@
+return {
+ "nvim-telescope/telescope.nvim",
+ branch = "0.1.x",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
+ "nvim-tree/nvim-web-devicons",
+ "folke/todo-comments.nvim",
+ },
+ -- Disable default LazyVim keybindings for Telescope
+ keys = {},
+
+ config = function()
+ local telescope = require("telescope")
+ local actions = require("telescope.actions")
+
+ telescope.setup({
+ defaults = {
+ path_display = { "smart" },
+ mappings = {
+ i = {
+ ["<C-k>"] = actions.move_selection_previous, -- move to prev result
+ ["<C-j>"] = actions.move_selection_next, -- move to next result
+ ["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
+ },
+ },
+ },
+ })
+
+ telescope.load_extension("fzf")
+
+ -- set keymaps
+ local keymap = vim.keymap -- for conciseness
+
+ keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Fuzzy find files in cwd" })
+ keymap.set("n", "<leader>fr", "<cmd>Telescope oldfiles<cr>", { desc = "Fuzzy find recent files" })
+ keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>", { desc = "Find string in cwd" })
+ keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>", { desc = "Find string under cursor in cwd" })
+ keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "Find todos" })
+ end,
+}
diff --git a/nvim/lua/plugins/tetris.lua b/nvim/lua/plugins/tetris.lua
@@ -0,0 +1,4 @@
+return {
+ "alec-gibson/nvim-tetris",
+ lazy = true,
+}
diff --git a/nvim/lua/plugins/todo-comment.lua b/nvim/lua/plugins/todo-comment.lua
@@ -0,0 +1,49 @@
+return {
+ "folke/todo-comments.nvim",
+ dependencies = { "nvim-lua/plenary.nvim" },
+ opts = {
+ keywords = {
+ FIX = {
+ icon = " ", -- icon used for the sign, and in search results
+ color = "error", -- can be a hex color, or a named color (see below)
+ alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
+ -- signs = false, -- configure signs for some keywords individually
+ },
+ TODO = { icon = " ", color = "info" },
+ HACK = { icon = " ", color = "warning" },
+ WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
+ PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
+ NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
+
+ -- FIX: Test
+ -- TODO: Test
+ -- HACK: Test
+ -- WARN: Test
+ -- PERF: Test
+ -- NOTE: Test
+ -- TEST: Test
+
+ HERLEITUNG = { icon = "", color = "#cfcfcf" },
+ UEBEN = { icon = "", color = "warning" },
+ LERNEN = { icon = "", color = "info" },
+ RESEARCH = { icon = "", color = "hint" },
+ ANKI = { icon = "", color = "#9654b0" },
+ WTF = { icon = "", color = "error", alt = { "WARNING", "XXX" } },
+ ARNECKE = { icon = "", color = "#ffa3f1", alt = { "WARNING", "XXX" } },
+
+ -- HERLEITUNG: Test
+ -- UEBEN: Test
+ -- LERNEN: Test
+ -- RESEARCH: Test
+ -- ANKI: Test
+ -- WTF: Test
+ -- ARNECKE: Test
+ },
+
+ highlight = {
+ multiline = true, -- enable multine todo comments
+ comments_only = false, -- uses treesitter to match keywords in comments only
+ max_line_len = 400, -- ignore lines longer than this
+ },
+ },
+}
diff --git a/nvim/lua/plugins/tokyonight.lua b/nvim/lua/plugins/tokyonight.lua
@@ -0,0 +1,13 @@
+return {
+ "folke/tokyonight.nvim",
+ lazy = false, -- Ensure the colorscheme is loaded on startup
+ priority = 1000,
+ config = function()
+ require("tokyonight").setup({
+ style = "moon", -- Available styles: night, storm, day
+ transparent = false, -- No transparency
+ terminal_colors = true, -- Match terminal colors
+ })
+ vim.cmd("colorscheme tokyonight") -- Set the colorscheme
+ end,
+}
diff --git a/nvim/stylua.toml b/nvim/stylua.toml
@@ -0,0 +1 @@
+indent_width = 4
diff --git a/weechat/alias.conf b/weechat/alias.conf
@@ -0,0 +1,49 @@
+#
+# weechat -- alias.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+config_version = 2
+
+[cmd]
+aaway = "allserv /away"
+anick = "allserv /nick"
+beep = "print -beep"
+bye = "quit"
+c = "buffer clear"
+chat = "dcc chat"
+cl = "buffer clear"
+close = "buffer close"
+exit = "quit"
+ig = "ignore"
+j = "join"
+k = "kick"
+kb = "kickban"
+leave = "part"
+m = "msg"
+msgbuf = "command -buffer $1 * /input send $2-"
+mub = "unban *"
+n = "names"
+q = "query"
+redraw = "window refresh"
+say = "msg *"
+signoff = "quit"
+t = "topic"
+ub = "unban"
+umode = "mode $nick"
+v = "command core version"
+w = "who"
+wc = "window close"
+wi = "whois"
+wii = "whois $1 $1"
+wm = "window merge"
+ww = "whowas"
+
+[completion]
+msgbuf = "%(buffers_plugins_names)"
diff --git a/weechat/buflist.conf b/weechat/buflist.conf
@@ -0,0 +1,41 @@
+#
+# weechat -- buflist.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+add_newline = on
+auto_scroll = 50
+display_conditions = "${buffer.hidden}==0"
+enabled = on
+mouse_jump_visited_buffer = off
+mouse_move_buffer = on
+mouse_wheel = on
+nick_prefix = off
+nick_prefix_empty = on
+signals_refresh = ""
+sort = "number,-active"
+use_items = 1
+
+[format]
+buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}"
+buffer_current = "${color:,17}${format_buffer}"
+hotlist = " ${color:green}(${hotlist}${color:green})"
+hotlist_highlight = "${color:magenta}"
+hotlist_low = "${color:white}"
+hotlist_message = "${color:brown}"
+hotlist_none = "${color:default}"
+hotlist_private = "${color:green}"
+hotlist_separator = "${color:default},"
+indent = " "
+lag = " ${color:green}[${color:brown}${lag}${color:green}]"
+name = "${name}"
+nick_prefix = "${color_nick_prefix}${nick_prefix}"
+number = "${color:green}${number}${if:${number_displayed}?.: }"
+tls_version = " ${color:default}(${if:${tls_version}==TLS1.3?${color:green}:${if:${tls_version}==TLS1.2?${color:yellow}:${color:red}}}${translate:${tls_version}}${color:default})"
diff --git a/weechat/charset.conf b/weechat/charset.conf
@@ -0,0 +1,18 @@
+#
+# weechat -- charset.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[default]
+decode = "iso-8859-1"
+encode = ""
+
+[decode]
+
+[encode]
diff --git a/weechat/exec.conf b/weechat/exec.conf
@@ -0,0 +1,19 @@
+#
+# weechat -- exec.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[command]
+default_options = ""
+purge_delay = 0
+shell = "${env:SHELL}"
+
+[color]
+flag_finished = lightred
+flag_running = lightgreen
diff --git a/weechat/fifo.conf b/weechat/fifo.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- fifo.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[file]
+enabled = on
+path = "${weechat_runtime_dir}/weechat_fifo_${info:pid}"
diff --git a/weechat/fset.conf b/weechat/fset.conf
@@ -0,0 +1,100 @@
+#
+# weechat -- fset.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+auto_refresh = "*"
+auto_unmark = off
+condition_catch_set = "${count} >= 1"
+export_help_default = on
+format_number = 1
+marked_string = "*"
+scroll_horizontal = 10
+show_plugins_desc = off
+sort = "~name"
+unmarked_string = " "
+use_color_value = on
+use_keys = on
+use_mute = off
+
+[format]
+export_help = "# ${description2}"
+export_option = "/set ${name} ${quoted_value}"
+export_option_null = "/unset ${name}"
+option1 = ""
+option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:244} -- ${_allowed_values}${newline} ${empty_name} ${_description}"
+
+[color]
+allowed_values = default
+allowed_values_selected = white
+color_name = 246
+color_name_selected = default
+default_value = default
+default_value_selected = white
+description = 242
+description_selected = default
+file = default
+file_changed = brown
+file_changed_selected = yellow
+file_selected = white
+help_default_value = white
+help_description = default
+help_name = white
+help_quotes = darkgray
+help_values = default
+index = cyan
+index_selected = lightcyan
+line_marked_bg1 = 17
+line_marked_bg2 = 17
+line_selected_bg1 = 24
+line_selected_bg2 = 24
+marked = brown
+marked_selected = yellow
+max = default
+max_selected = white
+min = default
+min_selected = white
+name = default
+name_changed = 185
+name_changed_selected = yellow
+name_selected = white
+option = default
+option_changed = brown
+option_changed_selected = yellow
+option_selected = white
+parent_name = default
+parent_name_selected = white
+parent_value = cyan
+parent_value_selected = lightcyan
+quotes = darkgray
+quotes_changed = default
+quotes_changed_selected = white
+quotes_selected = default
+section = default
+section_changed = brown
+section_changed_selected = yellow
+section_selected = white
+string_values = default
+string_values_selected = white
+title_count_options = cyan
+title_current_option = lightcyan
+title_filter = yellow
+title_marked_options = lightgreen
+title_sort = white
+type = 138
+type_selected = 216
+unmarked = default
+unmarked_selected = white
+value = 38
+value_changed = 185
+value_changed_selected = yellow
+value_selected = 159
+value_undef = magenta
+value_undef_selected = lightmagenta
diff --git a/weechat/irc.conf b/weechat/irc.conf
@@ -0,0 +1,329 @@
+#
+# weechat -- irc.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+config_version = 5
+
+[look]
+buffer_open_before_autojoin = on
+buffer_open_before_join = off
+buffer_switch_autojoin = on
+buffer_switch_join = on
+color_nicks_in_names = off
+color_nicks_in_nicklist = off
+color_nicks_in_server_messages = on
+color_pv_nick_like_channel = on
+ctcp_time_format = "%a, %d %b %Y %T %z"
+display_account_message = on
+display_away = local
+display_ctcp_blocked = on
+display_ctcp_reply = on
+display_ctcp_unknown = on
+display_extended_join = on
+display_host_join = on
+display_host_join_local = on
+display_host_notice = on
+display_host_quit = on
+display_host_wallops = on
+display_join_message = "329,332,333,366"
+display_old_topic = on
+display_pv_away_once = on
+display_pv_back = on
+display_pv_nick_change = on
+display_pv_warning_address = off
+highlight_channel = "$nick"
+highlight_pv = "$nick"
+highlight_server = "$nick"
+highlight_tags_restrict = "irc_privmsg,irc_notice"
+ignore_tag_messages = off
+item_channel_modes_hide_args = "k"
+item_display_server = buffer_plugin
+item_nick_modes = on
+item_nick_prefix = on
+join_auto_add_chantype = off
+list_buffer = on
+list_buffer_format_export = "${name} (${users}): "${topic}""
+list_buffer_scroll_horizontal = 10
+list_buffer_sort = "~name2"
+list_buffer_topic_strip_colors = on
+msgbuffer_fallback = current
+new_channel_position = none
+new_list_position = none
+new_pv_position = none
+nick_completion_smart = speakers
+nick_mode = prefix
+nick_mode_empty = off
+nicks_hide_password = "nickserv"
+notice_as_pv = auto
+notice_welcome_redirect = on
+notice_welcome_tags = ""
+notify_tags_ison = "notify_message"
+notify_tags_whois = "notify_message"
+open_pv_buffer_echo_msg = on
+part_closes_buffer = off
+pv_buffer = independent
+pv_tags = "notify_private"
+raw_messages = 256
+server_buffer = merge_with_core
+smart_filter = on
+smart_filter_account = on
+smart_filter_chghost = on
+smart_filter_delay = 5
+smart_filter_join = on
+smart_filter_join_unmask = 30
+smart_filter_mode = "+"
+smart_filter_nick = on
+smart_filter_quit = on
+smart_filter_setname = on
+temporary_servers = off
+topic_strip_colors = off
+typing_status_nicks = off
+typing_status_self = off
+
+[color]
+input_nick = lightcyan
+item_lag_counting = default
+item_lag_finished = yellow
+item_nick_modes = default
+item_tls_version_deprecated = yellow
+item_tls_version_insecure = red
+item_tls_version_ok = green
+list_buffer_line_selected = white
+list_buffer_line_selected_bg = 24
+message_account = cyan
+message_chghost = brown
+message_join = green
+message_kick = red
+message_quit = red
+message_setname = brown
+mirc_remap = "1,-1:darkgray"
+nick_prefixes = "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
+notice = green
+reason_kick = default
+reason_quit = 244
+term_remap = "0,-1:darkgray"
+topic_current = default
+topic_new = 36
+topic_old = 244
+
+[network]
+autoreconnect_delay_growing = 2
+autoreconnect_delay_max = 600
+ban_mask_default = "*!$ident@$host"
+colors_receive = on
+colors_send = on
+lag_check = 60
+lag_max = 1800
+lag_min_show = 500
+lag_reconnect = 300
+lag_refresh_interval = 1
+notify_check_ison = 1
+notify_check_whois = 5
+sasl_fail_unavailable = on
+send_unknown_commands = off
+whois_double_nick = off
+
+[msgbuffer]
+
+[ctcp]
+clientinfo = "${clientinfo}"
+source = "${download}"
+time = "${time}"
+version = "WeeChat ${version}"
+
+[ignore]
+
+[server_default]
+addresses = ""
+anti_flood = 2000
+autoconnect = off
+autojoin = ""
+autojoin_delay = 0
+autojoin_dynamic = off
+autoreconnect = on
+autoreconnect_delay = 10
+autorejoin = off
+autorejoin_delay = 30
+away_check = 0
+away_check_max_nicks = 25
+capabilities = "*"
+charset_message = message
+command = ""
+command_delay = 0
+connection_timeout = 60
+default_chantypes = "#&"
+ipv6 = auto
+local_hostname = ""
+msg_kick = ""
+msg_part = "WeeChat ${info:version}"
+msg_quit = "WeeChat ${info:version}"
+nicks = "${username},${username}2,${username}3,${username}4,${username}5"
+nicks_alternate = on
+notify = ""
+password = ""
+proxy = ""
+realname = ""
+registered_mode = "r"
+sasl_fail = reconnect
+sasl_key = ""
+sasl_mechanism = plain
+sasl_password = ""
+sasl_timeout = 15
+sasl_username = ""
+split_msg_max_length = 512
+tls = on
+tls_cert = ""
+tls_dhkey_size = 2048
+tls_fingerprint = ""
+tls_password = ""
+tls_priorities = "NORMAL"
+tls_verify = on
+usermode = ""
+username = "${username}"
+
+[server]
+void-mini-irc.addresses = "192.168.10.56/6667"
+void-mini-irc.proxy
+void-mini-irc.ipv6
+void-mini-irc.tls
+void-mini-irc.tls_cert
+void-mini-irc.tls_password
+void-mini-irc.tls_priorities
+void-mini-irc.tls_dhkey_size
+void-mini-irc.tls_fingerprint
+void-mini-irc.tls_verify
+void-mini-irc.password
+void-mini-irc.capabilities
+void-mini-irc.sasl_mechanism
+void-mini-irc.sasl_username
+void-mini-irc.sasl_password
+void-mini-irc.sasl_key
+void-mini-irc.sasl_timeout
+void-mini-irc.sasl_fail
+void-mini-irc.autoconnect
+void-mini-irc.autoreconnect
+void-mini-irc.autoreconnect_delay
+void-mini-irc.nicks
+void-mini-irc.nicks_alternate
+void-mini-irc.username
+void-mini-irc.realname
+void-mini-irc.local_hostname
+void-mini-irc.usermode
+void-mini-irc.command_delay
+void-mini-irc.command
+void-mini-irc.autojoin_delay
+void-mini-irc.autojoin
+void-mini-irc.autojoin_dynamic
+void-mini-irc.autorejoin
+void-mini-irc.autorejoin_delay
+void-mini-irc.connection_timeout
+void-mini-irc.anti_flood
+void-mini-irc.away_check
+void-mini-irc.away_check_max_nicks
+void-mini-irc.msg_kick
+void-mini-irc.msg_part
+void-mini-irc.msg_quit
+void-mini-irc.notify
+void-mini-irc.split_msg_max_length
+void-mini-irc.charset_message
+void-mini-irc.default_chantypes
+void-mini-irc.registered_mode
+belwue.addresses = "irc.belwue.de/6667"
+belwue.proxy
+belwue.ipv6
+belwue.tls
+belwue.tls_cert
+belwue.tls_password
+belwue.tls_priorities
+belwue.tls_dhkey_size
+belwue.tls_fingerprint
+belwue.tls_verify
+belwue.password
+belwue.capabilities
+belwue.sasl_mechanism
+belwue.sasl_username
+belwue.sasl_password
+belwue.sasl_key
+belwue.sasl_timeout
+belwue.sasl_fail
+belwue.autoconnect
+belwue.autoreconnect
+belwue.autoreconnect_delay
+belwue.nicks = "haydn55"
+belwue.nicks_alternate
+belwue.username
+belwue.realname
+belwue.local_hostname
+belwue.usermode
+belwue.command_delay
+belwue.command
+belwue.autojoin_delay
+belwue.autojoin
+belwue.autojoin_dynamic
+belwue.autorejoin
+belwue.autorejoin_delay
+belwue.connection_timeout
+belwue.anti_flood
+belwue.away_check
+belwue.away_check_max_nicks
+belwue.msg_kick
+belwue.msg_part
+belwue.msg_quit
+belwue.notify
+belwue.split_msg_max_length
+belwue.charset_message
+belwue.default_chantypes
+belwue.registered_mode
+belwuessl.addresses = "irc.belwue.de/6697"
+belwuessl.proxy
+belwuessl.ipv6
+belwuessl.tls
+belwuessl.tls_cert
+belwuessl.tls_password
+belwuessl.tls_priorities
+belwuessl.tls_dhkey_size
+belwuessl.tls_fingerprint
+belwuessl.tls_verify
+belwuessl.password
+belwuessl.capabilities
+belwuessl.sasl_mechanism
+belwuessl.sasl_username
+belwuessl.sasl_password
+belwuessl.sasl_key
+belwuessl.sasl_timeout
+belwuessl.sasl_fail
+belwuessl.autoconnect
+belwuessl.autoreconnect
+belwuessl.autoreconnect_delay
+belwuessl.nicks
+belwuessl.nicks_alternate
+belwuessl.username
+belwuessl.realname
+belwuessl.local_hostname
+belwuessl.usermode
+belwuessl.command_delay
+belwuessl.command
+belwuessl.autojoin_delay
+belwuessl.autojoin
+belwuessl.autojoin_dynamic
+belwuessl.autorejoin
+belwuessl.autorejoin_delay
+belwuessl.connection_timeout
+belwuessl.anti_flood
+belwuessl.away_check
+belwuessl.away_check_max_nicks
+belwuessl.msg_kick
+belwuessl.msg_part
+belwuessl.msg_quit
+belwuessl.notify
+belwuessl.split_msg_max_length
+belwuessl.charset_message
+belwuessl.default_chantypes
+belwuessl.registered_mode
diff --git a/weechat/logger.conf b/weechat/logger.conf
@@ -0,0 +1,40 @@
+#
+# weechat -- logger.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+backlog = 20
+backlog_conditions = ""
+
+[color]
+backlog_end = 246
+backlog_line = 246
+
+[file]
+auto_log = on
+color_lines = off
+flush_delay = 120
+fsync = off
+info_lines = off
+log_conditions = ""
+mask = "$plugin.$name.weechatlog"
+name_lower_case = on
+nick_prefix = ""
+nick_suffix = ""
+path = "${weechat_data_dir}/logs"
+replacement_char = "_"
+rotation_compression_level = 20
+rotation_compression_type = none
+rotation_size_max = "0"
+time_format = "%Y-%m-%d %H:%M:%S"
+
+[level]
+
+[mask]
diff --git a/weechat/lua.conf b/weechat/lua.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- lua.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+check_license = off
+eval_keep_context = on
diff --git a/weechat/perl.conf b/weechat/perl.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- perl.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+check_license = off
+eval_keep_context = on
diff --git a/weechat/plugins.conf b/weechat/plugins.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- plugins.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[var]
+
+[desc]
diff --git a/weechat/python.conf b/weechat/python.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- python.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+check_license = off
+eval_keep_context = on
diff --git a/weechat/relay.conf b/weechat/relay.conf
@@ -0,0 +1,70 @@
+#
+# weechat -- relay.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+config_version = 2
+
+[look]
+auto_open_buffer = "irc,weechat"
+display_clients = "irc,weechat"
+raw_messages = 256
+raw_messages_max_length = 4096
+
+[color]
+client = cyan
+status_active = green
+status_auth_failed = lightmagenta
+status_authenticating = yellow
+status_connecting = white
+status_disconnected = lightred
+text = default
+text_bg = default
+text_selected = white
+
+[network]
+allow_empty_password = off
+allowed_ips = ""
+auth_timeout = 60
+bind_address = ""
+clients_purge_delay = 0
+commands = "*,!quit"
+compression = 20
+ipv6 = on
+max_clients = 5
+nonce_size = 16
+password = ""
+password_hash_algo = "*"
+password_hash_iterations = 100000
+time_window = 5
+tls_cert_key = "${weechat_config_dir}/tls/relay.pem"
+tls_priorities = "NORMAL"
+totp_secret = ""
+totp_window = 0
+websocket_allowed_origins = ""
+websocket_permessage_deflate = on
+
+[irc]
+backlog_max_minutes = 0
+backlog_max_number = 1024
+backlog_since_last_disconnect = on
+backlog_since_last_message = off
+backlog_tags = "irc_privmsg"
+backlog_time_format = "[%H:%M] "
+
+[api]
+remote_autoreconnect_delay_growing = 2
+remote_autoreconnect_delay_max = 600
+remote_get_lines = 1000
+
+[port]
+
+[path]
+
+[remote]
diff --git a/weechat/ruby.conf b/weechat/ruby.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- ruby.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+check_license = off
+eval_keep_context = on
diff --git a/weechat/script.conf b/weechat/script.conf
@@ -0,0 +1,57 @@
+#
+# weechat -- script.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+columns = "%s %n %V %v %u | %d | %t"
+diff_color = on
+diff_command = "auto"
+display_source = on
+quiet_actions = on
+sort = "i,p,n"
+translate_description = on
+use_keys = on
+
+[color]
+status_autoloaded = 39
+status_held = white
+status_installed = lightcyan
+status_obsolete = lightmagenta
+status_popular = yellow
+status_running = lightgreen
+status_unknown = lightred
+text = default
+text_bg = default
+text_bg_selected = 24
+text_date = 65
+text_date_selected = 50
+text_delimiters = 240
+text_description = 249
+text_description_selected = white
+text_extension = 242
+text_extension_selected = 248
+text_name = 73
+text_name_selected = 51
+text_selected = white
+text_tags = brown
+text_tags_selected = yellow
+text_version = 100
+text_version_loaded = 246
+text_version_loaded_selected = white
+text_version_selected = 228
+
+[scripts]
+autoload = on
+cache_expire = 1440
+download_enabled = off
+download_timeout = 30
+hold = ""
+path = "${weechat_cache_dir}/script"
+url = "https://weechat.org/files/plugins.xml.gz"
diff --git a/weechat/sec.conf b/weechat/sec.conf
@@ -0,0 +1,18 @@
+#
+# weechat -- sec.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[crypt]
+cipher = aes256
+hash_algo = sha256
+passphrase_command = ""
+salt = on
+
+[data]
diff --git a/weechat/spell.conf b/weechat/spell.conf
@@ -0,0 +1,33 @@
+#
+# weechat -- spell.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[color]
+misspelled = lightred
+suggestion = default
+suggestion_delimiter_dict = cyan
+suggestion_delimiter_word = cyan
+
+[check]
+commands = "away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
+default_dict = ""
+during_search = off
+enabled = off
+real_time = off
+suggestions = -1
+word_min_length = 2
+
+[dict]
+
+[look]
+suggestion_delimiter_dict = " / "
+suggestion_delimiter_word = ","
+
+[option]
diff --git a/weechat/tcl.conf b/weechat/tcl.conf
@@ -0,0 +1,14 @@
+#
+# weechat -- tcl.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+check_license = off
+eval_keep_context = on
diff --git a/weechat/trigger.conf b/weechat/trigger.conf
@@ -0,0 +1,66 @@
+#
+# weechat -- trigger.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+enabled = on
+monitor_strip_colors = off
+
+[color]
+flag_command = lightgreen
+flag_conditions = yellow
+flag_post_action = lightblue
+flag_regex = lightcyan
+flag_return_code = lightmagenta
+identifier = cyan
+regex = white
+replace = cyan
+
+[trigger]
+beep.arguments = ""
+beep.command = "/print -beep"
+beep.conditions = "${tg_displayed} && ${tg_tags} !!- ,notify_none, && (${tg_highlight} || ${tg_msg_pv}) && ${buffer.notify} > 0"
+beep.enabled = on
+beep.hook = print
+beep.post_action = none
+beep.regex = ""
+beep.return_code = ok
+cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
+cmd_pass.command = ""
+cmd_pass.conditions = ""
+cmd_pass.enabled = on
+cmd_pass.hook = modifier
+cmd_pass.post_action = none
+cmd_pass.regex = "s==^((/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +(id|identify|set +password|ghost +[^ \n]+|release +[^ \n]+|regain +[^ \n]+|recover +[^ \n]+|setpass +[^ \n]+) +)|/oper +[^ \n]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ \n]+) +)([^\n]*)==${re:1}${hide:*,${re:+}}"
+cmd_pass.return_code = ok
+cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
+cmd_pass_register.command = ""
+cmd_pass_register.conditions = ""
+cmd_pass_register.enabled = on
+cmd_pass_register.hook = modifier
+cmd_pass_register.post_action = none
+cmd_pass_register.regex = "s==^(/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +register +)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
+cmd_pass_register.return_code = ok
+msg_auth.arguments = "5000|irc_message_auth"
+msg_auth.command = ""
+msg_auth.conditions = ""
+msg_auth.enabled = on
+msg_auth.hook = modifier
+msg_auth.post_action = none
+msg_auth.regex = "s==^(.*(id|identify|set +password|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
+msg_auth.return_code = ok
+server_pass.arguments = "5000|input_text_display;5000|history_add"
+server_pass.command = ""
+server_pass.conditions = ""
+server_pass.enabled = on
+server_pass.hook = modifier
+server_pass.post_action = none
+server_pass.regex = "s==^(/(server|connect) [^\n]*-(sasl_)?password=)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
+server_pass.return_code = ok
diff --git a/weechat/typing.conf b/weechat/typing.conf
@@ -0,0 +1,19 @@
+#
+# weechat -- typing.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+delay_purge_paused = 30
+delay_purge_typing = 6
+delay_set_paused = 10
+enabled_nicks = off
+enabled_self = off
+input_min_chars = 4
+item_max_length = 0
diff --git a/weechat/weechat.conf b/weechat/weechat.conf
@@ -0,0 +1,694 @@
+#
+# weechat -- weechat.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+config_version = 4
+
+[debug]
+
+[startup]
+command_after_plugins = ""
+command_before_plugins = ""
+display_logo = on
+display_version = on
+sys_rlimit = ""
+
+[look]
+align_end_of_lines = message
+align_multiline_words = on
+bar_more_down = "++"
+bar_more_left = "<<"
+bar_more_right = ">>"
+bar_more_up = "--"
+bare_display_exit_on_input = on
+bare_display_time_format = "%H:%M"
+buffer_auto_renumber = on
+buffer_notify_default = all
+buffer_position = end
+buffer_search_case_sensitive = off
+buffer_search_force_default = off
+buffer_search_history = local
+buffer_search_regex = off
+buffer_search_where = prefix_message
+buffer_time_format = "%H:%M:%S"
+buffer_time_same = ""
+chat_space_right = off
+color_basic_force_bold = off
+color_inactive_buffer = on
+color_inactive_message = on
+color_inactive_prefix = on
+color_inactive_prefix_buffer = on
+color_inactive_time = on
+color_inactive_window = on
+color_nick_offline = off
+color_pairs_auto_reset = 5
+color_real_white = off
+command_chars = ""
+command_incomplete = off
+config_permissions = "600"
+confirm_quit = off
+confirm_upgrade = off
+day_change = on
+day_change_message_1date = "-- %a, %d %b %Y --"
+day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
+eat_newline_glitch = off
+emphasized_attributes = ""
+highlight = ""
+highlight_disable_regex = ""
+highlight_prefix = on
+highlight_regex = ""
+highlight_tags = ""
+hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"
+hotlist_buffer_separator = ", "
+hotlist_count_max = 2
+hotlist_count_min_msg = 2
+hotlist_names_count = 3
+hotlist_names_length = 0
+hotlist_names_level = 12
+hotlist_names_merged_buffers = off
+hotlist_prefix = "H: "
+hotlist_remove = merged
+hotlist_short_names = on
+hotlist_sort = "-priority,time,time_usec"
+hotlist_suffix = ""
+hotlist_unique_numbers = on
+hotlist_update_on_buffer_switch = on
+input_cursor_scroll = 20
+input_multiline_lead_linebreak = on
+input_share = none
+input_share_overwrite = off
+input_undo_max = 32
+item_away_message = on
+item_buffer_filter = "*"
+item_buffer_zoom = "!"
+item_mouse_status = "M"
+item_time_format = "%H:%M"
+jump_current_to_previous_buffer = on
+jump_previous_buffer_when_closing = on
+jump_smart_back_to_buffer = on
+key_bind_safe = on
+key_grab_delay = 800
+mouse = off
+nick_color_force = ""
+nick_color_hash = djb2
+nick_color_hash_salt = ""
+nick_color_stop_chars = "_|["
+nick_prefix = ""
+nick_suffix = ""
+paste_bracketed = on
+paste_bracketed_timer_delay = 10
+paste_max_lines = 100
+prefix_action = " *"
+prefix_align = right
+prefix_align_max = 0
+prefix_align_min = 0
+prefix_align_more = "+"
+prefix_align_more_after = on
+prefix_buffer_align = right
+prefix_buffer_align_max = 0
+prefix_buffer_align_more = "+"
+prefix_buffer_align_more_after = on
+prefix_error = "=!="
+prefix_join = "-->"
+prefix_network = "--"
+prefix_quit = "<--"
+prefix_same_nick = ""
+prefix_same_nick_middle = ""
+prefix_suffix = "│"
+quote_nick_prefix = "<"
+quote_nick_suffix = ">"
+quote_time_format = "%H:%M:%S"
+read_marker = line
+read_marker_always_show = off
+read_marker_string = "- "
+read_marker_update_on_buffer_switch = on
+save_config_on_exit = on
+save_config_with_fsync = off
+save_layout_on_exit = none
+scroll_amount = 3
+scroll_bottom_after_switch = off
+scroll_page_percent = 100
+search_text_not_found_alert = on
+separator_horizontal = "-"
+separator_vertical = ""
+tab_width = 1
+time_format = "%a, %d %b %Y %T"
+window_auto_zoom = off
+window_separator_horizontal = on
+window_separator_vertical = on
+window_title = ""
+word_chars_highlight = "!\u00A0,-,_,|,alnum"
+word_chars_input = "!\u00A0,-,_,|,alnum"
+
+[palette]
+
+[color]
+bar_more = lightmagenta
+chat = default
+chat_bg = default
+chat_buffer = white
+chat_channel = white
+chat_day_change = cyan
+chat_delimiters = 22
+chat_highlight = yellow
+chat_highlight_bg = 124
+chat_host = cyan
+chat_inactive_buffer = default
+chat_inactive_window = 240
+chat_nick = lightcyan
+chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightmagenta,lightgreen,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,248"
+chat_nick_offline = 242
+chat_nick_offline_highlight = default
+chat_nick_offline_highlight_bg = 17
+chat_nick_other = cyan
+chat_nick_prefix = green
+chat_nick_self = white
+chat_nick_suffix = green
+chat_prefix_action = white
+chat_prefix_buffer = 180
+chat_prefix_buffer_inactive_buffer = default
+chat_prefix_error = yellow
+chat_prefix_join = lightgreen
+chat_prefix_more = lightmagenta
+chat_prefix_network = magenta
+chat_prefix_quit = lightred
+chat_prefix_suffix = 24
+chat_read_marker = magenta
+chat_read_marker_bg = default
+chat_server = brown
+chat_status_disabled = red
+chat_status_enabled = green
+chat_tags = red
+chat_text_found = yellow
+chat_text_found_bg = lightmagenta
+chat_time = default
+chat_time_delimiters = brown
+chat_value = cyan
+chat_value_null = blue
+emphasized = yellow
+emphasized_bg = 54
+eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan"
+input_actions = lightgreen
+input_text_not_found = red
+item_away = yellow
+nicklist_away = 240
+nicklist_group = green
+separator = 236
+status_count_highlight = magenta
+status_count_msg = brown
+status_count_other = default
+status_count_private = green
+status_data_highlight = lightmagenta
+status_data_msg = yellow
+status_data_other = default
+status_data_private = lightgreen
+status_filter = green
+status_modes = default
+status_more = yellow
+status_mouse = lightgreen
+status_name = white
+status_name_insecure = lightmagenta
+status_name_tls = white
+status_nicklist_count = default
+status_number = yellow
+status_time = default
+
+[completion]
+base_word_until_cursor = on
+case_sensitive = on
+command_inline = on
+default_template = "%(nicks)|%(irc_channels)"
+nick_add_space = on
+nick_case_sensitive = off
+nick_completer = ": "
+nick_first_only = off
+nick_ignore_chars = "[]`_-^"
+partial_completion_alert = on
+partial_completion_command = off
+partial_completion_command_arg = off
+partial_completion_count = on
+partial_completion_other = off
+partial_completion_templates = "config_options"
+
+[history]
+display_default = 5
+max_buffer_lines_minutes = 0
+max_buffer_lines_number = 4096
+max_commands = 100
+max_visited_buffers = 50
+
+[proxy]
+
+[network]
+connection_timeout = 60
+gnutls_ca_system = on
+gnutls_ca_user = ""
+gnutls_handshake_timeout = 30
+proxy_curl = ""
+
+[plugin]
+autoload = "*"
+extension = ".so,.dll"
+path = "${weechat_data_dir}/plugins"
+save_config_on_unload = on
+
+[signal]
+sighup = "${if:${info:weechat_headless}?/reload:/quit -yes}"
+sigquit = "/quit -yes"
+sigterm = "/quit -yes"
+sigusr1 = ""
+sigusr2 = ""
+
+[bar]
+buflist.color_bg = default
+buflist.color_bg_inactive = default
+buflist.color_delim = default
+buflist.color_fg = default
+buflist.conditions = ""
+buflist.filling_left_right = vertical
+buflist.filling_top_bottom = columns_vertical
+buflist.hidden = off
+buflist.items = "buflist"
+buflist.position = left
+buflist.priority = 0
+buflist.separator = on
+buflist.size = 0
+buflist.size_max = 0
+buflist.type = root
+fset.color_bg = default
+fset.color_bg_inactive = default
+fset.color_delim = cyan
+fset.color_fg = default
+fset.conditions = "${buffer.full_name} == fset.fset"
+fset.filling_left_right = vertical
+fset.filling_top_bottom = horizontal
+fset.hidden = off
+fset.items = "fset"
+fset.position = top
+fset.priority = 0
+fset.separator = on
+fset.size = 3
+fset.size_max = 3
+fset.type = window
+input.color_bg = default
+input.color_bg_inactive = default
+input.color_delim = cyan
+input.color_fg = default
+input.conditions = ""
+input.filling_left_right = vertical
+input.filling_top_bottom = horizontal
+input.hidden = off
+input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text"
+input.position = bottom
+input.priority = 1000
+input.separator = off
+input.size = 0
+input.size_max = 0
+input.type = window
+nicklist.color_bg = default
+nicklist.color_bg_inactive = default
+nicklist.color_delim = cyan
+nicklist.color_fg = default
+nicklist.conditions = "${nicklist}"
+nicklist.filling_left_right = vertical
+nicklist.filling_top_bottom = columns_vertical
+nicklist.hidden = off
+nicklist.items = "buffer_nicklist"
+nicklist.position = right
+nicklist.priority = 200
+nicklist.separator = on
+nicklist.size = 0
+nicklist.size_max = 0
+nicklist.type = window
+status.color_bg = 234
+status.color_bg_inactive = 232
+status.color_delim = cyan
+status.color_fg = default
+status.conditions = ""
+status.filling_left_right = vertical
+status.filling_top_bottom = horizontal
+status.hidden = off
+status.items = "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,mouse_status,scroll,[lag],[hotlist],[typing],completion"
+status.position = bottom
+status.priority = 500
+status.separator = off
+status.size = 1
+status.size_max = 0
+status.type = window
+title.color_bg = 234
+title.color_bg_inactive = 232
+title.color_delim = cyan
+title.color_fg = default
+title.conditions = ""
+title.filling_left_right = vertical
+title.filling_top_bottom = horizontal
+title.hidden = off
+title.items = "buffer_title"
+title.position = top
+title.priority = 500
+title.separator = off
+title.size = 1
+title.size_max = 0
+title.type = window
+
+[custom_bar_item]
+
+[layout]
+
+[buffer]
+
+[notify]
+
+[filter]
+
+[key]
+backspace = "/input delete_previous_char"
+ctrl-_ = "/input undo"
+ctrl-a = "/input move_beginning_of_line"
+ctrl-b = "/input move_previous_char"
+ctrl-c,_ = "/input insert \x1F"
+ctrl-c,b = "/input insert \x02"
+ctrl-c,c = "/input insert \x03"
+ctrl-c,d = "/input insert \x04"
+ctrl-c,i = "/input insert \x1D"
+ctrl-c,o = "/input insert \x0F"
+ctrl-c,v = "/input insert \x16"
+ctrl-d = "/input delete_next_char"
+ctrl-down = "/input history_global_next"
+ctrl-e = "/input move_end_of_line"
+ctrl-f = "/input move_next_char"
+ctrl-f1 = "/bar scroll buflist * -100%"
+ctrl-f11 = "/bar scroll nicklist * -100%"
+ctrl-f12 = "/bar scroll nicklist * +100%"
+ctrl-f2 = "/bar scroll buflist * +100%"
+ctrl-k = "/input delete_end_of_line"
+ctrl-l = "/window refresh"
+ctrl-left = "/input move_previous_word"
+ctrl-n = "/buffer +1"
+ctrl-o = "/input history_use_get_next"
+ctrl-p = "/buffer -1"
+ctrl-r = "/input search_history"
+ctrl-right = "/input move_next_word"
+ctrl-s = "/input search_text_here"
+ctrl-t = "/input transpose_chars"
+ctrl-u = "/input delete_beginning_of_line"
+ctrl-up = "/input history_global_previous"
+ctrl-w = "/input delete_previous_word_whitespace"
+ctrl-x = "/buffer switch"
+ctrl-y = "/input clipboard_paste"
+ctrl-z = "/sys suspend"
+delete = "/input delete_next_char"
+down = "/input history_next"
+end = "/input move_end_of_line"
+f1 = "/bar scroll buflist * -100%"
+f10 = "/bar scroll title * +30%"
+f11 = "/bar scroll nicklist * -100%"
+f12 = "/bar scroll nicklist * +100%"
+f2 = "/bar scroll buflist * +100%"
+f5 = "/buffer -1"
+f6 = "/buffer +1"
+f7 = "/window -1"
+f8 = "/window +1"
+f9 = "/bar scroll title * -30%"
+home = "/input move_beginning_of_line"
+left = "/input move_previous_char"
+meta-- = "/filter toggle @"
+meta-/ = "/buffer jump last_displayed"
+meta-0 = "/buffer *10"
+meta-1 = "/buffer *1"
+meta-2 = "/buffer *2"
+meta-3 = "/buffer *3"
+meta-4 = "/buffer *4"
+meta-5 = "/buffer *5"
+meta-6 = "/buffer *6"
+meta-7 = "/buffer *7"
+meta-8 = "/buffer *8"
+meta-9 = "/buffer *9"
+meta-< = "/buffer jump prev_visited"
+meta-= = "/filter toggle"
+meta-> = "/buffer jump next_visited"
+meta-B = "/buflist toggle"
+meta-N = "/bar toggle nicklist"
+meta-R = "/input delete_input"
+meta-U = "/allbuf /buffer set unread"
+meta-_ = "/input redo"
+meta-a = "/buffer jump smart"
+meta-b = "/input move_previous_word"
+meta-backspace = "/input delete_previous_word"
+meta-ctrl-k = "/input delete_end_of_input"
+meta-ctrl-u = "/input delete_beginning_of_input"
+meta-d = "/input delete_next_word"
+meta-down = "/buffer +1"
+meta-end = "/window scroll_bottom"
+meta-f = "/input move_next_word"
+meta-f1 = "/bar scroll buflist * b"
+meta-f11 = "/bar scroll nicklist * b"
+meta-f12 = "/bar scroll nicklist * e"
+meta-f2 = "/bar scroll buflist * e"
+meta-h,meta-R = "/hotlist restore -all"
+meta-h,meta-c = "/hotlist clear"
+meta-h,meta-m = "/hotlist remove"
+meta-h,meta-r = "/hotlist restore"
+meta-home = "/window scroll_top"
+meta-j,0,1 = "/buffer *1"
+meta-j,0,2 = "/buffer *2"
+meta-j,0,3 = "/buffer *3"
+meta-j,0,4 = "/buffer *4"
+meta-j,0,5 = "/buffer *5"
+meta-j,0,6 = "/buffer *6"
+meta-j,0,7 = "/buffer *7"
+meta-j,0,8 = "/buffer *8"
+meta-j,0,9 = "/buffer *9"
+meta-j,1,0 = "/buffer *10"
+meta-j,1,1 = "/buffer *11"
+meta-j,1,2 = "/buffer *12"
+meta-j,1,3 = "/buffer *13"
+meta-j,1,4 = "/buffer *14"
+meta-j,1,5 = "/buffer *15"
+meta-j,1,6 = "/buffer *16"
+meta-j,1,7 = "/buffer *17"
+meta-j,1,8 = "/buffer *18"
+meta-j,1,9 = "/buffer *19"
+meta-j,2,0 = "/buffer *20"
+meta-j,2,1 = "/buffer *21"
+meta-j,2,2 = "/buffer *22"
+meta-j,2,3 = "/buffer *23"
+meta-j,2,4 = "/buffer *24"
+meta-j,2,5 = "/buffer *25"
+meta-j,2,6 = "/buffer *26"
+meta-j,2,7 = "/buffer *27"
+meta-j,2,8 = "/buffer *28"
+meta-j,2,9 = "/buffer *29"
+meta-j,3,0 = "/buffer *30"
+meta-j,3,1 = "/buffer *31"
+meta-j,3,2 = "/buffer *32"
+meta-j,3,3 = "/buffer *33"
+meta-j,3,4 = "/buffer *34"
+meta-j,3,5 = "/buffer *35"
+meta-j,3,6 = "/buffer *36"
+meta-j,3,7 = "/buffer *37"
+meta-j,3,8 = "/buffer *38"
+meta-j,3,9 = "/buffer *39"
+meta-j,4,0 = "/buffer *40"
+meta-j,4,1 = "/buffer *41"
+meta-j,4,2 = "/buffer *42"
+meta-j,4,3 = "/buffer *43"
+meta-j,4,4 = "/buffer *44"
+meta-j,4,5 = "/buffer *45"
+meta-j,4,6 = "/buffer *46"
+meta-j,4,7 = "/buffer *47"
+meta-j,4,8 = "/buffer *48"
+meta-j,4,9 = "/buffer *49"
+meta-j,5,0 = "/buffer *50"
+meta-j,5,1 = "/buffer *51"
+meta-j,5,2 = "/buffer *52"
+meta-j,5,3 = "/buffer *53"
+meta-j,5,4 = "/buffer *54"
+meta-j,5,5 = "/buffer *55"
+meta-j,5,6 = "/buffer *56"
+meta-j,5,7 = "/buffer *57"
+meta-j,5,8 = "/buffer *58"
+meta-j,5,9 = "/buffer *59"
+meta-j,6,0 = "/buffer *60"
+meta-j,6,1 = "/buffer *61"
+meta-j,6,2 = "/buffer *62"
+meta-j,6,3 = "/buffer *63"
+meta-j,6,4 = "/buffer *64"
+meta-j,6,5 = "/buffer *65"
+meta-j,6,6 = "/buffer *66"
+meta-j,6,7 = "/buffer *67"
+meta-j,6,8 = "/buffer *68"
+meta-j,6,9 = "/buffer *69"
+meta-j,7,0 = "/buffer *70"
+meta-j,7,1 = "/buffer *71"
+meta-j,7,2 = "/buffer *72"
+meta-j,7,3 = "/buffer *73"
+meta-j,7,4 = "/buffer *74"
+meta-j,7,5 = "/buffer *75"
+meta-j,7,6 = "/buffer *76"
+meta-j,7,7 = "/buffer *77"
+meta-j,7,8 = "/buffer *78"
+meta-j,7,9 = "/buffer *79"
+meta-j,8,0 = "/buffer *80"
+meta-j,8,1 = "/buffer *81"
+meta-j,8,2 = "/buffer *82"
+meta-j,8,3 = "/buffer *83"
+meta-j,8,4 = "/buffer *84"
+meta-j,8,5 = "/buffer *85"
+meta-j,8,6 = "/buffer *86"
+meta-j,8,7 = "/buffer *87"
+meta-j,8,8 = "/buffer *88"
+meta-j,8,9 = "/buffer *89"
+meta-j,9,0 = "/buffer *90"
+meta-j,9,1 = "/buffer *91"
+meta-j,9,2 = "/buffer *92"
+meta-j,9,3 = "/buffer *93"
+meta-j,9,4 = "/buffer *94"
+meta-j,9,5 = "/buffer *95"
+meta-j,9,6 = "/buffer *96"
+meta-j,9,7 = "/buffer *97"
+meta-j,9,8 = "/buffer *98"
+meta-j,9,9 = "/buffer *99"
+meta-j,meta-f = "/buffer -"
+meta-j,meta-l = "/buffer +"
+meta-j,meta-r = "/server raw"
+meta-j,meta-s = "/server jump"
+meta-k = "/input grab_key_command"
+meta-l = "/window bare"
+meta-left = "/buffer -1"
+meta-m = "/mute mouse toggle"
+meta-n = "/window scroll_next_highlight"
+meta-p = "/window scroll_previous_highlight"
+meta-pgdn = "/window scroll_down"
+meta-pgup = "/window scroll_up"
+meta-r = "/input delete_line"
+meta-return = "/input insert \n"
+meta-right = "/buffer +1"
+meta-s = "/mute spell toggle"
+meta-u = "/window scroll_unread"
+meta-up = "/buffer -1"
+meta-w,meta-b = "/window balance"
+meta-w,meta-down = "/window down"
+meta-w,meta-left = "/window left"
+meta-w,meta-right = "/window right"
+meta-w,meta-s = "/window swap"
+meta-w,meta-up = "/window up"
+meta-x = "/buffer zoom"
+meta-z = "/window zoom"
+pgdn = "/window page_down"
+pgup = "/window page_up"
+return = "/input return"
+right = "/input move_next_char"
+shift-down = "/input move_next_line"
+shift-end = "/input move_end_of_input"
+shift-home = "/input move_beginning_of_input"
+shift-left = "/input move_previous_char"
+shift-right = "/input move_next_char"
+shift-tab = "/input complete_previous"
+shift-up = "/input move_previous_line"
+tab = "/input complete_next"
+up = "/input history_previous"
+
+[key_search]
+ctrl-q = "/input search_stop"
+ctrl-r = "/input search_previous"
+ctrl-s = "/input search_next"
+ctrl-x = "/input search_switch_regex"
+down = "/input search_next"
+meta-c = "/input search_switch_case"
+return = "/input search_stop_here"
+tab = "/input search_switch_where"
+up = "/input search_previous"
+
+[key_histsearch]
+ctrl-o = "/input history_use_get_next"
+ctrl-q = "/input search_stop"
+ctrl-r = "/input search_previous"
+ctrl-s = "/input search_next"
+ctrl-x = "/input search_switch_regex"
+down = "/input search_next"
+meta-c = "/input search_switch_case"
+return = "/input search_stop_here"
+tab = "/input search_switch_where"
+up = "/input search_previous"
+
+[key_cursor]
+@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
+@chat:l = "hsignal:chat_quote_focused_line;/cursor stop"
+@chat:m = "hsignal:chat_quote_message;/cursor stop"
+@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
+@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
+@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
+@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
+@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
+@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
+down = "/cursor move down"
+left = "/cursor move left"
+meta-down = "/cursor move edge_bottom"
+meta-end = "/cursor move bottom_right"
+meta-home = "/cursor move top_left"
+meta-left = "/cursor move edge_left"
+meta-right = "/cursor move edge_right"
+meta-shift-down = "/cursor move area_down"
+meta-shift-left = "/cursor move area_left"
+meta-shift-right = "/cursor move area_right"
+meta-shift-up = "/cursor move area_up"
+meta-up = "/cursor move edge_top"
+return = "/cursor stop"
+right = "/cursor move right"
+up = "/cursor move up"
+
+[key_mouse]
+@*:button3 = "/cursor go ${_x},${_y}"
+@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
+@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
+@bar(input):button2 = "/input grab_mouse_area"
+@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%"
+@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
+@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
+@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
+@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
+@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
+@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${fset_option_index}"
+@chat(fset.fset):button2* = "hsignal:fset_mouse"
+@chat(fset.fset):wheeldown = "/fset -down 5"
+@chat(fset.fset):wheelup = "/fset -up 5"
+@chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}"
+@chat(irc.list_*):button2* = "hsignal:irc_list_mouse"
+@chat(irc.list_*):wheeldown = "/list -down 5"
+@chat(irc.list_*):wheelup = "/list -up 5"
+@chat(script.scripts):button1 = "/window ${_window_number};/script -go ${_chat_line_y}"
+@chat(script.scripts):button2 = "/window ${_window_number};/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
+@chat(script.scripts):wheeldown = "/script -down 5"
+@chat(script.scripts):wheelup = "/script -up 5"
+@chat:button1 = "/window ${_window_number}"
+@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
+@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
+@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
+@chat:button1-gesture-right-long = "/window ${_window_number};/buffer +"
+@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
+@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
+@chat:wheeldown = "/window scroll_down -window ${_window_number}"
+@chat:wheelup = "/window scroll_up -window ${_window_number}"
+@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
+@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
+@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
+@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}"
+@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}"
+@item(buflist):button1* = "hsignal:buflist_mouse"
+@item(buflist):button2* = "hsignal:buflist_mouse"
+@item(buflist2):button1* = "hsignal:buflist_mouse"
+@item(buflist2):button2* = "hsignal:buflist_mouse"
+@item(buflist3):button1* = "hsignal:buflist_mouse"
+@item(buflist3):button2* = "hsignal:buflist_mouse"
+@item(buflist4):button1* = "hsignal:buflist_mouse"
+@item(buflist4):button2* = "hsignal:buflist_mouse"
+@item(buflist5):button1* = "hsignal:buflist_mouse"
+@item(buflist5):button2* = "hsignal:buflist_mouse"
diff --git a/weechat/xfer.conf b/weechat/xfer.conf
@@ -0,0 +1,49 @@
+#
+# weechat -- xfer.conf
+#
+# WARNING: It is NOT recommended to edit this file by hand,
+# especially if WeeChat is running.
+#
+# Use commands like /set or /fset to change settings in WeeChat.
+#
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
+#
+
+[look]
+auto_open_buffer = on
+progress_bar_size = 20
+pv_tags = "notify_private"
+
+[color]
+status_aborted = lightred
+status_active = lightblue
+status_connecting = yellow
+status_done = lightgreen
+status_failed = lightred
+status_waiting = lightcyan
+text = default
+text_bg = default
+text_selected = white
+
+[network]
+blocksize = 65536
+fast_send = on
+own_ip = ""
+port_range = ""
+send_ack = on
+speed_limit_recv = 0
+speed_limit_send = 0
+timeout = 300
+
+[file]
+auto_accept_chats = off
+auto_accept_files = off
+auto_accept_nicks = ""
+auto_check_crc32 = off
+auto_rename = on
+auto_resume = on
+convert_spaces = on
+download_path = "${weechat_data_dir}/xfer"
+download_temporary_suffix = ".part"
+upload_path = "~"
+use_nick_in_filename = on