dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 2a99a9b5ab2c8794327bd85aa32d670d24b8c4c0
parent b67de902ef45026efb986d6f8d6def4364a6e101
Author: Linus <93053722+KoenigLinus@users.noreply.github.com>
Date:   Thu, 21 Nov 2024 16:44:05 +0100

exec

Diffstat:
MREADME.md | 7+++++--
Anvim/.gitignore | 8++++++++
Anvim/.neoconf.json | 15+++++++++++++++
Anvim/LICENSE | 201+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/README.md | 4++++
Anvim/after/ftplugin/c.lua | 6++++++
Anvim/init.lua | 9+++++++++
Anvim/lazy-lock.json | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/lazyvim.json | 10++++++++++
Anvim/lua/config/autocmds.lua | 3+++
Anvim/lua/config/keymaps.lua | 14++++++++++++++
Anvim/lua/config/lazy.lua | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/lua/config/options.lua | 15+++++++++++++++
Anvim/lua/plugins/alpha.lua | 6++++++
Anvim/lua/plugins/dap.lua | 35+++++++++++++++++++++++++++++++++++
Anvim/lua/plugins/disable.lua | 4++++
Anvim/lua/plugins/example.lua | 190+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/lua/plugins/lsp.lua | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/lua/plugins/lualine.lua | 28++++++++++++++++++++++++++++
Anvim/lua/plugins/null-ls.lua | 13+++++++++++++
Anvim/lua/plugins/project.lua | 9+++++++++
Anvim/lua/plugins/substitute.lua | 17+++++++++++++++++
Anvim/lua/plugins/telescope.lua | 41+++++++++++++++++++++++++++++++++++++++++
Anvim/lua/plugins/tetris.lua | 4++++
Anvim/lua/plugins/todo-comment.lua | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Anvim/lua/plugins/tokyonight.lua | 13+++++++++++++
Anvim/stylua.toml | 1+
Aweechat/alias.conf | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/buflist.conf | 41+++++++++++++++++++++++++++++++++++++++++
Aweechat/charset.conf | 18++++++++++++++++++
Aweechat/exec.conf | 19+++++++++++++++++++
Aweechat/fifo.conf | 14++++++++++++++
Aweechat/fset.conf | 100+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/irc.conf | 329+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/logger.conf | 40++++++++++++++++++++++++++++++++++++++++
Aweechat/lua.conf | 14++++++++++++++
Aweechat/perl.conf | 14++++++++++++++
Aweechat/plugins.conf | 14++++++++++++++
Aweechat/python.conf | 14++++++++++++++
Aweechat/relay.conf | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/ruby.conf | 14++++++++++++++
Aweechat/script.conf | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/sec.conf | 18++++++++++++++++++
Aweechat/spell.conf | 33+++++++++++++++++++++++++++++++++
Aweechat/tcl.conf | 14++++++++++++++
Aweechat/trigger.conf | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/typing.conf | 19+++++++++++++++++++
Aweechat/weechat.conf | 694+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aweechat/xfer.conf | 49+++++++++++++++++++++++++++++++++++++++++++++++++
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