diff --git a/.config/git/config b/.config/git/config index eae2eca..9d6d2a4 100644 --- a/.config/git/config +++ b/.config/git/config @@ -9,3 +9,8 @@ smtpuser = alhassanaraouf@disroot.org smtpencryption = tls smtpserverport = 587 +[filter "lfs"] + required = true + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process diff --git a/.config/gopass/config.yml b/.config/gopass/config.yml new file mode 100644 index 0000000..d9b3dcd --- /dev/null +++ b/.config/gopass/config.yml @@ -0,0 +1,11 @@ +autoclip: false +autoimport: false +cliptimeout: 45 +exportkeys: true +nopager: false +notifications: true +parsing: true +path: /home/alhassan/.password-store +safecontent: false +mounts: {} +keychain: false diff --git a/.config/jot/config b/.config/jot/config new file mode 100644 index 0000000..f520043 --- /dev/null +++ b/.config/jot/config @@ -0,0 +1,2 @@ +editor = 'nvim' +conflict = true diff --git a/.config/newsboat/config b/.config/newsboat/config index 3fd2363..4e832b0 100644 --- a/.config/newsboat/config +++ b/.config/newsboat/config @@ -9,5 +9,6 @@ ttrss-flag-publish "p" download-path "~/Downloads/Podcasts" player "mpv" +browser "xdg-open %u" reload-threads 4 diff --git a/.config/nncli/config b/.config/nncli/config index 582af63..d0ff914 100644 --- a/.config/nncli/config +++ b/.config/nncli/config @@ -1,4 +1,4 @@ [nncli] -cfg_nn_host = cloud.disroot.org +cfg_nn_host = cloud.tilde.team cfg_nn_username = alhassanaraouf -cfg_nn_password_eval = ~/scripts/get-pass.sh web/cloud.disroot.org \ No newline at end of file +cfg_nn_password_eval = ~/scripts/get-pass.sh email/alhassanaraouf@tilde.team diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..00b9db8 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,64 @@ +local use = require('packer').use + +-- vim.opt.spell = true + +require('packer').startup(function() + use 'wbthomason/packer.nvim' -- Package manager + + -- deps + use 'nvim-lua/plenary.nvim' + + -- LSP + use 'williamboman/mason.nvim' + use 'williamboman/mason-lspconfig.nvim' + use 'neovim/nvim-lspconfig' -- Configurations for Nvim LSP + use 'mfussenegger/nvim-dap' + use 'mfussenegger/nvim-lint' + use 'mhartington/formatter.nvim' + + -- Treesitter + use 'nvim-treesitter/nvim-treesitter' + use 'nvim-treesitter/playground' + + -- Coq Completion + use 'ms-jpq/coq_nvim' + use 'ms-jpq/coq.artifacts' + use 'ms-jpq/coq.thirdparty' + + -- Markdown Preview + use 'ellisonleao/glow.nvim' + + -- Vifm + use 'vifm/vifm.vim' + + -- Git + use 'TimUntersberger/neogit' + use 'f-person/git-blame.nvim' + + -- Comments + use 'numToStr/Comment.nvim' + + use 'mickael-menu/zk-nvim' +end) + + + +require('Comment').setup() +require("mason").setup({ + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗" + } + } +}) +require("zk").setup() + + +require "LSP" +require "DAP" +-- require "treesitter" +require "formatting" +require "linting" + diff --git a/.config/nvim/lua/DAP.lua b/.config/nvim/lua/DAP.lua new file mode 100644 index 0000000..f450b53 --- /dev/null +++ b/.config/nvim/lua/DAP.lua @@ -0,0 +1,44 @@ +local dap = require("dap") + +dap.adapters.php = { + type = "executable", + command = "node", + args = { "/path/to/vscode-php-debug/out/phpDebug.js" }, +} + +dap.configurations.php = { + { + type = "php", + request = "launch", + name = "Listen for Xdebug", + port = 9000, + }, +} + +dap.adapters.bashdb = { + type = "executable", + command = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/bash-debug-adapter", + name = "bashdb", +} + +dap.configurations.sh = { + { + type = "bashdb", + request = "launch", + name = "Launch file", + showDebugOutput = true, + pathBashdb = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb", + pathBashdbLib = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir", + trace = true, + file = "${file}", + program = "${file}", + cwd = "${workspaceFolder}", + pathCat = "cat", + pathBash = "/bin/bash", + pathMkfifo = "mkfifo", + pathPkill = "pkill", + args = {}, + env = {}, + terminalKind = "integrated", + }, +} diff --git a/.config/nvim/lua/LSP.lua b/.config/nvim/lua/LSP.lua new file mode 100644 index 0000000..3ed2531 --- /dev/null +++ b/.config/nvim/lua/LSP.lua @@ -0,0 +1,16 @@ +require("mason-lspconfig").setup({ + ensure_installed = { "psalm", "terraformls", "sumneko_lua" }, + automatic_installation = true, +}) +require("lspconfig")["sumneko_lua"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) +require("lspconfig")["psalm"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) +require("lspconfig")["terraformls"].setup({ + on_attach = on_attach, + flags = lsp_flags, +}) diff --git a/.config/nvim/lua/formatting.lua b/.config/nvim/lua/formatting.lua new file mode 100644 index 0000000..5083cd5 --- /dev/null +++ b/.config/nvim/lua/formatting.lua @@ -0,0 +1,94 @@ +local vim = vim +local formatter = require("formatter") +local prettierConfig = function() + return { + exe = "prettier", + args = {"--stdin-filepath", vim.fn.shellescape(vim.api.nvim_buf_get_name(0)), "--single-quote"}, + stdin = true + } +end + +local formatterConfig = { + lua = { + function() + return { + exe = "stylua", + args = { "-" }, + stdin = true, + } + end, + }, + sh = { + -- Shell + function() + return { + exe = "shfmt", + args = {'-s',}, + stdin = true + } + end + }, + php = { + -- PHP + function() + return { + exe = "php-cs-fixer", + args = {"fix"}, + stdin = false + } + end + }, + ["*"] = { + function() + return { + -- remove trailing whitespace + exe = "sed", + args = {"-i", "'s/[ \t]*$//'"}, + stdin = false + } + end + } +} +local commonFT = { + "css", + "scss", + "html", + "java", + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "markdown", + "markdown.mdx", + "json", + "yaml", + "xml", + "svg", + "svelte" +} +for _, ft in ipairs(commonFT) do + formatterConfig[ft] = {prettierConfig} +end +-- Setup functions +formatter.setup( + { + logging = true, + filetype = formatterConfig, + log_level = vim.log.levels.WARN, + } +) + + +vim.api.nvim_set_keymap( + "n", + "f", + ":Format", + { silent = true } + ) + + vim.api.nvim_set_keymap( + "n", + "F", + ":FormatWrite", + { silent = true } + ) diff --git a/.config/nvim/lua/linting.lua b/.config/nvim/lua/linting.lua new file mode 100644 index 0000000..f8f9201 --- /dev/null +++ b/.config/nvim/lua/linting.lua @@ -0,0 +1,11 @@ +require("lint").linters_by_ft = { + php = { "phpcs"}, + lua = { "luacheck" }, + sh = { "shellcheck" }, +} + +vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, +}) diff --git a/.config/nvim/lua/treesitter.lua b/.config/nvim/lua/treesitter.lua new file mode 100644 index 0000000..5fc235d --- /dev/null +++ b/.config/nvim/lua/treesitter.lua @@ -0,0 +1,16 @@ +local ts = require("nvim-treesitter.configs") + +ts.setup({ + context_commentstring = { enable = true }, + ensure_installed = "all", + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { enable = true }, + query_linter = { + enable = true, + use_virtual_text = true, + lint_events = { "BufWrite", "CursorHold" }, + }, +}) diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..0d7c0bd --- /dev/null +++ b/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,177 @@ +-- Automatically generated packer.nvim plugin loader code + +if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then + vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') + return +end + +vim.api.nvim_command('packadd packer.nvim') + +local no_errors, error_msg = pcall(function() + + local time + local profile_info + local should_profile = false + if should_profile then + local hrtime = vim.loop.hrtime + profile_info = {} + time = function(chunk, start) + if start then + profile_info[chunk] = hrtime() + else + profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 + end + end + else + time = function(chunk, start) end + end + +local function save_profiles(threshold) + local sorted_times = {} + for chunk_name, time_taken in pairs(profile_info) do + sorted_times[#sorted_times + 1] = {chunk_name, time_taken} + end + table.sort(sorted_times, function(a, b) return a[2] > b[2] end) + local results = {} + for i, elem in ipairs(sorted_times) do + if not threshold or threshold and elem[2] > threshold then + results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' + end + end + + _G._packer = _G._packer or {} + _G._packer.profile_output = results +end + +time([[Luarocks path setup]], true) +local package_path_str = "/home/alhassan/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/alhassan/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/alhassan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/alhassan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/alhassan/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" +if not string.find(package.path, package_path_str, 1, true) then + package.path = package.path .. ';' .. package_path_str +end + +if not string.find(package.cpath, install_cpath_pattern, 1, true) then + package.cpath = package.cpath .. ';' .. install_cpath_pattern +end + +time([[Luarocks path setup]], false) +time([[try_loadstring definition]], true) +local function try_loadstring(s, component, name) + local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) + if not success then + vim.schedule(function() + vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) + end) + end + return result +end + +time([[try_loadstring definition]], false) +time([[Defining packer_plugins]], true) +_G.packer_plugins = { + ["Comment.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/Comment.nvim", + url = "https://github.com/numToStr/Comment.nvim" + }, + ["coq.artifacts"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/coq.artifacts", + url = "https://github.com/ms-jpq/coq.artifacts" + }, + ["coq.thirdparty"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/coq.thirdparty", + url = "https://github.com/ms-jpq/coq.thirdparty" + }, + coq_nvim = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/coq_nvim", + url = "https://github.com/ms-jpq/coq_nvim" + }, + ["formatter.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/formatter.nvim", + url = "https://github.com/mhartington/formatter.nvim" + }, + ["git-blame.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/git-blame.nvim", + url = "https://github.com/f-person/git-blame.nvim" + }, + ["glow.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/glow.nvim", + url = "https://github.com/ellisonleao/glow.nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + neogit = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/neogit", + url = "https://github.com/TimUntersberger/neogit" + }, + ["nvim-dap"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/nvim-dap", + url = "https://github.com/mfussenegger/nvim-dap" + }, + ["nvim-lint"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/nvim-lint", + url = "https://github.com/mfussenegger/nvim-lint" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-treesitter"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + playground = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/playground", + url = "https://github.com/nvim-treesitter/playground" + }, + ["plenary.nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/plenary.nvim", + url = "https://github.com/nvim-lua/plenary.nvim" + }, + ["vifm.vim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/vifm.vim", + url = "https://github.com/vifm/vifm.vim" + }, + ["zk-nvim"] = { + loaded = true, + path = "/home/alhassan/.local/share/nvim/site/pack/packer/start/zk-nvim", + url = "https://github.com/mickael-menu/zk-nvim" + } +} + +time([[Defining packer_plugins]], false) +if should_profile then save_profiles() end + +end) + +if not no_errors then + error_msg = error_msg:gsub('"', '\\"') + vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') +end diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf new file mode 100644 index 0000000..a16fa3f --- /dev/null +++ b/.config/tmux/tmux.conf @@ -0,0 +1,5 @@ +unbind C-b +set -g prefix C-Space + + +set -sg escape-time 0 diff --git a/.config/vdirsyncer/config b/.config/vdirsyncer/config index 0e1e38b..f7b2424 100644 --- a/.config/vdirsyncer/config +++ b/.config/vdirsyncer/config @@ -14,9 +14,9 @@ fileext = ".vcf" [storage remote_contacts] type = "carddav" -url = "https://cloud.disroot.org" +url = "https://cloud.tilde.team" username = "alhassanaraouf" -password.fetch = ["command", "~/scripts/get-pass.sh", "email/alhassanaraouf@disroot.org"] +password.fetch = ["command", "~/scripts/get-pass.sh", "email/alhassanaraouf@tilde.team"] [pair my_calendars] @@ -33,6 +33,6 @@ fileext = ".ics" [storage remote_calendars] type = "caldav" -url = "https://cloud.disroot.org" +url = "https://cloud.tilde.team" username = "alhassanaraouf" -password.fetch = ["command", "~/scripts/get-pass.sh", "email/alhassanaraouf@disroot.org"] +password.fetch = ["command", "~/scripts/get-pass.sh", "email/alhassanaraouf@tilde.team"] diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index 012ee28..eae8baa 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -7,11 +7,13 @@ " ------------------------------------------------------------------------------ +plugin load + " Command used to edit files in various contexts. The default is vim. " If you would like to use another vi clone such as Elvis or Vile " you will need to change this setting. -set vicmd=vis +set vicmd=nvim " set vicmd=elvis\ -G\ termcap " set vicmd=vile @@ -240,14 +242,14 @@ filetype *.[1-8] man ./%c fileviewer *.[1-8] man ./%c | col -b " Images -filextype *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.svg +filextype *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.svg,*.webp \ {View in imv} \ imv %f, \ {View in gpicview} \ gpicview %c, \ {View in shotwell} \ shotwell, -fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.svg +fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm,*.svg,*.webp \ identify -verbose %f " GIF(Animations) @@ -406,6 +408,8 @@ set vifminfo=dhistory,savedirs,chistory,state,tui,shistory, " " set viewcolumns=-{name}..,6{}. +set viewcolumns=-{NameLink},8.7{} + " Filter-out build and temporary files " " filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/ @@ -458,7 +462,7 @@ nnoremap cc cw nnoremap A cw " Open console in current directory -nnoremap ,t :!xterm & +nnoremap ,t :!tym & " Open editor to edit vifmrc and apply settings after returning to vifm nnoremap ,c :write | edit $MYVIFMRC | restart diff --git a/.config/weechat/alias.conf b/.config/weechat/alias.conf new file mode 100644 index 0000000..190004c --- /dev/null +++ b/.config/weechat/alias.conf @@ -0,0 +1,47 @@ +# +# 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/quickstart/ +# + +[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/.config/weechat/buflist.conf b/.config/weechat/buflist.conf new file mode 100644 index 0000000..f6af644 --- /dev/null +++ b/.config/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/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:,blue}${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/.config/weechat/charset.conf b/.config/weechat/charset.conf new file mode 100644 index 0000000..f9c9d46 --- /dev/null +++ b/.config/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/quickstart/ +# + +[default] +decode = "iso-8859-1" +encode = "" + +[decode] + +[encode] diff --git a/.config/weechat/exec.conf b/.config/weechat/exec.conf new file mode 100644 index 0000000..cb3bb91 --- /dev/null +++ b/.config/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/quickstart/ +# + +[command] +default_options = "" +purge_delay = 0 +shell = "${env:SHELL}" + +[color] +flag_finished = lightred +flag_running = lightgreen diff --git a/.config/weechat/fifo.conf b/.config/weechat/fifo.conf new file mode 100644 index 0000000..1fe3422 --- /dev/null +++ b/.config/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/quickstart/ +# + +[file] +enabled = on +path = "${weechat_runtime_dir}/weechat_fifo_${info:pid}" diff --git a/.config/weechat/fset.conf b/.config/weechat/fset.conf new file mode 100644 index 0000000..1b52d85 --- /dev/null +++ b/.config/weechat/fset.conf @@ -0,0 +1,96 @@ +# +# 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/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 = off +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:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}" + +[color] +default_value = default +default_value_selected = white +description = default +description_selected = white +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 = default +line_marked_bg2 = default +line_selected_bg1 = blue +line_selected_bg2 = red +marked = brown +marked_selected = yellow +max = default +max_selected = white +min = default +min_selected = white +name = default +name_changed = brown +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 = green +type_selected = lightgreen +unmarked = default +unmarked_selected = white +value = cyan +value_changed = brown +value_changed_selected = yellow +value_selected = lightcyan +value_undef = magenta +value_undef_selected = lightmagenta diff --git a/.config/weechat/guile.conf b/.config/weechat/guile.conf new file mode 100644 index 0000000..57e43f2 --- /dev/null +++ b/.config/weechat/guile.conf @@ -0,0 +1,14 @@ +# +# weechat -- guile.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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/irc.conf b/.config/weechat/irc.conf new file mode 100644 index 0000000..b1ed1a6 --- /dev/null +++ b/.config/weechat/irc.conf @@ -0,0 +1,397 @@ +# +# 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/quickstart/ +# + +[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_quit = 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" +item_channel_modes_hide_args = "k" +item_display_server = buffer_plugin +item_nick_modes = on +item_nick_prefix = on +join_auto_add_chantype = off +msgbuffer_fallback = current +new_channel_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" +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_channel_modes = default +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 +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 = default +topic_current = default +topic_new = white +topic_old = default + +[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] + +[ignore] + +[server_default] +addresses = "" +anti_flood_prio_high = 2 +anti_flood_prio_low = 2 +autoconnect = off +autojoin = "" +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 = on +local_hostname = "" +msg_kick = "" +msg_part = "WeeChat ${info:version}" +msg_quit = "WeeChat ${info:version}" +nicks = "alhassan,alhassan1,alhassan2,alhassan3,alhassan4" +nicks_alternate = on +notify = "" +password = "" +proxy = "" +realname = "" +sasl_fail = reconnect +sasl_key = "" +sasl_mechanism = plain +sasl_password = "" +sasl_timeout = 15 +sasl_username = "" +split_msg_max_length = 512 +ssl = off +ssl_cert = "" +ssl_dhkey_size = 2048 +ssl_fingerprint = "" +ssl_password = "" +ssl_priorities = "NORMAL:-VERS-SSL3.0" +ssl_verify = on +usermode = "" +username = "alhassan" + +[server] +LiberaChat.addresses = "znc.tilde.team/6699" +LiberaChat.proxy +LiberaChat.ipv6 +LiberaChat.ssl = on +LiberaChat.ssl_cert +LiberaChat.ssl_password +LiberaChat.ssl_priorities +LiberaChat.ssl_dhkey_size +LiberaChat.ssl_fingerprint +LiberaChat.ssl_verify +LiberaChat.password = "${sec.data.ZNC}" +LiberaChat.capabilities +LiberaChat.sasl_mechanism +LiberaChat.sasl_username +LiberaChat.sasl_password = "${sec.data.ZNC}" +LiberaChat.sasl_key +LiberaChat.sasl_timeout +LiberaChat.sasl_fail +LiberaChat.autoconnect = on +LiberaChat.autoreconnect +LiberaChat.autoreconnect_delay +LiberaChat.nicks +LiberaChat.nicks_alternate +LiberaChat.username = "alhassanaraouf/LiberaChat" +LiberaChat.realname +LiberaChat.local_hostname +LiberaChat.usermode +LiberaChat.command +LiberaChat.command_delay +LiberaChat.autojoin +LiberaChat.autojoin_dynamic +LiberaChat.autorejoin +LiberaChat.autorejoin_delay +LiberaChat.connection_timeout +LiberaChat.anti_flood_prio_high +LiberaChat.anti_flood_prio_low +LiberaChat.away_check +LiberaChat.away_check_max_nicks +LiberaChat.msg_kick +LiberaChat.msg_part +LiberaChat.msg_quit +LiberaChat.notify +LiberaChat.split_msg_max_length +LiberaChat.charset_message +LiberaChat.default_chantypes +OFTC.addresses = "znc.tilde.team/6699" +OFTC.proxy +OFTC.ipv6 +OFTC.ssl = on +OFTC.ssl_cert +OFTC.ssl_password +OFTC.ssl_priorities +OFTC.ssl_dhkey_size +OFTC.ssl_fingerprint +OFTC.ssl_verify +OFTC.password = "${sec.data.ZNC}" +OFTC.capabilities +OFTC.sasl_mechanism +OFTC.sasl_username +OFTC.sasl_password = "${sec.data.ZNC}" +OFTC.sasl_key +OFTC.sasl_timeout +OFTC.sasl_fail +OFTC.autoconnect = on +OFTC.autoreconnect +OFTC.autoreconnect_delay +OFTC.nicks +OFTC.nicks_alternate +OFTC.username = "alhassanaraouf/OFTC" +OFTC.realname +OFTC.local_hostname +OFTC.usermode +OFTC.command +OFTC.command_delay +OFTC.autojoin +OFTC.autojoin_dynamic +OFTC.autorejoin +OFTC.autorejoin_delay +OFTC.connection_timeout +OFTC.anti_flood_prio_high +OFTC.anti_flood_prio_low +OFTC.away_check +OFTC.away_check_max_nicks +OFTC.msg_kick +OFTC.msg_part +OFTC.msg_quit +OFTC.notify +OFTC.split_msg_max_length +OFTC.charset_message +OFTC.default_chantypes +PINE64.addresses = "znc.tilde.team/6699" +PINE64.proxy +PINE64.ipv6 +PINE64.ssl = on +PINE64.ssl_cert +PINE64.ssl_password +PINE64.ssl_priorities +PINE64.ssl_dhkey_size +PINE64.ssl_fingerprint +PINE64.ssl_verify +PINE64.password = "${sec.data.ZNC}" +PINE64.capabilities +PINE64.sasl_mechanism +PINE64.sasl_username +PINE64.sasl_password = "${sec.data.ZNC}" +PINE64.sasl_key +PINE64.sasl_timeout +PINE64.sasl_fail +PINE64.autoconnect = on +PINE64.autoreconnect +PINE64.autoreconnect_delay +PINE64.nicks +PINE64.nicks_alternate +PINE64.username = "alhassanaraouf/PINE64" +PINE64.realname +PINE64.local_hostname +PINE64.usermode +PINE64.command +PINE64.command_delay +PINE64.autojoin +PINE64.autojoin_dynamic +PINE64.autorejoin +PINE64.autorejoin_delay +PINE64.connection_timeout +PINE64.anti_flood_prio_high +PINE64.anti_flood_prio_low +PINE64.away_check +PINE64.away_check_max_nicks +PINE64.msg_kick +PINE64.msg_part +PINE64.msg_quit +PINE64.notify +PINE64.split_msg_max_length +PINE64.charset_message +PINE64.default_chantypes +SDF.addresses = "znc.tilde.team/6699" +SDF.proxy +SDF.ipv6 +SDF.ssl = on +SDF.ssl_cert +SDF.ssl_password +SDF.ssl_priorities +SDF.ssl_dhkey_size +SDF.ssl_fingerprint +SDF.ssl_verify +SDF.password = "${sec.data.ZNC}" +SDF.capabilities +SDF.sasl_mechanism +SDF.sasl_username +SDF.sasl_password = "${sec.data.ZNC}" +SDF.sasl_key +SDF.sasl_timeout +SDF.sasl_fail +SDF.autoconnect = on +SDF.autoreconnect +SDF.autoreconnect_delay +SDF.nicks +SDF.nicks_alternate +SDF.username = "alhassanaraouf/SDF" +SDF.realname +SDF.local_hostname +SDF.usermode +SDF.command +SDF.command_delay +SDF.autojoin +SDF.autojoin_dynamic +SDF.autorejoin +SDF.autorejoin_delay +SDF.connection_timeout +SDF.anti_flood_prio_high +SDF.anti_flood_prio_low +SDF.away_check +SDF.away_check_max_nicks +SDF.msg_kick +SDF.msg_part +SDF.msg_quit +SDF.notify +SDF.split_msg_max_length +SDF.charset_message +SDF.default_chantypes +Tildeverse.addresses = "znc.tilde.team/6699" +Tildeverse.proxy +Tildeverse.ipv6 +Tildeverse.ssl = on +Tildeverse.ssl_cert +Tildeverse.ssl_password +Tildeverse.ssl_priorities +Tildeverse.ssl_dhkey_size +Tildeverse.ssl_fingerprint +Tildeverse.ssl_verify +Tildeverse.password = "${sec.data.ZNC}" +Tildeverse.capabilities +Tildeverse.sasl_mechanism +Tildeverse.sasl_username +Tildeverse.sasl_password = "${sec.data.ZNC}" +Tildeverse.sasl_key +Tildeverse.sasl_timeout +Tildeverse.sasl_fail +Tildeverse.autoconnect = on +Tildeverse.autoreconnect +Tildeverse.autoreconnect_delay +Tildeverse.nicks +Tildeverse.nicks_alternate +Tildeverse.username = "alhassanaraouf/Tildeverse" +Tildeverse.realname +Tildeverse.local_hostname +Tildeverse.usermode +Tildeverse.command +Tildeverse.command_delay +Tildeverse.autojoin +Tildeverse.autojoin_dynamic +Tildeverse.autorejoin +Tildeverse.autorejoin_delay +Tildeverse.connection_timeout +Tildeverse.anti_flood_prio_high +Tildeverse.anti_flood_prio_low +Tildeverse.away_check +Tildeverse.away_check_max_nicks +Tildeverse.msg_kick +Tildeverse.msg_part +Tildeverse.msg_quit +Tildeverse.notify +Tildeverse.split_msg_max_length +Tildeverse.charset_message +Tildeverse.default_chantypes diff --git a/.config/weechat/logger.conf b/.config/weechat/logger.conf new file mode 100644 index 0000000..375cfef --- /dev/null +++ b/.config/weechat/logger.conf @@ -0,0 +1,39 @@ +# +# 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/quickstart/ +# + +[look] +backlog = 20 +backlog_conditions = "" + +[color] +backlog_end = default +backlog_line = default + +[file] +auto_log = on +color_lines = off +flush_delay = 120 +fsync = off +info_lines = off +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/.config/weechat/lua.conf b/.config/weechat/lua.conf new file mode 100644 index 0000000..ac0dd0e --- /dev/null +++ b/.config/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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/perl.conf b/.config/weechat/perl.conf new file mode 100644 index 0000000..d19ceec --- /dev/null +++ b/.config/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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/plugins.conf b/.config/weechat/plugins.conf new file mode 100644 index 0000000..8f5e054 --- /dev/null +++ b/.config/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/quickstart/ +# + +[var] + +[desc] diff --git a/.config/weechat/python.conf b/.config/weechat/python.conf new file mode 100644 index 0000000..24d67cd --- /dev/null +++ b/.config/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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/relay.conf b/.config/weechat/relay.conf new file mode 100644 index 0000000..f0a356a --- /dev/null +++ b/.config/weechat/relay.conf @@ -0,0 +1,59 @@ +# +# 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/quickstart/ +# + +[look] +auto_open_buffer = on +raw_messages = 256 + +[color] +client = cyan +status_active = green +status_auth_failed = lightmagenta +status_connecting = white +status_disconnected = lightred +status_waiting_auth = yellow +text = default +text_bg = default +text_selected = white + +[network] +allow_empty_password = off +allowed_ips = "" +auth_timeout = 60 +bind_address = "" +clients_purge_delay = 0 +compression = 20 +ipv6 = on +max_clients = 5 +nonce_size = 16 +password = "" +password_hash_algo = "*" +password_hash_iterations = 100000 +ssl_cert_key = "${weechat_config_dir}/ssl/relay.pem" +ssl_priorities = "NORMAL:-VERS-SSL3.0" +totp_secret = "" +totp_window = 0 +websocket_allowed_origins = "" + +[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] " + +[weechat] +commands = "" + +[port] + +[path] diff --git a/.config/weechat/ruby.conf b/.config/weechat/ruby.conf new file mode 100644 index 0000000..555f48f --- /dev/null +++ b/.config/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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/script.conf b/.config/weechat/script.conf new file mode 100644 index 0000000..480f3c4 --- /dev/null +++ b/.config/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/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 = cyan +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 = red +text_date = default +text_date_selected = white +text_delimiters = default +text_description = default +text_description_selected = white +text_extension = default +text_extension_selected = white +text_name = cyan +text_name_selected = lightcyan +text_selected = white +text_tags = brown +text_tags_selected = yellow +text_version = magenta +text_version_loaded = default +text_version_loaded_selected = white +text_version_selected = lightmagenta + +[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/.config/weechat/sec.conf b/.config/weechat/sec.conf new file mode 100644 index 0000000..56a1693 --- /dev/null +++ b/.config/weechat/sec.conf @@ -0,0 +1,20 @@ +# +# 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/quickstart/ +# + +[crypt] +cipher = aes256 +hash_algo = sha256 +passphrase_command = "pass show app/weechat" +salt = on + +[data] +__passphrase__ = on +ZNC = "CDF2336A123111FB7C91A742E173DAFE9BD0A28139D0F23CDCE38628EA7D5F6CA36E50AD7D935A73A5B46C9C92D60EDD423806" diff --git a/.config/weechat/spell.conf b/.config/weechat/spell.conf new file mode 100644 index 0000000..575196b --- /dev/null +++ b/.config/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/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 = "en,ar" +during_search = off +enabled = on +real_time = off +suggestions = -1 +word_min_length = 2 + +[dict] + +[look] +suggestion_delimiter_dict = " / " +suggestion_delimiter_word = "," + +[option] diff --git a/.config/weechat/tcl.conf b/.config/weechat/tcl.conf new file mode 100644 index 0000000..30bcee2 --- /dev/null +++ b/.config/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/quickstart/ +# + +[look] +check_license = off +eval_keep_context = on diff --git a/.config/weechat/trigger.conf b/.config/weechat/trigger.conf new file mode 100644 index 0000000..a8b3b15 --- /dev/null +++ b/.config/weechat/trigger.conf @@ -0,0 +1,68 @@ +# +# 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/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 = green +trigger_disabled = red + +[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 = "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+|setpass +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${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 = "==^(/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +register +)([^ ]+)(.*)==${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 = "==^(.*(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 = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}" +server_pass.return_code = ok diff --git a/.config/weechat/typing.conf b/.config/weechat/typing.conf new file mode 100644 index 0000000..dd8b7b0 --- /dev/null +++ b/.config/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/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/.config/weechat/weechat.conf b/.config/weechat/weechat.conf new file mode 100644 index 0000000..4f12556 --- /dev/null +++ b/.config/weechat/weechat.conf @@ -0,0 +1,692 @@ +# +# 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/quickstart/ +# + +[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_regex = off +buffer_search_where = prefix_message +buffer_time_format = "%H:%M:%S" +buffer_time_same = "" +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 = off +color_inactive_window = on +color_nick_offline = off +color_pairs_auto_reset = 5 +color_real_white = off +command_chars = "" +command_incomplete = off +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_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 = group_time_asc +hotlist_suffix = "" +hotlist_unique_numbers = on +hotlist_update_on_buffer_switch = on +input_cursor_scroll = 20 +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 = on +mouse_timer_delay = 100 +nick_color_force = "" +nick_color_hash = djb2 +nick_color_hash_salt = "" +nick_color_stop_chars = "_|[" +nick_prefix = "" +nick_suffix = "" +paste_auto_add_newline = on +paste_bracketed = on +paste_bracketed_timer_delay = 10 +paste_max_lines = 1 +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 = green +chat_highlight = yellow +chat_highlight_bg = magenta +chat_host = cyan +chat_inactive_buffer = default +chat_inactive_window = default +chat_nick = lightcyan +chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue" +chat_nick_offline = default +chat_nick_offline_highlight = default +chat_nick_offline_highlight_bg = blue +chat_nick_other = cyan +chat_nick_prefix = green +chat_nick_self = white +chat_nick_suffix = green +chat_prefix_action = white +chat_prefix_buffer = brown +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 = green +chat_read_marker = magenta +chat_read_marker_bg = default +chat_server = brown +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 = magenta +input_actions = lightgreen +input_text_not_found = red +item_away = yellow +nicklist_away = cyan +nicklist_group = green +separator = blue +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_more = yellow +status_mouse = green +status_name = white +status_name_ssl = lightgreen +status_nicklist_count = default +status_number = yellow +status_time = default + +[completion] +base_word_until_cursor = 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 = blue +status.color_bg_inactive = darkgray +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,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 = blue +title.color_bg_inactive = darkgray +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] + +[notify] + +[filter] + +[key] +ctrl-? = "/input delete_previous_char" +ctrl-A = "/input move_beginning_of_line" +ctrl-B = "/input move_previous_char" +ctrl-C_ = "/input insert \x1F" +ctrl-Cb = "/input insert \x02" +ctrl-Cc = "/input insert \x03" +ctrl-Ci = "/input insert \x1D" +ctrl-Co = "/input insert \x0F" +ctrl-Cv = "/input insert \x16" +ctrl-D = "/input delete_next_char" +ctrl-E = "/input move_end_of_line" +ctrl-F = "/input move_next_char" +ctrl-H = "/input delete_previous_char" +ctrl-I = "/input complete_next" +ctrl-J = "/input return" +ctrl-K = "/input delete_end_of_line" +ctrl-L = "/window refresh" +ctrl-M = "/input return" +ctrl-N = "/buffer +1" +ctrl-P = "/buffer -1" +ctrl-R = "/input search_text_here" +ctrl-Sctrl-U = "/input set_unread" +ctrl-T = "/input transpose_chars" +ctrl-U = "/input delete_beginning_of_line" +ctrl-W = "/input delete_previous_word_whitespace" +ctrl-X = "/input switch_active_buffer" +ctrl-Y = "/input clipboard_paste" +meta-ctrl-? = "/input delete_previous_word" +meta-ctrl-M = "/input insert \n" +meta-meta-OP = "/bar scroll buflist * b" +meta-meta-OQ = "/bar scroll buflist * e" +meta-meta2-11~ = "/bar scroll buflist * b" +meta-meta2-12~ = "/bar scroll buflist * e" +meta-meta2-1~ = "/window scroll_top" +meta-meta2-23~ = "/bar scroll nicklist * b" +meta-meta2-24~ = "/bar scroll nicklist * e" +meta-meta2-4~ = "/window scroll_bottom" +meta-meta2-5~ = "/window scroll_up" +meta-meta2-6~ = "/window scroll_down" +meta-meta2-7~ = "/window scroll_top" +meta-meta2-8~ = "/window scroll_bottom" +meta-meta2-A = "/buffer -1" +meta-meta2-B = "/buffer +1" +meta-meta2-C = "/buffer +1" +meta-meta2-D = "/buffer -1" +meta-- = "/filter toggle @" +meta-/ = "/input jump_last_buffer_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-< = "/input jump_previously_visited_buffer" +meta-= = "/filter toggle" +meta-> = "/input jump_next_visited_buffer" +meta-B = "/buflist toggle" +meta-N = "/bar toggle nicklist" +meta-OA = "/input history_global_previous" +meta-OB = "/input history_global_next" +meta-OC = "/input move_next_word" +meta-OD = "/input move_previous_word" +meta-OF = "/input move_end_of_line" +meta-OH = "/input move_beginning_of_line" +meta-OP = "/bar scroll buflist * -100%" +meta-OQ = "/bar scroll buflist * +100%" +meta-Oa = "/input history_global_previous" +meta-Ob = "/input history_global_next" +meta-Oc = "/input move_next_word" +meta-Od = "/input move_previous_word" +meta2-11^ = "/bar scroll buflist * -100%" +meta2-11~ = "/bar scroll buflist * -100%" +meta2-12^ = "/bar scroll buflist * +100%" +meta2-12~ = "/bar scroll buflist * +100%" +meta2-15~ = "/buffer -1" +meta2-17~ = "/buffer +1" +meta2-18~ = "/window -1" +meta2-19~ = "/window +1" +meta2-1;3A = "/buffer -1" +meta2-1;3B = "/buffer +1" +meta2-1;3C = "/buffer +1" +meta2-1;3D = "/buffer -1" +meta2-1;3F = "/window scroll_bottom" +meta2-1;3H = "/window scroll_top" +meta2-1;3P = "/bar scroll buflist * b" +meta2-1;3Q = "/bar scroll buflist * e" +meta2-1;5A = "/input history_global_previous" +meta2-1;5B = "/input history_global_next" +meta2-1;5C = "/input move_next_word" +meta2-1;5D = "/input move_previous_word" +meta2-1;5P = "/bar scroll buflist * -100%" +meta2-1;5Q = "/bar scroll buflist * +100%" +meta2-1~ = "/input move_beginning_of_line" +meta2-200~ = "/input paste_start" +meta2-201~ = "/input paste_stop" +meta2-20~ = "/bar scroll title * -30%" +meta2-21~ = "/bar scroll title * +30%" +meta2-23;3~ = "/bar scroll nicklist * b" +meta2-23;5~ = "/bar scroll nicklist * -100%" +meta2-23^ = "/bar scroll nicklist * -100%" +meta2-23~ = "/bar scroll nicklist * -100%" +meta2-24;3~ = "/bar scroll nicklist * e" +meta2-24;5~ = "/bar scroll nicklist * +100%" +meta2-24^ = "/bar scroll nicklist * +100%" +meta2-24~ = "/bar scroll nicklist * +100%" +meta2-3~ = "/input delete_next_char" +meta2-4~ = "/input move_end_of_line" +meta2-5;3~ = "/window scroll_up" +meta2-5~ = "/window page_up" +meta2-6;3~ = "/window scroll_down" +meta2-6~ = "/window page_down" +meta2-7~ = "/input move_beginning_of_line" +meta2-8~ = "/input move_end_of_line" +meta2-A = "/input history_previous" +meta2-B = "/input history_next" +meta2-C = "/input move_next_char" +meta2-D = "/input move_previous_char" +meta2-F = "/input move_end_of_line" +meta2-G = "/window page_down" +meta2-H = "/input move_beginning_of_line" +meta2-I = "/window page_up" +meta2-Z = "/input complete_previous" +meta2-[E = "/buffer -1" +meta-_ = "/input redo" +meta-a = "/input jump_smart" +meta-b = "/input move_previous_word" +meta-d = "/input delete_next_word" +meta-f = "/input move_next_word" +meta-hmeta-R = "/input hotlist_restore_all" +meta-hmeta-c = "/input hotlist_clear" +meta-hmeta-m = "/input hotlist_remove_buffer" +meta-hmeta-r = "/input hotlist_restore_buffer" +meta-jmeta-f = "/buffer -" +meta-jmeta-l = "/buffer +" +meta-jmeta-r = "/server raw" +meta-jmeta-s = "/server jump" +meta-j01 = "/buffer *1" +meta-j02 = "/buffer *2" +meta-j03 = "/buffer *3" +meta-j04 = "/buffer *4" +meta-j05 = "/buffer *5" +meta-j06 = "/buffer *6" +meta-j07 = "/buffer *7" +meta-j08 = "/buffer *8" +meta-j09 = "/buffer *9" +meta-j10 = "/buffer *10" +meta-j11 = "/buffer *11" +meta-j12 = "/buffer *12" +meta-j13 = "/buffer *13" +meta-j14 = "/buffer *14" +meta-j15 = "/buffer *15" +meta-j16 = "/buffer *16" +meta-j17 = "/buffer *17" +meta-j18 = "/buffer *18" +meta-j19 = "/buffer *19" +meta-j20 = "/buffer *20" +meta-j21 = "/buffer *21" +meta-j22 = "/buffer *22" +meta-j23 = "/buffer *23" +meta-j24 = "/buffer *24" +meta-j25 = "/buffer *25" +meta-j26 = "/buffer *26" +meta-j27 = "/buffer *27" +meta-j28 = "/buffer *28" +meta-j29 = "/buffer *29" +meta-j30 = "/buffer *30" +meta-j31 = "/buffer *31" +meta-j32 = "/buffer *32" +meta-j33 = "/buffer *33" +meta-j34 = "/buffer *34" +meta-j35 = "/buffer *35" +meta-j36 = "/buffer *36" +meta-j37 = "/buffer *37" +meta-j38 = "/buffer *38" +meta-j39 = "/buffer *39" +meta-j40 = "/buffer *40" +meta-j41 = "/buffer *41" +meta-j42 = "/buffer *42" +meta-j43 = "/buffer *43" +meta-j44 = "/buffer *44" +meta-j45 = "/buffer *45" +meta-j46 = "/buffer *46" +meta-j47 = "/buffer *47" +meta-j48 = "/buffer *48" +meta-j49 = "/buffer *49" +meta-j50 = "/buffer *50" +meta-j51 = "/buffer *51" +meta-j52 = "/buffer *52" +meta-j53 = "/buffer *53" +meta-j54 = "/buffer *54" +meta-j55 = "/buffer *55" +meta-j56 = "/buffer *56" +meta-j57 = "/buffer *57" +meta-j58 = "/buffer *58" +meta-j59 = "/buffer *59" +meta-j60 = "/buffer *60" +meta-j61 = "/buffer *61" +meta-j62 = "/buffer *62" +meta-j63 = "/buffer *63" +meta-j64 = "/buffer *64" +meta-j65 = "/buffer *65" +meta-j66 = "/buffer *66" +meta-j67 = "/buffer *67" +meta-j68 = "/buffer *68" +meta-j69 = "/buffer *69" +meta-j70 = "/buffer *70" +meta-j71 = "/buffer *71" +meta-j72 = "/buffer *72" +meta-j73 = "/buffer *73" +meta-j74 = "/buffer *74" +meta-j75 = "/buffer *75" +meta-j76 = "/buffer *76" +meta-j77 = "/buffer *77" +meta-j78 = "/buffer *78" +meta-j79 = "/buffer *79" +meta-j80 = "/buffer *80" +meta-j81 = "/buffer *81" +meta-j82 = "/buffer *82" +meta-j83 = "/buffer *83" +meta-j84 = "/buffer *84" +meta-j85 = "/buffer *85" +meta-j86 = "/buffer *86" +meta-j87 = "/buffer *87" +meta-j88 = "/buffer *88" +meta-j89 = "/buffer *89" +meta-j90 = "/buffer *90" +meta-j91 = "/buffer *91" +meta-j92 = "/buffer *92" +meta-j93 = "/buffer *93" +meta-j94 = "/buffer *94" +meta-j95 = "/buffer *95" +meta-j96 = "/buffer *96" +meta-j97 = "/buffer *97" +meta-j98 = "/buffer *98" +meta-j99 = "/buffer *99" +meta-k = "/input grab_key_command" +meta-l = "/window bare" +meta-m = "/mute mouse toggle" +meta-n = "/window scroll_next_highlight" +meta-p = "/window scroll_previous_highlight" +meta-r = "/input delete_line" +meta-s = "/mute spell toggle" +meta-u = "/window scroll_unread" +meta-wmeta-meta2-A = "/window up" +meta-wmeta-meta2-B = "/window down" +meta-wmeta-meta2-C = "/window right" +meta-wmeta-meta2-D = "/window left" +meta-wmeta2-1;3A = "/window up" +meta-wmeta2-1;3B = "/window down" +meta-wmeta2-1;3C = "/window right" +meta-wmeta2-1;3D = "/window left" +meta-wmeta-b = "/window balance" +meta-wmeta-s = "/window swap" +meta-x = "/input zoom_merged_buffer" +meta-z = "/window zoom" +ctrl-_ = "/input undo" + +[key_search] +ctrl-I = "/input search_switch_where" +ctrl-J = "/input search_stop_here" +ctrl-M = "/input search_stop_here" +ctrl-Q = "/input search_stop" +ctrl-R = "/input search_switch_regex" +meta2-A = "/input search_previous" +meta2-B = "/input search_next" +meta-c = "/input search_switch_case" + +[key_cursor] +ctrl-J = "/cursor stop" +ctrl-M = "/cursor stop" +meta-meta2-A = "/cursor move area_up" +meta-meta2-B = "/cursor move area_down" +meta-meta2-C = "/cursor move area_right" +meta-meta2-D = "/cursor move area_left" +meta2-1;3A = "/cursor move area_up" +meta2-1;3B = "/cursor move area_down" +meta2-1;3C = "/cursor move area_right" +meta2-1;3D = "/cursor move area_left" +meta2-A = "/cursor move up" +meta2-B = "/cursor move down" +meta2-C = "/cursor move right" +meta2-D = "/cursor move left" +@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}" +@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" +@chat:m = "hsignal:chat_quote_message;/cursor stop" +@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" + +[key_mouse] +@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" +@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}" +@chat(fset.fset):button2* = "hsignal:fset_mouse" +@chat(fset.fset):wheeldown = "/fset -down 5" +@chat(fset.fset):wheelup = "/fset -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" +@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" +@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" +@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" +@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};/input jump_last_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}" +@*:button3 = "/cursor go ${_x},${_y}" diff --git a/.config/weechat/xfer.conf b/.config/weechat/xfer.conf new file mode 100644 index 0000000..af29667 --- /dev/null +++ b/.config/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/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 diff --git a/.config/zsh/.zsh_plugins.txt b/.config/zsh/.zsh_plugins.txt new file mode 100644 index 0000000..93e3b24 --- /dev/null +++ b/.config/zsh/.zsh_plugins.txt @@ -0,0 +1,35 @@ +ohmyzsh/ohmyzsh path:plugins/git +ohmyzsh/ohmyzsh path:plugins/tmux +ohmyzsh/ohmyzsh path:plugins/history + +ohmyzsh/ohmyzsh path:plugins/archlinux +ohmyzsh/ohmyzsh path:plugins/aws +ohmyzsh/ohmyzsh path:plugins/direnv + +ohmyzsh/ohmyzsh path:plugins/tig +ohmyzsh/ohmyzsh path:plugins/vi-mode +ohmyzsh/ohmyzsh path:plugins/sudo +#ohmyzsh/ohmyzsh path:plugins/volta + + + +belak/zsh-utils path:editor +belak/zsh-utils path:history +belak/zsh-utils path:prompt +belak/zsh-utils path:utility +belak/zsh-utils path:completion + + +# prompts: +# with prompt plugins, remember to add this to your .zshrc: +# `autoload -Uz promptinit && promptinit && prompt pure` +sindresorhus/pure kind:fpath +romkatv/powerlevel10k kind:fpath + + +# popular fish-like plugins +mattmc3/zfunctions +zsh-users/zsh-autosuggestions +zsh-users/zsh-completions +zdharma-continuum/fast-syntax-highlighting kind:defer +zsh-users/zsh-history-substring-search diff --git a/.config/zsh/.zsh_plugins.zsh b/.config/zsh/.zsh_plugins.zsh new file mode 100644 index 0000000..b4f97c6 --- /dev/null +++ b/.config/zsh/.zsh_plugins.zsh @@ -0,0 +1,44 @@ +if ! (( $+functions[zsh-defer] )); then + fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-romkatv-SLASH-zsh-defer ) + source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-romkatv-SLASH-zsh-defer/zsh-defer.plugin.zsh +fi +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/git ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/git/git.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/tmux ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/tmux/tmux.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/history ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/history/history.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/archlinux ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/archlinux/archlinux.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/aws ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/aws/aws.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/direnv ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/direnv/direnv.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/tig ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/tig/tig.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/vi-mode ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/vi-mode/vi-mode.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/sudo ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-ohmyzsh-SLASH-ohmyzsh/plugins/sudo/sudo.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/editor ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/editor/editor.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/history ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/history/history.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/prompt ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/prompt/prompt.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/utility ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/utility/utility.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/completion ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-belak-SLASH-zsh-utils/completion/completion.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-sindresorhus-SLASH-pure ) +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-romkatv-SLASH-powerlevel10k ) +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-mattmc3-SLASH-zfunctions ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-mattmc3-SLASH-zfunctions/zfunctions.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-autosuggestions ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-autosuggestions/zsh-autosuggestions.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions/zsh-completions.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zdharma-continuum-SLASH-fast-syntax-highlighting ) +zsh-defer source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zdharma-continuum-SLASH-fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh +fpath+=( /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search ) +source /home/alhassan/.cache/antidote/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search/zsh-history-substring-search.plugin.zsh diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 38a0358..8edfdcf 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,64 +1,84 @@ -# Created by newuser for 5.8.1 +# User Information +export NAME="Al-Hassan Abdel-Raouf" +export EMAIL="alhassanaraouf@disroot.org" -# ZI Plugin Manager Setup +export LC_ALL=en_US.utf8 +export LANG=en_US.utf8 -export ZI_HOME=${HOME}/.config/zsh/zi +export VISUAL=nvim +export EDITOR=$VISUAL +#export BROWSER=lynx +#export TERM=tym -declare -A ZI -ZI[HOME_DIR]=$ZI_HOME -ZI[BIN_DIR]=$ZI_HOME/bin +ZSH_TMUX_CONFIG=${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf +ZSH_TMUX_AUTOSTART=true +ZSH_TMUX_AUTOCONNECT=false -export ZPFX=$ZI_HOME/polaris - -if [[ ! -f $HOME/.config/zsh/zi/bin/zi.zsh ]]; then - print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f" - command mkdir -p "$HOME/.config/zsh/zi" && command chmod g-rwX "$HOME/.config/zsh/zi" - command git clone -q --depth=1 --branch "main" https://github.com/z-shell/zi "$HOME/.config/zsh/zi/bin" && \ - print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \ - print -P "%F{160}▓▒░ The clone has failed.%f%b" +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi -source "$HOME/.config/zsh/zi/bin/zi.zsh" -autoload -Uz _zi -(( ${+_comps} )) && _comps[zi]=_zi -# examples here -> https://z-shell.pages.dev/docs/gallery/collection -zicompinit # <- https://z-shell.pages.dev/docs/gallery/collection#minimal + +# Lines configured by zsh-newuser-install +HISTFILE=$ZDOTDIR/histfile +HISTSIZE=1000 +SAVEHIST=1000 +setopt hist_ignore_all_dups # ignore duplicated commands history list +setopt extended_history # record timestamp of command in HISTFILE +setopt hist_verify # show command with history expansion to user before running it +setopt hist_ignore_space # ignore commands that start with space + +# vi Mode +bindkey -v + +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/alhassan/.zshrc' + +autoload -Uz compinit +compinit +# End of lines added by compinstall -# Loading Plugins - -zi load z-shell/zui -zi load z-shell/zbrowse -# zi load z-shell/zi-console -zi wait lucid for z-shell/zi-console -zi load z-shell/zsh-cmd-architect -zi load z-shell/zsh-navigation-tools -zi light z-shell/zzcomplete -zi load z-shell/H-S-MW -zi light z-shell/F-Sy-H - -zi load mattmc3/omz-themes-standalone -# zi load ohmyzsh/ohmyzsh -zi snippet OMZP::git -zi snippet OMZP::composer -zi snippet OMZP::history -zi snippet OMZT::robbyrussell -zi load zsh-users/zsh-autosuggestions +source '/usr/share/zsh-antidote/antidote.zsh' +antidote load -# zi load zsh-users/zsh-syntax-highlighting -zi load zsh-users/zsh-completions +autoload -Uz promptinit && promptinit && prompt powerlevel10k -zi load zshzoo/zshrc.d +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh -zi load notf0und/zsh-vapor -zi load jessarcher/zsh-artisan +# zsh autosuggest plugin +export ZSH_AUTOSUGGEST_STRATEGY=(history completion) +# Lynx config +export LYNX_CFG=~/.config/lynx/lynx.cfg + +# add my scripts +PATH=~/scripts:/usr/bin:$PATH +export PATH=/opt/openresty/bin:$PATH +# fly cli +export FLYCTL_INSTALL="${HOME}/.config/fly" +export PATH="$FLYCTL_INSTALL/bin:$PATH" +# adding composer packages +export PATH=~/.config/composer/vendor/bin/:$PATH +# adding Rust binary package +export PATH="$PATH:$HOME/.cargo/bin" +# adding Volta +export VOLTA_HOME="$HOME/.volta" +export PATH="$VOLTA_HOME/bin:$PATH" + +# adding personal bin directory +export PATH="$HOME/bin:$PATH" diff --git a/.config/zsh/zshrc.d/01info.zsh b/.config/zsh/zshrc.d/01info.zsh deleted file mode 100644 index cf73969..0000000 --- a/.config/zsh/zshrc.d/01info.zsh +++ /dev/null @@ -1,5 +0,0 @@ - -# User Information -export NAME="Al-Hassan Abdel-Raouf" -export EMAIL="alhassanaraouf@disroot.org" - diff --git a/.config/zsh/zshrc.d/02setting.zsh b/.config/zsh/zshrc.d/02setting.zsh deleted file mode 100644 index 8917925..0000000 --- a/.config/zsh/zshrc.d/02setting.zsh +++ /dev/null @@ -1,29 +0,0 @@ -# History Setting - -HISTFILE= $ZDOTDIR/history -HISTSIZE=1000 -SAVEHIST=1000 - - -setopt autocd beep extendedglob nomatch notify - - -# vi Mode -# bindkey -v - - -# End of lines configured by zsh-newuser-install -# The following lines were added by compinstall -# zstyle :compinstall filename '/home/runner/.zshrc' - -# compeletion -autoload -U compinit -compinit - - -setopt hist_ignore_all_dups # ignore duplicated commands history list -setopt extended_history # record timestamp of command in HISTFILE -setopt hist_verify # show command with history expansion to user before running it -setopt hist_ignore_space # ignore commands that start with space - - diff --git a/.config/zsh/zshrc.d/03programs.zsh b/.config/zsh/zshrc.d/03programs.zsh deleted file mode 100644 index e02b313..0000000 --- a/.config/zsh/zshrc.d/03programs.zsh +++ /dev/null @@ -1,24 +0,0 @@ -# Default Programs -export VISUAL=vis -export EDITOR=$VISUAL -#export BROWSER=lynx -#export TERM=xfce4-terminal - -# Lynx config -export LYNX_CFG=~/.config/lynx/lynx.cfg - - - -# fly cli -export FLYCTL_INSTALL="${HOME}/.config/fly" - - - -# NVM -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm - - -# zsh autosuggest plugin -export ZSH_AUTOSUGGEST_STRATEGY=(history completion) - diff --git a/.config/zsh/zshrc.d/04path.zsh b/.config/zsh/zshrc.d/04path.zsh deleted file mode 100644 index 2c5e500..0000000 --- a/.config/zsh/zshrc.d/04path.zsh +++ /dev/null @@ -1,9 +0,0 @@ - -# adding composer packages -PATH=~/.config/composer/vendor/bin/:$PATH - -# add my scripts -PATH=~/scripts:$PATH - -# adding fly.io -export PATH="$FLYCTL_INSTALL/bin:$PATH" \ No newline at end of file diff --git a/.zshenv b/.zshenv index c3617c0..7ba4318 100644 --- a/.zshenv +++ b/.zshenv @@ -1 +1 @@ -export ZDOTDIR=$HOME/.config/zsh \ No newline at end of file +export ZDOTDIR=${XDG_CONFIG_HOME:-$HOME/.config}/zsh