summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2023-03-19 17:00:55 -0300
committerAnna (navi) Figueiredo Gomes <navi@vlhl.dev>2023-03-19 17:00:55 -0300
commitb876e4afcab3d01f9207f9f4794828fd8b091d9d (patch)
tree961668cb627df81fc8b75e1041c8d971700d7256
parent0749b67fbf4bcffda1ad75d9d343dfc753faf706 (diff)
nvim,zzszh,gpg,i3
-rwxr-xr-x.config/i3/config250
-rwxr-xr-x.config/i3status/config63
-rw-r--r--.config/neomutt/options5
-rw-r--r--.config/nvim/.luarc.json4
-rwxr-xr-x.config/nvim/colors/test.lua1
-rwxr-xr-x.config/nvim/init.lua5
-rwxr-xr-x.config/nvim/lua/autocmds.lua29
-rwxr-xr-x.config/nvim/lua/keymaps.lua68
-rwxr-xr-x.config/nvim/lua/lilies.lua34
-rwxr-xr-x.config/nvim/lua/options.lua28
-rwxr-xr-x.config/nvim/lua/plugins.lua198
-rw-r--r--.config/nvim/lua/statusline.lua202
-rwxr-xr-x.config/nvim/lua/ui.lua0
-rwxr-xr-x.config/nvim/lua/util.lua34
-rw-r--r--.config/nvim/plugin/packer_compiled.lua189
-rwxr-xr-x.config/picom/picom.conf453
-rw-r--r--.config/zsh/.zcompdump2088
-rwxr-xr-x.config/zsh/.zprofile18
-rwxr-xr-x.config/zsh/.zshenv66
-rwxr-xr-x.config/zsh/.zshrc269
-rwxr-xr-x.local/share/gnupg/gpg.conf31
21 files changed, 4035 insertions, 0 deletions
diff --git a/.config/i3/config b/.config/i3/config
new file mode 100755
index 0000000..5708248
--- /dev/null
+++ b/.config/i3/config
@@ -0,0 +1,250 @@
+#==========================================================
+#
+# ██╗██████╗ ██████╗ █████╗ ██████╗ ███████╗
+# ██║╚════██╗ ██╔════╝ ██╔══██╗██╔══██╗██╔════╝
+# ██║ █████╔╝█████╗██║ ███╗███████║██████╔╝███████╗
+# ██║ ╚═══██╗╚════╝██║ ██║██╔══██║██╔═══╝ ╚════██║
+# ██║██████╔╝ ╚██████╔╝██║ ██║██║ ███████║
+# ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝
+#
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+#==========================================================
+
+
+# ======================== Startup ========================
+
+# ============ Modkey ============
+set $mod Mod4
+set $term sakura
+set $monlf eDP1
+set $monrt HDMI-1-0
+set $menu rofi -show drun -show-icons
+
+# ============ Workspaces Setup ============
+set $ws1 "1:一"
+set $ws2 "2:二"
+set $ws3 "3:三"
+set $ws4 "4:四"
+set $ws5 "5:五"
+set $ws6 "6:六"
+set $ws7 "7:七"
+set $ws8 "8:八"
+set $ws9 "9:九"
+set $ws10 "10:十"
+
+workspace $ws1 output $monlf
+workspace $ws2 output $monlf
+workspace $ws3 output $monlf
+workspace $ws4 output $monlf
+workspace $ws5 output $monlf
+workspace $ws6 output $monrt
+workspace $ws7 output $monrt
+workspace $ws8 output $monrt
+workspace $ws9 output $monrt
+workspace $ws10 output $monrt
+
+bindsym $mod+1 workspace number $ws1
+bindsym $mod+2 workspace number $ws2
+bindsym $mod+3 workspace number $ws3
+bindsym $mod+4 workspace number $ws4
+bindsym $mod+5 workspace number $ws5
+bindsym $mod+6 workspace number $ws6
+bindsym $mod+7 workspace number $ws7
+bindsym $mod+8 workspace number $ws8
+bindsym $mod+9 workspace number $ws9
+bindsym $mod+0 workspace number $ws10
+
+bindsym $mod+Shift+1 move container to workspace number $ws1
+bindsym $mod+Shift+2 move container to workspace number $ws2
+bindsym $mod+Shift+3 move container to workspace number $ws3
+bindsym $mod+Shift+4 move container to workspace number $ws4
+bindsym $mod+Shift+5 move container to workspace number $ws5
+bindsym $mod+Shift+6 move container to workspace number $ws6
+bindsym $mod+Shift+7 move container to workspace number $ws7
+bindsym $mod+Shift+8 move container to workspace number $ws8
+bindsym $mod+Shift+9 move container to workspace number $ws9
+bindsym $mod+Shift+0 move container to workspace number $ws10
+
+# ============ Colors ============
+set_from_resource $accent accent #285577
+set_from_resource $border border #285577
+set_from_resource $inactive_border inactive_border #5f676a
+set_from_resource $unfocused_border color0 #222222
+set_from_resource $background background #285577
+set_from_resource $text foreground #ffffff
+set_from_resource $indicator indicator #2e9ef4
+set_from_resource $sec_indicator sec_indicator
+set_from_resource $urgent alert #900000
+
+client.focused $border $background $text $indicator $border
+client.focused_inactive $inactive_border $background $text $sec_indicator $inactive_border
+client.unfocused $unfocused_border $background $text $sec_indicator $unfocused_border
+client.urgent $urgent $background $text $indicator $urgent
+
+font pango:JetBrains Mono 9
+#for_window [class=".*"] border pixel 2
+#gaps inner 5
+
+# ============ Modes ============
+bindsym $mod+r mode "resize"
+#mode "resize" {
+ #bindsym Left resize shrink width 5 px or 5 ppt
+ #bindsym Down resize shrink height 5 px or 5 ppt
+ #bindsym Up resize grow height 5 px or 5 ppt
+ #bindsym Right resize grow width 5 px or 5 ppt
+#
+ #bindsym h resize shrink width 5 px or 5 ppt
+ #bindsym j resize shrink height 5 px or 5 ppt
+ #bindsym k resize grow height 5 px or 5 ppt
+ #bindsym l resize grow width 5 px or 5 ppt
+#
+ #bindsym Return mode "default"
+ #bindsym Escape mode "default"
+ #bindsym $mod+r mode "default"
+#}
+
+bindsym $mod+s exec --no-startup-id "i3-big-swap.py"
+# mode "settings"
+#mode "settings" {
+ #bindsym d exec dunstctl set-paused toggle
+ #bindsym b exec bluetooth-notif --toggle
+ #bindsym n exec networkmanager_dmenu, mode "default"
+ #bindsym m exec pamixer -t
+ #bindsym v exec pavucontrol
+ #bindsym a exec --no-startup-id "audio-output.sh", mode "default"
+ #bindsym o exec --no-startup-id "hdmi-xrandr", mode "default"
+ #bindsym r exec --no-startup-id "record-screen.sh", mode "default"
+ #bindsym S exec --no-startup-id "i3-big-swap.py", mode "default"
+#
+ #bindsym Escape mode "default"
+#}
+
+# ======================== Keybinds ========================
+# ============ System Keybinds ============
+bindsym $mod+Ctrl+c reload
+bindsym $mod+Ctrl+r restart
+bindsym $mod+q kill
+bindsym $mod+Ctrl+Shift+q exec poweroff
+bindsym $mod+Ctrl+Shift+e exit
+bindsym $mod+Ctrl+Shift+r exec restart
+
+bindsym $mod+u [urgent=latest] focus
+
+#bindsym $mod+g gaps inner all toggle 5
+
+bindsym $mod+Return exec $term
+bindsym $mod+p exec $menu
+#bindsym $mod+Shift+x exec dm-tool lock
+
+floating_modifier $mod
+
+#bindsym $mod+Escape exec "main-menu"
+
+bindsym $mod+b split h
+bindsym $mod+v split v
+bindsym $mod+Tab split toggle
+bindsym $mod+Escape workspace back_and_forth
+
+bindsym $mod+t layout tabbed
+bindsym $mod+w layout default
+bindsym $mod+Shift+Tab layout toggle split
+
+bindsym $mod+BackSpace focus mode_toggle
+bindsym $mod+Shift+BackSpace floating toggle
+bindsym $mod+Ctrl+BackSpace sticky toggle
+
+bindsym $mod+f fullscreen toggle
+bindsym $mod+a focus parent
+bindsym $mod+d focus child
+
+# ============ Navegation & Focus Keybinds ============
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+bindsym $mod+Ctrl+h resize shrink width 5 px or 5 ppt
+bindsym $mod+Ctrl+j resize shrink height 5 px or 5 ppt
+bindsym $mod+Ctrl+k resize grow height 5 px or 5 ppt
+bindsym $mod+Ctrl+l resize grow width 5 px or 5 ppt
+
+bindsym $mod+Shift+minus move scratchpad
+bindsym $mod+minus scratchpad show
+bindsym $mod+tilda for_window [instace="dropdown_*"] scratchpad show
+bindsym $mod+g [class="scrcpy"] scratchpad show
+
+# ============ Funcion Keys ============
+bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5
+bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5
+bindsym XF86AudioMute exec --no-startup-id pamixer -t
+
+bindsym XF86AudioPlay exec --no-startup-id "mpc toggle"
+bindsym XF86AudioNext exec --no-startup-id "mpc next"
+bindsym XF86AudioPrev exec --no-startup-id "mpc prev"
+
+bindsym $mod+m mode "music"
+
+mode "music" {
+ bindsym a exec --no-startup-id "music album", mode "default"
+ bindsym m exec --no-startup-id "music title", mode "default"
+ bindsym s exec --no-startup-id "music artist", mode "default"
+
+ bindsym Escape mode "default"
+}
+
+bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl s +5%
+bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl s 5%-
+
+# ============ User Keybinds ============
+bindsym $mod+Shift+S exec --no-startup-id "pastedit -s"
+bindsym $mod+Control+S exec --no-startup-id "pastedit"
+
+# ============ System Application Startup ============
+exec_always --no-startup-id "~/.local/bin/hdmi-xrandr --extend"
+exec_always --no-startup-id "xwallpaper --zoom \"${HOME}/.config/wallpaper\""
+
+exec --no-startup-id picom --experimental-backend &
+#exec --no-startup-id sakura --class=weechat -x weechat
+#exec --no-startup-id sakura --class=neomutt -x neomutt
+#exec --no-startup-id discord &
+#exec --no-startup-id steam &
+
+# ============ User Application Startup ============
+# ============ Window Rules ============
+for_window [all] title_window_icon yes, title_window_icon padding 3px
+for_window [class="Pavucontrol"] floating enable
+for_window [title="Picture-in-Picture"] sticky enable
+for_window [class="Dragon-drag-and-drop"] sticky enable
+for_window [class=".*.exe"] floating enable
+for_window [class="scrcpy"] floating enable, sticky enable, move scratchpad, scratchpad show
+
+assign [class="leagueclient.exe"] $ws5
+assign [class="leagueclientux.exe"] $ws5
+assign [class="riotclientservices.exe"] $ws5
+assign [class="neomutt"] $ws7
+assign [class="weechat"] $ws8
+assign [class="Steam"] $ws9
+assign [class="discord"] $ws10
+
+bar {
+ status_command i3status
+ strip_workspace_numbers yes
+ position bottom
+ colors {
+ background $background
+ statusline $text
+ separator #ff0000
+ # Category Border Background Text
+ focused_workspace $accent $accent #000000
+ active_workspace $unfocused_border $unfocused_border $text
+ inactive_workspace $background $background $text
+ urgent_workspace $urgent $urgent $text
+ binding_mode $background $background $text
+
+ }
+}
diff --git a/.config/i3status/config b/.config/i3status/config
new file mode 100755
index 0000000..f0d8ce2
--- /dev/null
+++ b/.config/i3status/config
@@ -0,0 +1,63 @@
+# i3status configuration file.
+# see "man i3status" for documentation.
+
+# It is important that this file is edited as UTF-8.
+# The following line should contain a sharp s:
+# ß
+# If the above line is not correctly displayed, fix your editor first!
+
+general {
+ colors = false
+ color_separator = "#CDD6F4"
+ interval = 5
+ output_format = "none"
+}
+
+#order += "ipv6"
+#order += "wireless _first_"
+order += "ethernet _first_"
+#order += "battery all"
+order += "disk /"
+#order += "disk /mnt/hdd"
+order += "load"
+order += "memory"
+order += "time"
+
+wireless _first_ {
+ format_up = " %ip (%quality at %essid)"
+ format_down = "睊"
+ format_quality = "%d%s"
+}
+
+ethernet _first_ {
+ format_up = " %ip (%speed)"
+ format_down = ""
+}
+
+battery all {
+ format = " %percentage"
+}
+
+disk "/" {
+ format = " %used"
+}
+
+load {
+ format = "L: %1min"
+}
+
+volume master {
+ device = "default"
+ format = " %volume"
+ format_muted = " muted"
+}
+
+memory {
+ format = "﬙ %used"
+ threshold_degraded = "1G"
+ format_degraded = "MEMORY < %available"
+}
+
+time {
+ format = " %b %d (%a) %I:%M%p"
+}
diff --git a/.config/neomutt/options b/.config/neomutt/options
index b94706b..a8cf7d2 100644
--- a/.config/neomutt/options
+++ b/.config/neomutt/options
@@ -18,6 +18,8 @@ set smtp_pass = `pass navi@vlhl.dev`
set imap_check_subscribed
set imap_pass = `pass navi@vlhl.dev`
+set auto_subscribe = yes
+
set pgp_default_key = "navi@vlhl.dev"
set crypt_auto_sign = yes
set crypt_verify_sig = yes
@@ -29,6 +31,9 @@ set pager_context = 3
set pager_stop = yes
set menu_scroll = yes
+set use_threads = yes
+set hide_thread_subject = no
+
set status_format = "[ %f ]%>─[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)?%?p? (%p postponed)? ]"
set status_chars = " *%A"
diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json
new file mode 100644
index 0000000..e1b9d70
--- /dev/null
+++ b/.config/nvim/.luarc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
+ "Lua.workspace.checkThirdParty": false
+} \ No newline at end of file
diff --git a/.config/nvim/colors/test.lua b/.config/nvim/colors/test.lua
new file mode 100755
index 0000000..c46a1b7
--- /dev/null
+++ b/.config/nvim/colors/test.lua
@@ -0,0 +1 @@
+print('test dot lua')
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
new file mode 100755
index 0000000..e8e750e
--- /dev/null
+++ b/.config/nvim/init.lua
@@ -0,0 +1,5 @@
+require('options')
+require('keymaps')
+require('autocmds')
+require('plugins')
+require('statusline')
diff --git a/.config/nvim/lua/autocmds.lua b/.config/nvim/lua/autocmds.lua
new file mode 100755
index 0000000..5fcb496
--- /dev/null
+++ b/.config/nvim/lua/autocmds.lua
@@ -0,0 +1,29 @@
+vim.api.nvim_create_autocmd('BufWritePost', {
+ pattern = "config",
+ command = '!i3-msg -q reload',
+})
+
+vim.api.nvim_create_autocmd('BufWritePost', {
+ pattern = "*.tex",
+ command = 'silent !pdflatex %',
+})
+
+vim.api.nvim_create_autocmd('BufWritePre', {
+ pattern = 'todo.txt',
+ command = 'sort',
+})
+
+--vim.api.nvim_create_autocmd('VimEnter', {
+ --once = true,
+ --callback = function()
+ --if vim.fn.filereadable('Session.vim') then
+ --vim.cmd('source Session.vim')
+ --end
+ --end
+--})
+
+vim.api.nvim_create_autocmd('TextYankPost', {
+ callback = function ()
+ vim.highlight.on_yank({ higroup = 'IncSearch', timeout = 200})
+ end,
+})
diff --git a/.config/nvim/lua/keymaps.lua b/.config/nvim/lua/keymaps.lua
new file mode 100755
index 0000000..16de10f
--- /dev/null
+++ b/.config/nvim/lua/keymaps.lua
@@ -0,0 +1,68 @@
+vim.g.mapleader = " "
+local function keymap(mode, lhs, rhs, opts)
+ opts = opts or { noremap = true, silent = true }
+ vim.keymap.set(mode, lhs, rhs, opts)
+end
+
+keymap('n', '<leader><leader>',
+ function() require('luasnip').jump(1) end,
+ {noremap = true, silent = true})
+
+-- Map leader + s and v/h to open split
+keymap('n', '<leader>sp', ':sp<CR>')
+keymap('n', '<leader>sv', ':vsp<CR>')
+
+keymap('n', '<leader>q', ':q<CR>')
+
+keymap('n', '<C-q>', ':mksession!<space>nvim-session<Enter>:wqa<Enter>')
+keymap('n', '<C-s>', ':wa<Enter>:mksession!<space>nvim-session<Enter>')
+keymap('n', '<C-p>', ':source<space>nvim-session<Enter>')
+
+keymap('n', '<leader>y', '"+y')
+keymap('n', '<leader>d', '"+d')
+keymap('n', '<leader>p', '"+p')
+keymap('n', '<leader>Y', '"+Y')
+keymap('n', '<leader>D', '"+D')
+keymap('n', '<leader>P', '"+P')
+
+keymap('v', '<leader>y', '"+y')
+keymap('v', '<leader>d', '"+d')
+keymap('v', '<leader>p', '"+p')
+keymap('v', '<leader>Y', '"+Y')
+keymap('v', '<leader>D', '"+D')
+keymap('v', '<leader>P', '"+P')
+
+keymap('n', '<M-h>', '<C-w>h')
+keymap('n', '<M-k>', '<C-w>k')
+keymap('n', '<M-j>', '<C-w>j')
+keymap('n', '<M-l>', '<C-w>l')
+
+keymap('v', '<', '<gv')
+keymap('v', '>', '>gv')
+
+keymap('i', '<C-BS>', '<C-w>')
+
+vim.api.nvim_create_autocmd('User', {
+ pattern = 'LspAttached',
+ desc = 'LSP Keymaps',
+ callback = function()
+ local function bufmap(mode, lhs, rhs)
+ keymap(mode, lhs, rhs, { silent = true, noremap = true, buffer = true })
+ end
+
+ bufmap('n', 'gD', vim.lsp.buf.declaration)
+ bufmap('n', 'gd', vim.lsp.buf.definition)
+ bufmap('n', 'K', vim.lsp.buf.hover)
+ bufmap('n', 'gi', vim.lsp.buf.implementation)
+ bufmap('n', '<C-k>', vim.lsp.buf.signature_help)
+ bufmap('n', '<leader>wa', vim.lsp.buf.add_workspace_folder)
+ bufmap('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder)
+ bufmap('n', '<leader>wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end)
+ bufmap('n', '<leader>D', vim.lsp.buf.type_definition)
+ bufmap('n', '<leader>rn', vim.lsp.buf.rename)
+ bufmap('n', '<leader>ca', vim.lsp.buf.code_action)
+ bufmap('n', 'gr', vim.lsp.buf.references)
+ bufmap('n', '<leader>f', vim.lsp.buf.formatting)
+ bufmap('n', '<leader>e', vim.diagnostic.open_float)
+ end
+})
diff --git a/.config/nvim/lua/lilies.lua b/.config/nvim/lua/lilies.lua
new file mode 100755
index 0000000..d492426
--- /dev/null
+++ b/.config/nvim/lua/lilies.lua
@@ -0,0 +1,34 @@
+local M = {}
+
+local function highlight(group, style)
+ local effect = style.effect and 'gui=' .. style.effect or 'gui=NONE'
+ local fg = style.fg and 'gui=' .. style.fg or 'gui=NONE'
+ local bg = style.bg and 'gui=' .. style.bg or 'gui=NONE'
+ local sp = style.sp and 'gui=' .. style.sp or 'gui=NONE'
+end
+
+local colors = {
+ color0 = "#20201d"
+ color1 = "#d73737"
+ color2 = "#60ac39"
+ color3 = "#cfb017"
+ color4 = "#6684e1"
+ color5 = "#b854d4"
+ color6 = "#1fad83"
+ color7 = "#a6a28c"
+ color8 = "#7d7a68"
+ color9 = "#d73737"
+ color10 = "#60ac39"
+ color11 = "#cfb017"
+ color12 = "#6684e1"
+ color13 = "#b854d4"
+ color14 = "#1fad83"
+ color15 = "#fefbec"
+ cursorColor = "#a6a28c"
+ background = "#20201d"
+ foreground = "#a6a28c"
+}
+
+function M.colorscheme()
+
+end
diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua
new file mode 100755
index 0000000..a32fe58
--- /dev/null
+++ b/.config/nvim/lua/options.lua
@@ -0,0 +1,28 @@
+--vim.opt.termguicolors = true
+vim.opt.showmode = false
+vim.opt.path = '.,,**'
+
+-- Fix split spaw location
+vim.opt.splitbelow = true
+vim.opt.splitright = true
+vim.opt.number = true
+vim.opt.relativenumber = false
+vim.opt.cursorline = true
+
+vim.opt.autoindent = true
+vim.opt.expandtab = false
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 0
+vim.opt.list = true
+
+vim.opt.laststatus = 2
+vim.opt.foldmethod = 'marker'
+
+vim.opt.mouse = 'a'
+vim.opt.scrolloff = 15
+
+vim.opt.synmaxcol = 300
+
+vim.opt.cmdheight = 0
+
+--vim.g.editorconfig = true
diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua
new file mode 100755
index 0000000..9655992
--- /dev/null
+++ b/.config/nvim/lua/plugins.lua
@@ -0,0 +1,198 @@
+local ensure_packer = function()
+ local fn = vim.fn
+ local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
+ if fn.empty(fn.glob(install_path)) > 0 then
+ fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
+ vim.cmd [[packadd packer.nvim]]
+ return true
+ end
+ return false
+end
+
+local packer_bootstrap = ensure_packer()
+
+return require('packer').startup(function(use)
+ use 'wbthomason/packer.nvim'
+
+ use {
+ 'rose-pine/neovim',
+ as = 'rose-pine',
+ config = function()
+ vim.cmd('colorscheme rose-pine')
+ end
+ }
+
+ use {
+ "SmiteshP/nvim-navic",
+ requires = "neovim/nvim-lspconfig"
+ }
+
+ use {
+ "folke/which-key.nvim",
+ config = function()
+ require("which-key").setup {
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+ }
+ end
+ }
+
+ use {
+ 'neovim/nvim-lspconfig',
+ config = function()
+ local lspconfig = require('lspconfig')
+ local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
+ local cache = os.getenv("XDG_RUNTIME_DIR") or "/tmp/"
+
+ local on_attach = function(client, bufnr)
+ vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'})
+ require('nvim-navic').attach(client, bufnr)
+ end
+
+ lspconfig.ccls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ single_file_support = true,
+ init_options = {
+ cache = {
+ directory = cache .. "/ccls"
+ }
+ }
+ }
+
+ lspconfig.phpactor.setup {
+ on_attach = on_attach,
+ capabilities = capabilities
+ }
+
+ lspconfig.bashls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities
+ }
+
+ lspconfig.rust_analyzer.setup {
+ on_attach = on_attach,
+ capabilities = capabilities
+ }
+
+ lspconfig.lua_ls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ settings = {
+ Lua = {
+ runtime = {
+ version = 'LuaJIT',
+ },
+
+ diagnostics = {
+ globals = {'vim'},
+ },
+
+ workspace = {
+ library = vim.api.nvim_get_runtime_file("", true),
+ },
+
+ telemetry = {
+ enable = false,
+ }
+ }
+ }
+ }
+ end
+ }
+
+ use {
+ 'nvim-treesitter/nvim-treesitter',
+ run = ':TSUpdate',
+ config = function()
+ require'nvim-treesitter.configs'.setup {
+ ensure_installed = { "c", "cpp", "php", "lua" },
+ sync_install = false,
+ auto_install = true,
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = false,
+ }
+ }
+ end
+ }
+
+ use {
+ 'hrsh7th/nvim-cmp',
+ requires = {
+ 'hrsh7th/cmp-nvim-lsp',
+ 'hrsh7th/cmp-vsnip',
+ 'hrsh7th/vim-vsnip',
+ 'hrsh7th/cmp-nvim-lsp-signature-help',
+ 'hrsh7th/cmp-nvim-lsp-document-symbol',
+ },
+ config = function()
+ -- Setup nvim-cmp.
+ local cmp = require'cmp'
+ local has_words_before = function()
+ local line, col = unpack(vim.api.nvim_win_get_cursor(0))
+ return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
+ end
+
+ local feedkey = function(key, mode)
+ vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
+ end
+
+ cmp.setup({
+ snippet = {
+ -- REQUIRED - you must specify a snippet engine
+ expand = function(args)
+ vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
+ -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
+ -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
+ -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
+ end,
+ },
+ window = {
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.abort(),
+ ['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
+ ['<Tab>'] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ elseif vim.fn["vsnip#available"](1) == 1 then
+ feedkey("<Plug>(vsnip-expand-or-jump)", "")
+ elseif has_words_before() then
+ cmp.complete()
+ else
+ fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
+ end
+ end, { "i", "s" }),
+ ['<S-Tab>'] = cmp.mapping(function()
+ if cmp.visible() then
+ cmp.select_prev_item()
+ elseif vim.fn["vsnip#jumpable"](-1) == 1 then
+ feedkey("<Plug>(vsnip-jump-prev)", "")
+ end
+ end, { "i", "s" }),
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lsp' },
+ { name = 'vsnip' }, -- For vsnip users.
+ -- { name = 'luasnip' }, -- For luasnip users.
+ -- { name = 'ultisnips' }, -- For ultisnips users.
+ -- { name = 'snippy' }, -- For snippy users.
+ { name = 'nvim_lsp_signature_help' }
+ }, {
+ { name = 'buffer' },
+ })
+ })
+ end
+ }
+
+ if packer_bootstrap then
+ require('packer').sync()
+ end
+end)
diff --git a/.config/nvim/lua/statusline.lua b/.config/nvim/lua/statusline.lua
new file mode 100644
index 0000000..b7b6ed9
--- /dev/null
+++ b/.config/nvim/lua/statusline.lua
@@ -0,0 +1,202 @@
+local fn = vim.fn
+local api = vim.api
+
+-- possible values are 'arrow' | 'rounded' | 'blank'
+local active_sep = 'blank'
+
+-- change them if you want to different separator
+local separators = {
+ arrow = { '', '' },
+ rounded = { '', '' },
+ blank = { '', '' },
+}
+
+-- highlight groups
+local colors = {
+ active = '%#StatusLine#',
+ inactive = '%#StatuslineNC#',
+ mode = '%#Mode#',
+ mode_alt = '%#ModeAlt#',
+ git = '%#Git#',
+ git_alt = '%#GitAlt#',
+ filetype = '%#Filetype#',
+ filetype_alt = '%#FiletypeAlt#',
+ line_col = '%#LineCol#',
+ line_col_alt = '%#LineColAlt#',
+}
+
+local trunc_width = setmetatable({
+ mode = 80,
+ git_status = 90,
+ filename = 140,
+ line_col = 60,
+}, {
+ __index = function()
+ return 80
+ end
+})
+
+local is_truncated = function(_, width)
+ local current_width = api.nvim_win_get_width(0)
+ return current_width < width
+end
+
+--local modes = setmetatable({
+ --['n'] = {'Normal', 'N'};
+ --['no'] = {'N·Pending', 'N·P'} ;
+ --['v'] = {'Visual', 'V' };
+ --['V'] = {'V·Line', 'V·L' };
+ --[''] = {'V·Block', 'V·B'}; -- this is not ^V, but it's , they're different
+ --['s'] = {'Select', 'S'};
+ --['S'] = {'S·Line', 'S·L'};
+ --[''] = {'S·Block', 'S·B'}; -- same with this one, it's not ^S but it's 
+ --['i'] = {'Insert', 'I'};
+ --['ic'] = {'Insert', 'I'};
+ --['R'] = {'Replace', 'R'};
+ --['Rv'] = {'V·Replace', 'V·R'};
+ --['c'] = {'Command', 'C'};
+ --['cv'] = {'Vim·Ex ', 'V·E'};
+ --['ce'] = {'Ex ', 'E'};
+ --['r'] = {'Prompt ', 'P'};
+ --['rm'] = {'More ', 'M'};
+ --['r?'] = {'Confirm ', 'C'};
+ --['!'] = {'Shell ', 'S'};
+ --['t'] = {'Terminal ', 'T'};
+--}, {
+ --__index = function()
+ --return {'Unknown', 'U'} -- handle edge cases
+ --end
+--})
+
+local get_current_mode = function()
+ return string.format('[%s]', api.nvim_get_mode().mode )
+end
+
+local get_git_status = function()
+ -- use fallback because it doesn't set this variable on the initial `BufEnter`
+ local signs = vim.b.gitsigns_status_dict or {head = '', added = 0, changed = 0, removed = 0}
+ local is_head_empty = signs.head ~= ''
+
+ if is_truncated(trunc_width.git_status) then
+ return is_head_empty and string.format('  %s ', signs.head or '') or ''
+ end
+
+ return is_head_empty and string.format(
+ ' +%s ~%s -%s |  %s ',
+ signs.added, signs.changed, signs.removed, signs.head
+ ) or ''
+end
+
+local get_filename = function()
+ --if is_truncated(trunc_width.filename) then return "%<%f" end
+ return "%<%F"
+end
+
+local get_filetype = function()
+ local filetype = vim.bo.filetype
+ if filetype == '' then
+ return ''
+ end
+ return string.format('%s', filetype):lower()
+end
+
+local get_line_col = function()
+ return '%l:%c'
+end
+
+Statusline = {}
+
+Statusline.active = function()
+ local navic = require('nvim-navic')
+
+ --local mode = colors.mode .. self:get_current_mode()
+ --local mode_alt = colors.mode_alt .. self.separators[active_sep][1]
+ --local git = colors.git .. self:get_git_status()
+ --local git_alt = colors.git_alt .. self.separators[active_sep][1]
+ --local filename = colors.inactive .. self:get_filename() .. colors.git_alt
+ --local location = ""
+ --if navic.is_available() then
+ --location = navic.get_location()
+ --end
+ --local filetype_alt = colors.filetype_alt .. self.separators[active_sep][2]
+ --local filetype = colors.filetype .. self:get_filetype()
+ --local line_col = colors.line_col .. self:get_line_col()
+ --local line_col_alt = colors.line_col_alt .. self.separators[active_sep][2]
+
+ local mode = get_current_mode()
+ --local git = get_git_status()
+ local filename = get_filename() .. colors.git_alt
+ local location = ""
+ if navic.is_available() then
+ location = navic.get_location()
+ end
+ local filetype = get_filetype()
+ local line_col = get_line_col()
+
+ return table.concat({
+ mode, " ", filename, " ", "%m%r%q", " ", filetype,
+ "%=",
+ location, " ", line_col, " "
+ })
+end
+
+Statusline.inactive = function()
+ return colors.inactive .. '%F'
+end
+
+Statusline.set_explorer = function()
+ local title = colors.mode .. '  '
+ local title_alt = colors.mode_alt .. Statusline.separators[active_sep][2]
+
+ return table.concat({ colors.active, title, title_alt })
+end
+
+--Statusline = setmetatable(M, {
+ --__call = function(statusline, mode)
+ --if mode == "active" then return statusline:set_active() end
+ --if mode == "inactive" then return statusline:set_inactive() end
+ --if mode == "explorer" then return statusline:set_explorer() end
+ --end
+--})
+
+local augroup = api.nvim_create_augroup('Statusline', { clear = true})
+api.nvim_create_autocmd({"WinEnter", "BufEnter"}, {
+ command = "setlocal statusline=%!v:lua.Statusline.active()",
+ group = augroup
+})
+api.nvim_create_autocmd({"WinLeave", "BufLeave"}, {
+ command = "setlocal statusline=%!v:lua.Statusline.inactive()",
+ group = augroup
+})
+
+----[[
+-- NOTE: I don't use this since the statusline already has
+-- so much stuff going on. Feel free to use it!
+-- credit: https://github.com/nvim-lua/lsp-status.nvim
+--
+-- I now use `tabline` to display these errors, go to `_bufferline.lua` if you
+-- want to check that out
+----]]
+-- Statusline.get_lsp_diagnostic = function(self)
+-- local result = {}
+-- local levels = {
+-- errors = 'Error',
+-- warnings = 'Warning',
+-- info = 'Information',
+-- hints = 'Hint'
+-- }
+
+-- for k, level in pairs(levels) do
+-- result[k] = vim.lsp.diagnostic.get_count(0, level)
+-- end
+
+-- if self:is_truncated(120) then
+-- return ''
+-- else
+-- return string.format(
+-- "| :%s :%s :%s :%s ",
+-- result['errors'] or 0, result['warnings'] or 0,
+-- result['info'] or 0, result['hints'] or 0
+-- )
+-- end
+-- end
diff --git a/.config/nvim/lua/ui.lua b/.config/nvim/lua/ui.lua
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/.config/nvim/lua/ui.lua
diff --git a/.config/nvim/lua/util.lua b/.config/nvim/lua/util.lua
new file mode 100755
index 0000000..8b57d32
--- /dev/null
+++ b/.config/nvim/lua/util.lua
@@ -0,0 +1,34 @@
+return {
+ {
+ 'windwp/nvim-autopairs',
+ after = 'nvim-lspconfig',
+ config = function()
+ require('nvim-autopairs').setup{}
+ end
+ },
+ {
+ 'nvim-lua/plenary.nvim'
+ },
+ {
+ 'tversteeg/registers.nvim'
+ },
+ {
+ 'nvim-telescope/telescope.nvim',
+ -- requires = { 'nvim-lua/plenary.nvim' },
+ config = function()
+ local keymap = vim.api.nvim_set_keymap
+ local opts = { noremap = true, silent = true }
+
+ keymap('n', '<leader>ff', '<cmd>Telescope find_files<cr>', opts)
+ keymap('n', '<leader>fb', '<cmd>Telescope buffers<cr>', opts)
+ keymap('n', '<leader>fh', '<cmd>Telescope help_tags<cr>', opts)
+ keymap('n', '<leader>fg', '<cmd>Telescope live_grep<cr>', opts)
+ end
+ },
+ {
+ 'xiyaowong/which-key.nvim',
+ config = function()
+ require("which-key").setup()
+ end
+ }
+}
diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua
new file mode 100644
index 0000000..41ea80b
--- /dev/null
+++ b/.config/nvim/plugin/packer_compiled.lua
@@ -0,0 +1,189 @@
+-- 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()
+
+_G._packer = _G._packer or {}
+_G._packer.inside_compile = true
+
+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
+ if threshold then
+ table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
+ end
+
+ _G._packer.profile_output = results
+end
+
+time([[Luarocks path setup]], true)
+local package_path_str = "/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
+local install_cpath_pattern = "/home/anna/.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 = {
+ ["cmp-nvim-lsp"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp"
+ },
+ ["cmp-nvim-lsp-document-symbol"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-document-symbol",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol"
+ },
+ ["cmp-nvim-lsp-signature-help"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help",
+ url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help"
+ },
+ ["cmp-vsnip"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-vsnip",
+ url = "https://github.com/hrsh7th/cmp-vsnip"
+ },
+ ["nvim-cmp"] = {
+ config = { "\27LJ\2\n\1\0\0\b\0\b\2!6\0\0\0006\2\1\0009\2\2\0029\2\3\2)\4\0\0B\2\2\0A\0\0\3\b\1\0\0X\2\206\2\1\0009\2\2\0029\2\4\2)\4\0\0\23\5\1\0\18\6\0\0+\a\2\0B\2\5\2:\2\1\2\18\4\2\0009\2\5\2\18\5\1\0\18\6\1\0B\2\4\2\18\4\2\0009\2\6\2'\5\a\0B\2\3\2\n\2\0\0X\2\2+\2\1\0X\3\1+\2\2\0L\2\2\0\a%s\nmatch\bsub\23nvim_buf_get_lines\24nvim_win_get_cursor\bapi\bvim\vunpack\0\2p\0\2\n\0\4\0\0156\2\0\0009\2\1\0029\2\2\0026\4\0\0009\4\1\0049\4\3\4\18\6\0\0+\a\2\0+\b\2\0+\t\2\0B\4\5\2\18\5\1\0+\6\2\0B\2\4\1K\0\1\0\27nvim_replace_termcodes\18nvim_feedkeys\bapi\bvim;\0\1\4\0\4\0\0066\1\0\0009\1\1\0019\1\2\0019\3\3\0B\1\2\1K\0\1\0\tbody\20vsnip#anonymous\afn\bvim\1\0\1\5\3\b\1 -\1\0\0009\1\0\1B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\1\1B\1\1\1X\1\226\1\2\0009\1\3\0019\1\4\1)\3\1\0B\1\2\2\t\1\0\0X\1\5-\1\1\0'\3\5\0'\4\6\0B\1\3\1X\1\n-\1\2\0B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\a\1B\1\1\1X\1\2\18\1\0\0B\1\1\1K\0\1\0\0\2\1\rcomplete\5!<Plug>(vsnip-expand-or-jump)\20vsnip#available\afn\bvim\21select_next_item\fvisible\2\1\0\0\4\2\a\1\21-\0\0\0009\0\0\0B\0\1\2\15\0\0\0X\1\4-\0\0\0009\0\1\0B\0\1\1X\0\v6\0\2\0009\0\3\0009\0\4\0)\2B\0\2\2\t\0\0\0X\0\4-\0\1\0'\2\5\0'\3\6\0B\0\3\1K\0\1\0\0\2\5\28<Plug>(vsnip-jump-prev)\19vsnip#jumpable\afn\bvim\21select_prev_item\fvisible\2\4\1\0\r\0)\0O6\0\0\0'\2\1\0B\0\2\0023\1\2\0003\2\3\0009\3\4\0005\5\b\0005\6\6\0003\a\5\0=\a\a\6=\6\t\0055\6\r\0009\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\14\0069\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\15\6=\6\v\0059\6\16\0009\6\17\0069\6\18\0065\b\20\0009\t\16\0009\t\19\t)\vB\t\2\2=\t\21\b9\t\16\0009\t\19\t)\v\4\0B\t\2\2=\t\22\b9\t\16\0009\t\23\tB\t\1\2=\t\24\b9\t\16\0009\t\25\tB\t\1\2=\t\26\b9\t\16\0009\t\27\t5\v\28\0B\t\2\2=\t\29\b9\t\16\0003\v\30\0005\f\31\0B\t\3\2=\t \b9\t\16\0003\v!\0005\f\"\0B\t\3\2=\t#\bB\6\2\2=\6\16\0059\6\n\0009\6$\0064\b\4\0005\t%\0>\t\1\b5\t&\0>\t\2\b5\t'\0>\t\3\b4\t\3\0005\n(\0>\n\1\tB\6\3\2=\6$\5B\3\2\0012\0\0K\0\1\0\1\0\1\tname\vbuffer\1\0\1\tname\28nvim_lsp_signature_help\1\0\1\tname\nvsnip\1\0\1\tname\rnvim_lsp\fsources\f<S-Tab>\1\3\0\0\6i\6s\0\n<Tab>\1\3\0\0\6i\6s\0\t<CR>\1\0\1\vselect\1\fconfirm\n<C-e>\nabort\14<C-Space>\rcomplete\n<C-f>\n<C-b>\1\0\0\16scroll_docs\vinsert\vpreset\fmapping\18documentation\15completion\1\0\0\rbordered\vwindow\vconfig\fsnippet\1\0\0\vexpand\1\0\0\0\nsetup\0\0\bcmp\frequire\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-cmp",
+ url = "https://github.com/hrsh7th/nvim-cmp"
+ },
+ ["nvim-lspconfig"] = {
+ config = { "\27LJ\2\nw\0\2\6\1\6\0\f6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1-\2\0\0009\2\5\2\18\4\0\0\18\5\1\0B\2\3\1K\0\1\0\3\vattach\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\6\1\0\15\0003\0U6\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0026\2\b\0009\2\t\2'\4\n\0B\2\2\2\14\0\2\0X\3\1'\2\v\0006\3\0\0'\5\f\0B\3\2\0023\4\r\0009\5\14\0009\5\15\0055\a\16\0=\4\17\a=\1\18\a5\b\22\0005\t\20\0\18\n\2\0'\v\19\0&\n\v\n=\n\21\t=\t\23\b=\b\24\aB\5\2\0019\5\25\0009\5\15\0055\a\26\0=\4\17\a=\1\18\aB\5\2\0019\5\27\0009\5\15\0055\a\28\0=\4\17\a=\1\18\aB\5\2\0019\5\29\0009\5\15\0055\a\30\0=\4\17\a=\1\18\aB\5\2\0019\5\31\0009\5\15\0055\a \0=\4\17\a=\1\18\a5\b0\0005\t\"\0005\n!\0=\n#\t5\n%\0005\v$\0=\v&\n=\n'\t5\n+\0006\v\4\0009\v(\v9\v)\v'\r*\0+\14\2\0B\v\3\2=\v,\n=\n-\t5\n.\0=\n/\t=\t1\b=\b2\aB\5\2\0012\0\0K\0\1\0\rsettings\bLua\1\0\0\14telemetry\1\0\1\venable\1\14workspace\flibrary\1\0\0\5\26nvim_get_runtime_file\bapi\16diagnostics\fglobals\1\0\0\1\2\0\0\bvim\fruntime\1\0\0\1\0\1\fversion\vLuaJIT\1\0\0\vlua_ls\1\0\0\18rust_analyzer\1\0\0\vbashls\1\0\0\rphpactor\17init_options\ncache\1\0\0\14directory\1\0\0\n/ccls\17capabilities\14on_attach\1\0\1\24single_file_support\2\nsetup\tccls\0\15nvim-navic\n/tmp/\20XDG_RUNTIME_DIR\vgetenv\aos\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\14lspconfig\frequire\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
+ url = "https://github.com/neovim/nvim-lspconfig"
+ },
+ ["nvim-navic"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-navic",
+ url = "https://github.com/SmiteshP/nvim-navic"
+ },
+ ["nvim-treesitter"] = {
+ config = { "\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\2\venable\2&additional_vim_regex_highlighting\1\21ensure_installed\1\0\2\17auto_install\2\17sync_install\1\1\5\0\0\6c\bcpp\bphp\blua\nsetup\28nvim-treesitter.configs\frequire\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
+ url = "https://github.com/nvim-treesitter/nvim-treesitter"
+ },
+ ["packer.nvim"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/packer.nvim",
+ url = "https://github.com/wbthomason/packer.nvim"
+ },
+ ["rose-pine"] = {
+ config = { "\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/rose-pine",
+ url = "https://github.com/rose-pine/neovim"
+ },
+ ["rust-tools.nvim"] = {
+ config = { "\27LJ\2\nZ\0\2\6\0\5\0\a6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1K\0\1\0\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\1\1\0\a\0\15\0\0226\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0023\2\b\0009\3\t\0005\5\r\0005\6\n\0=\2\v\6=\1\f\6=\6\14\5B\3\2\1K\0\1\0\vserver\1\0\0\17capabilities\14on_attach\1\0\0\nsetup\0\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\15rust-tools\frequire\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/rust-tools.nvim",
+ url = "https://github.com/simrat39/rust-tools.nvim"
+ },
+ ["vim-vsnip"] = {
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/vim-vsnip",
+ url = "https://github.com/hrsh7th/vim-vsnip"
+ },
+ ["which-key.nvim"] = {
+ config = { "\27LJ\2\n;\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14which-key\frequire\0" },
+ loaded = true,
+ path = "/home/anna/.local/share/nvim/site/pack/packer/start/which-key.nvim",
+ url = "https://github.com/folke/which-key.nvim"
+ }
+}
+
+time([[Defining packer_plugins]], false)
+-- Config for: nvim-cmp
+time([[Config for nvim-cmp]], true)
+try_loadstring("\27LJ\2\n\1\0\0\b\0\b\2!6\0\0\0006\2\1\0009\2\2\0029\2\3\2)\4\0\0B\2\2\0A\0\0\3\b\1\0\0X\2\206\2\1\0009\2\2\0029\2\4\2)\4\0\0\23\5\1\0\18\6\0\0+\a\2\0B\2\5\2:\2\1\2\18\4\2\0009\2\5\2\18\5\1\0\18\6\1\0B\2\4\2\18\4\2\0009\2\6\2'\5\a\0B\2\3\2\n\2\0\0X\2\2+\2\1\0X\3\1+\2\2\0L\2\2\0\a%s\nmatch\bsub\23nvim_buf_get_lines\24nvim_win_get_cursor\bapi\bvim\vunpack\0\2p\0\2\n\0\4\0\0156\2\0\0009\2\1\0029\2\2\0026\4\0\0009\4\1\0049\4\3\4\18\6\0\0+\a\2\0+\b\2\0+\t\2\0B\4\5\2\18\5\1\0+\6\2\0B\2\4\1K\0\1\0\27nvim_replace_termcodes\18nvim_feedkeys\bapi\bvim;\0\1\4\0\4\0\0066\1\0\0009\1\1\0019\1\2\0019\3\3\0B\1\2\1K\0\1\0\tbody\20vsnip#anonymous\afn\bvim\1\0\1\5\3\b\1 -\1\0\0009\1\0\1B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\1\1B\1\1\1X\1\226\1\2\0009\1\3\0019\1\4\1)\3\1\0B\1\2\2\t\1\0\0X\1\5-\1\1\0'\3\5\0'\4\6\0B\1\3\1X\1\n-\1\2\0B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\a\1B\1\1\1X\1\2\18\1\0\0B\1\1\1K\0\1\0\0\2\1\rcomplete\5!<Plug>(vsnip-expand-or-jump)\20vsnip#available\afn\bvim\21select_next_item\fvisible\2\1\0\0\4\2\a\1\21-\0\0\0009\0\0\0B\0\1\2\15\0\0\0X\1\4-\0\0\0009\0\1\0B\0\1\1X\0\v6\0\2\0009\0\3\0009\0\4\0)\2B\0\2\2\t\0\0\0X\0\4-\0\1\0'\2\5\0'\3\6\0B\0\3\1K\0\1\0\0\2\5\28<Plug>(vsnip-jump-prev)\19vsnip#jumpable\afn\bvim\21select_prev_item\fvisible\2\4\1\0\r\0)\0O6\0\0\0'\2\1\0B\0\2\0023\1\2\0003\2\3\0009\3\4\0005\5\b\0005\6\6\0003\a\5\0=\a\a\6=\6\t\0055\6\r\0009\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\14\0069\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\15\6=\6\v\0059\6\16\0009\6\17\0069\6\18\0065\b\20\0009\t\16\0009\t\19\t)\vB\t\2\2=\t\21\b9\t\16\0009\t\19\t)\v\4\0B\t\2\2=\t\22\b9\t\16\0009\t\23\tB\t\1\2=\t\24\b9\t\16\0009\t\25\tB\t\1\2=\t\26\b9\t\16\0009\t\27\t5\v\28\0B\t\2\2=\t\29\b9\t\16\0003\v\30\0005\f\31\0B\t\3\2=\t \b9\t\16\0003\v!\0005\f\"\0B\t\3\2=\t#\bB\6\2\2=\6\16\0059\6\n\0009\6$\0064\b\4\0005\t%\0>\t\1\b5\t&\0>\t\2\b5\t'\0>\t\3\b4\t\3\0005\n(\0>\n\1\tB\6\3\2=\6$\5B\3\2\0012\0\0K\0\1\0\1\0\1\tname\vbuffer\1\0\1\tname\28nvim_lsp_signature_help\1\0\1\tname\nvsnip\1\0\1\tname\rnvim_lsp\fsources\f<S-Tab>\1\3\0\0\6i\6s\0\n<Tab>\1\3\0\0\6i\6s\0\t<CR>\1\0\1\vselect\1\fconfirm\n<C-e>\nabort\14<C-Space>\rcomplete\n<C-f>\n<C-b>\1\0\0\16scroll_docs\vinsert\vpreset\fmapping\18documentation\15completion\1\0\0\rbordered\vwindow\vconfig\fsnippet\1\0\0\vexpand\1\0\0\0\nsetup\0\0\bcmp\frequire\0", "config", "nvim-cmp")
+time([[Config for nvim-cmp]], false)
+-- Config for: which-key.nvim
+time([[Config for which-key.nvim]], true)
+try_loadstring("\27LJ\2\n;\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14which-key\frequire\0", "config", "which-key.nvim")
+time([[Config for which-key.nvim]], false)
+-- Config for: rose-pine
+time([[Config for rose-pine]], true)
+try_loadstring("\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0", "config", "rose-pine")
+time([[Config for rose-pine]], false)
+-- Config for: nvim-treesitter
+time([[Config for nvim-treesitter]], true)
+try_loadstring("\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\2\venable\2&additional_vim_regex_highlighting\1\21ensure_installed\1\0\2\17auto_install\2\17sync_install\1\1\5\0\0\6c\bcpp\bphp\blua\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter")
+time([[Config for nvim-treesitter]], false)
+-- Config for: nvim-lspconfig
+time([[Config for nvim-lspconfig]], true)
+try_loadstring("\27LJ\2\nw\0\2\6\1\6\0\f6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1-\2\0\0009\2\5\2\18\4\0\0\18\5\1\0B\2\3\1K\0\1\0\3\vattach\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\6\1\0\15\0003\0U6\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0026\2\b\0009\2\t\2'\4\n\0B\2\2\2\14\0\2\0X\3\1'\2\v\0006\3\0\0'\5\f\0B\3\2\0023\4\r\0009\5\14\0009\5\15\0055\a\16\0=\4\17\a=\1\18\a5\b\22\0005\t\20\0\18\n\2\0'\v\19\0&\n\v\n=\n\21\t=\t\23\b=\b\24\aB\5\2\0019\5\25\0009\5\15\0055\a\26\0=\4\17\a=\1\18\aB\5\2\0019\5\27\0009\5\15\0055\a\28\0=\4\17\a=\1\18\aB\5\2\0019\5\29\0009\5\15\0055\a\30\0=\4\17\a=\1\18\aB\5\2\0019\5\31\0009\5\15\0055\a \0=\4\17\a=\1\18\a5\b0\0005\t\"\0005\n!\0=\n#\t5\n%\0005\v$\0=\v&\n=\n'\t5\n+\0006\v\4\0009\v(\v9\v)\v'\r*\0+\14\2\0B\v\3\2=\v,\n=\n-\t5\n.\0=\n/\t=\t1\b=\b2\aB\5\2\0012\0\0K\0\1\0\rsettings\bLua\1\0\0\14telemetry\1\0\1\venable\1\14workspace\flibrary\1\0\0\5\26nvim_get_runtime_file\bapi\16diagnostics\fglobals\1\0\0\1\2\0\0\bvim\fruntime\1\0\0\1\0\1\fversion\vLuaJIT\1\0\0\vlua_ls\1\0\0\18rust_analyzer\1\0\0\vbashls\1\0\0\rphpactor\17init_options\ncache\1\0\0\14directory\1\0\0\n/ccls\17capabilities\14on_attach\1\0\1\24single_file_support\2\nsetup\tccls\0\15nvim-navic\n/tmp/\20XDG_RUNTIME_DIR\vgetenv\aos\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\14lspconfig\frequire\0", "config", "nvim-lspconfig")
+time([[Config for nvim-lspconfig]], false)
+-- Config for: rust-tools.nvim
+time([[Config for rust-tools.nvim]], true)
+try_loadstring("\27LJ\2\nZ\0\2\6\0\5\0\a6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1K\0\1\0\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\1\1\0\a\0\15\0\0226\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0023\2\b\0009\3\t\0005\5\r\0005\6\n\0=\2\v\6=\1\f\6=\6\14\5B\3\2\1K\0\1\0\vserver\1\0\0\17capabilities\14on_attach\1\0\0\nsetup\0\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\15rust-tools\frequire\0", "config", "rust-tools.nvim")
+time([[Config for rust-tools.nvim]], false)
+
+_G._packer.inside_compile = false
+if _G._packer.needs_bufread == true then
+ vim.cmd("doautocmd BufRead")
+end
+_G._packer.needs_bufread = 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/picom/picom.conf b/.config/picom/picom.conf
new file mode 100755
index 0000000..96393b1
--- /dev/null
+++ b/.config/picom/picom.conf
@@ -0,0 +1,453 @@
+#################################
+# Shadows #
+#################################
+
+
+# Enabled client-side shadows on windows. Note desktop windows
+# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
+# unless explicitly requested using the wintypes option.
+#
+# shadow = false
+shadow = true;
+
+# The blur radius for shadows, in pixels. (defaults to 12)
+# shadow-radius = 12
+shadow-radius = 7;
+
+# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
+# shadow-opacity = .75
+
+# The left offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-x = -15
+shadow-offset-x = -7;
+
+# The top offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-y = -15
+shadow-offset-y = -7;
+
+# Avoid drawing shadows on dock/panel windows. This option is deprecated,
+# you should use the *wintypes* option in your config file instead.
+#
+# no-dock-shadow = false
+
+# Don't draw shadows on drag-and-drop windows. This option is deprecated,
+# you should use the *wintypes* option in your config file instead.
+#
+# no-dnd-shadow = false
+
+# Red color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-red = 0
+
+# Green color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-green = 0
+
+# Blue color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-blue = 0
+
+# Do not paint shadows on shaped windows. Note shaped windows
+# here means windows setting its shape through X Shape extension.
+# Those using ARGB background is beyond our control.
+# Deprecated, use
+# shadow-exclude = 'bounding_shaped'
+# or
+# shadow-exclude = 'bounding_shaped && !rounded_corners'
+# instead.
+#
+# shadow-ignore-shaped = ''
+
+# Specify a list of conditions of windows that should have no shadow.
+#
+# examples:
+# shadow-exclude = "n:e:Notification";
+#
+# shadow-exclude = []
+shadow-exclude = [
+ "name = 'Notification'",
+ "class_g = 'Conky'",
+ "class_g ?= 'Notify-osd'",
+ "class_g = 'Cairo-clock'",
+ "_GTK_FRAME_EXTENTS@:c",
+ "class_g = 'firefox' && window_type = 'utility'",
+ "class_g = 'Rofi'"
+];
+
+# Specify a X geometry that describes the region in which shadow should not
+# be painted in, such as a dock window region. Use
+# shadow-exclude-reg = "x10+0+0"
+# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
+#
+# shadow-exclude-reg = ""
+
+# Crop shadow of a window fully on a particular Xinerama screen to the screen.
+# xinerama-shadow-crop = false
+
+
+#################################
+# Fading #
+#################################
+
+
+# Fade windows in/out when opening/closing and when opacity changes,
+# unless no-fading-openclose is used.
+# fading = false
+fading = false;
+
+# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
+# fade-in-step = 0.028
+fade-in-step = 0.03;
+
+# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
+# fade-out-step = 0.03
+fade-out-step = 0.03;
+
+# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
+# fade-delta = 10
+
+# Specify a list of conditions of windows that should not be faded.
+# fade-exclude = []
+
+# Do not fade on window open/close.
+# no-fading-openclose = false
+
+# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
+# no-fading-destroyed-argb = false
+
+
+#################################
+# Transparency / Opacity #
+#################################
+
+
+# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
+# inactive-opacity = 1
+inactive-opacity = 1.0;
+
+# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
+frame-opacity = 1.0;
+
+# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
+# menu-opacity = 1.0
+
+# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
+# inactive-opacity-override = true
+inactive-opacity-override = false;
+
+# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
+# active-opacity = 1.0
+
+# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
+inactive-dim = 0.0
+
+# Specify a list of conditions of windows that should always be considered focused.
+# focus-exclude = []
+focus-exclude = [ "class_g = 'Cairo-clock'" ];
+
+# Use fixed inactive dim value, instead of adjusting according to window opacity.
+# inactive-dim-fixed = 1.0
+
+# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
+# like `50:name *= "Firefox"`. picom-trans is recommended over this.
+# Note we don't make any guarantee about possible conflicts with other
+# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
+# example:
+# opacity-rule = [ "80:class_g = 'URxvt'" ];
+#
+# opacity-rule = []
+opacity-rule = [ "100:class_g = 'net.battlescribe.desktop.rostereditor.RosterEditorApplication'" ];
+
+
+#################################
+# Background-Blurring #
+#################################
+
+
+# Parameters for background blurring, see the *BLUR* section for more information.
+# blur-method =
+# blur-size = 12
+#
+# blur-deviation = false
+
+# Blur background of semi-transparent / ARGB windows.
+# Bad in performance, with driver-dependent behavior.
+# The name of the switch may change without prior notifications.
+#
+blur-background = false
+
+# Blur background of windows when the window frame is not opaque.
+# Implies:
+# blur-background
+# Bad in performance, with driver-dependent behavior. The name may change.
+#
+# blur-background-frame = false
+
+
+# Use fixed blur strength rather than adjusting according to window opacity.
+# blur-background-fixed = false
+
+
+# Specify the blur convolution kernel, with the following format:
+# example:
+# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
+#
+# blur-kern = ''
+blur-kern = "3x3box";
+
+
+# Exclude conditions for background blur.
+# blur-background-exclude = []
+blur-background-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'",
+ "_GTK_FRAME_EXTENTS@:c",
+ "class_g = 'firefox' && window_type = 'utility'"
+];
+
+#################################
+# Animation Settings #
+#################################
+#transition-length = 75;
+#transition-pow-x = 0.1;
+#transition-pow-y = 0.1;
+#transition-pow-w = 0.1;
+#transition-pow-h = 0.1;
+#size-transition = true;
+
+animations = true;
+animation-stiffness = 300.0;
+animation-dampening = 22.0;
+animation-clamping = true;
+animation-mass = 1;
+animation-for-open-window = "zoom";
+animation-for-menu-window = "slide-down";
+animation-for-transient-window = "slide-down";
+
+# (requires pijulius)
+animation-for-workspace-switch-in = "zoom";
+animation-for-workspace-switch-out = "zoom";
+
+
+#################################
+# General Settings #
+#################################
+
+# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
+# daemon = false
+
+# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
+# `xrender` is the default one.
+#
+backend = "glx";
+# backend = "xrender";
+
+experimental-backends = true;
+# Enable/disable VSync.
+# vsync = false
+vsync = true;
+
+# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
+# dbus = false
+
+# Try to detect WM windows (a non-override-redirect window with no
+# child that has 'WM_STATE') and mark them as active.
+#
+# mark-wmwin-focused = false
+mark-wmwin-focused = true;
+
+# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
+# mark-ovredir-focused = false
+mark-ovredir-focused = true;
+
+# Try to detect windows with rounded corners and don't consider them
+# shaped windows. The accuracy is not very high, unfortunately.
+#
+# detect-rounded-corners = false
+detect-rounded-corners = true;
+
+# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
+# not passing '_NET_WM_OPACITY' of client windows to frame windows.
+#
+# detect-client-opacity = false
+detect-client-opacity = true;
+
+# Specify refresh rate of the screen. If not specified or 0, picom will
+# try detecting this with X RandR extension.
+#
+# refresh-rate = 60
+refresh-rate = 0
+
+# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
+# boost performance. This should not be used with
+# vsync drm/opengl/opengl-oml
+# as they essentially does sw-opti's job already,
+# unless you wish to specify a lower refresh rate than the actual value.
+#
+# sw-opti =
+
+# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
+# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
+# provided that the WM supports it.
+#
+# use-ewmh-active-win = false
+
+# Unredirect all windows if a full-screen opaque window is detected,
+# to maximize performance for full-screen windows. Known to cause flickering
+# when redirecting/unredirecting windows.
+#
+# unredir-if-possible = false
+
+# Delay before unredirecting the window, in milliseconds. Defaults to 0.
+# unredir-if-possible-delay = 0
+
+# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
+# unredir-if-possible-exclude = []
+
+# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
+# in the same group focused at the same time.
+#
+# detect-transient = false
+detect-transient = true
+
+# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
+# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
+# detect-transient is enabled, too.
+#
+# detect-client-leader = false
+detect-client-leader = true
+
+# Resize damaged region by a specific number of pixels.
+# A positive value enlarges it while a negative one shrinks it.
+# If the value is positive, those additional pixels will not be actually painted
+# to screen, only used in blur calculation, and such. (Due to technical limitations,
+# with use-damage, those pixels will still be incorrectly painted to screen.)
+# Primarily used to fix the line corruption issues of blur,
+# in which case you should use the blur radius value here
+# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
+# with a 5x5 one you use `--resize-damage 2`, and so on).
+# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
+#
+# resize-damage = 1
+
+# Specify a list of conditions of windows that should be painted with inverted color.
+# Resource-hogging, and is not well tested.
+#
+# invert-color-include = []
+
+# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
+# Might cause incorrect opacity when rendering transparent content (but never
+# practically happened) and may not work with blur-background.
+# My tests show a 15% performance boost. Recommended.
+#
+# glx-no-stencil = false
+
+# GLX backend: Avoid rebinding pixmap on window damage.
+# Probably could improve performance on rapid window content changes,
+# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
+# Recommended if it works.
+#
+# glx-no-rebind-pixmap = false
+
+# Disable the use of damage information.
+# This cause the whole screen to be redrawn everytime, instead of the part of the screen
+# has actually changed. Potentially degrades the performance, but might fix some artifacts.
+# The opposing option is use-damage
+#
+# no-use-damage = false
+use-damage = true
+
+# Use X Sync fence to sync clients' draw calls, to make sure all draw
+# calls are finished before picom starts drawing. Needed on nvidia-drivers
+# with GLX backend for some users.
+#
+# xrender-sync-fence = false
+
+# GLX backend: Use specified GLSL fragment shader for rendering window contents.
+# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
+# in the source tree for examples.
+#
+# glx-fshader-win = ''
+
+# Force all windows to be painted with blending. Useful if you
+# have a glx-fshader-win that could turn opaque pixels transparent.
+#
+# force-win-blend = false
+
+# Do not use EWMH to detect fullscreen windows.
+# Reverts to checking if a window is fullscreen based only on its size and coordinates.
+#
+# no-ewmh-fullscreen = false
+
+# Dimming bright windows so their brightness doesn't exceed this set value.
+# Brightness of a window is estimated by averaging all pixels in the window,
+# so this could comes with a performance hit.
+# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
+#
+# max-brightness = 1.0
+
+# Make transparent windows clip other windows like non-transparent windows do,
+# instead of blending on top of them.
+#
+# transparent-clipping = false
+
+# Set the log level. Possible values are:
+# "trace", "debug", "info", "warn", "error"
+# in increasing level of importance. Case doesn't matter.
+# If using the "TRACE" log level, it's better to log into a file
+# using *--log-file*, since it can generate a huge stream of logs.
+#
+# log-level = "debug"
+log-level = "warn";
+
+# Set the log file.
+# If *--log-file* is never specified, logs will be written to stderr.
+# Otherwise, logs will to written to the given file, though some of the early
+# logs might still be written to the stderr.
+# When setting this option from the config file, it is recommended to use an absolute path.
+#
+# log-file = '/path/to/your/log/file'
+
+# Show all X errors (for debugging)
+# show-all-xerrors = false
+
+# Write process ID to a file.
+# write-pid-path = '/path/to/your/log/file'
+
+# Window type settings
+#
+# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
+# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
+# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
+# "tooltip", "notification", "combo", and "dnd".
+#
+# Following per window-type options are available: ::
+#
+# fade, shadow:::
+# Controls window-type-specific shadow and fade settings.
+#
+# opacity:::
+# Controls default opacity of the window type.
+#
+# focus:::
+# Controls whether the window of this type is to be always considered focused.
+# (By default, all window types except "normal" and "dialog" has this on.)
+#
+# full-shadow:::
+# Controls whether shadow is drawn under the parts of the window that you
+# normally won't be able to see. Useful when the window has parts of it
+# transparent, and you want shadows in those areas.
+#
+# redir-ignore:::
+# Controls whether this type of windows should cause screen to become
+# redirected again after been unredirected. If you have unredir-if-possible
+# set, and doesn't want certain window to cause unnecessary screen redirection,
+# you can set this to `true`.
+#
+wintypes:
+{
+ tooltip = { fade = true; shadow = true; opacity = 1.0; focus = true; full-shadow = false; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 1.0; shadow = false }
+ dropdown_menu = { opacity = 1.0; shadow = false }
+};
+
+
diff --git a/.config/zsh/.zcompdump b/.config/zsh/.zcompdump
new file mode 100644
index 0000000..c9bc85b
--- /dev/null
+++ b/.config/zsh/.zcompdump
@@ -0,0 +1,2088 @@
+#files: 995 version: 5.9
+
+_comps=(
+'-' '_precommand'
+'.' '_source'
+'5g' '_go'
+'5l' '_go'
+'6g' '_go'
+'6l' '_go'
+'8g' '_go'
+'8l' '_go'
+'a2dismod' '_a2utils'
+'a2dissite' '_a2utils'
+'a2enmod' '_a2utils'
+'a2ensite' '_a2utils'
+'a2ps' '_a2ps'
+'aaaa' '_hosts'
+'aap' '_aap'
+'abcde' '_abcde'
+'ack' '_ack'
+'ack2' '_ack'
+'ack-grep' '_ack'
+'ack-standalone' '_ack'
+'acpi' '_acpi'
+'acpitool' '_acpitool'
+'acroread' '_acroread'
+'adb' '_adb'
+'add-zle-hook-widget' '_add-zle-hook-widget'
+'add-zsh-hook' '_add-zsh-hook'
+'admin' '_sccs'
+'ali' '_mh'
+'alias' '_alias'
+'amaya' '_webbrowser'
+'analyseplugin' '_analyseplugin'
+'animate' '_imagemagick'
+'anno' '_mh'
+'ansible' '_ansible'
+'ansible-config' '_ansible'
+'ansible-console' '_ansible'
+'ansible-doc' '_ansible'
+'ansible-galaxy' '_ansible'
+'ansible-inventory' '_ansible'
+'ansible-playbook' '_ansible'
+'ansible-pull' '_ansible'
+'ansible-vault' '_ansible'
+'ant' '_ant'
+'antiword' '_antiword'
+'aodh' '_openstack'
+'aoss' '_precommand'
+'apache2ctl' '_apachectl'
+'apachectl' '_apachectl'
+'aplay' '_alsa-utils'
+'apm' '_apm'
+'appletviewer' '_java'
+'apropos' '_man'
+'apt' '_apt'
+'apt-cache' '_apt'
+'apt-cdrom' '_apt'
+'apt-config' '_apt'
+'apt-file' '_apt-file'
+'apt-get' '_apt'
+'aptitude' '_aptitude'
+'apt-mark' '_apt'
+'apt-move' '_apt-move'
+'apt-show-versions' '_apt-show-versions'
+'apvlv' '_pdf'
+'arduino-ctags' '_ctags'
+'arecord' '_alsa-utils'
+'arena' '_webbrowser'
+'_arguments' '__arguments'
+'arp' '_arp'
+'arping' '_arping'
+'-array-value-' '_value'
+'asciidoctor' '_asciidoctor'
+'asciinema' '_asciinema'
+'ash' '_sh'
+'-assign-parameter-' '_assign'
+'at' '_at'
+'atq' '_at'
+'atrm' '_at'
+'attr' '_attr'
+'augtool' '_augeas'
+'auto-apt' '_auto-apt'
+'autoload' '_typeset'
+'avahi-browse' '_avahi'
+'avahi-browse-domains' '_avahi'
+'avahi-resolve' '_avahi'
+'avahi-resolve-address' '_avahi'
+'avahi-resolve-host-name' '_avahi'
+'awk' '_awk'
+'axi-cache' '_axi-cache'
+'b2sum' '_md5sum'
+'barbican' '_openstack'
+'base32' '_base64'
+'base64' '_base64'
+'basename' '_basename'
+'basenc' '_basenc'
+'bash' '_bash'
+'batch' '_at'
+'baz' '_baz'
+'beadm' '_beadm'
+'beep' '_beep'
+'bg' '_jobs_bg'
+'bibtex' '_bibtex'
+'bindkey' '_bindkey'
+'bison' '_bison'
+'bmake' '_make'
+'bogofilter' '_bogofilter'
+'bogotune' '_bogofilter'
+'bogoutil' '_bogofilter'
+'bpython' '_bpython'
+'bpython2' '_bpython'
+'bpython2-gtk' '_bpython'
+'bpython2-urwid' '_bpython'
+'bpython3' '_bpython'
+'bpython3-gtk' '_bpython'
+'bpython3-urwid' '_bpython'
+'bpython-gtk' '_bpython'
+'bpython-urwid' '_bpython'
+'-brace-parameter-' '_brace_parameter'
+'brctl' '_brctl'
+'bsdconfig' '_bsdconfig'
+'bsdgrep' '_grep'
+'bsdinstall' '_bsdinstall'
+'bsdtar' '_tar'
+'btdownloadcurses' '_bittorrent'
+'btdownloadgui' '_bittorrent'
+'btdownloadheadless' '_bittorrent'
+'btlaunchmany' '_bittorrent'
+'btlaunchmanycurses' '_bittorrent'
+'btmakemetafile' '_bittorrent'
+'btreannounce' '_bittorrent'
+'btrename' '_bittorrent'
+'btrfs' '_btrfs'
+'bts' '_bts'
+'btshowmetainfo' '_bittorrent'
+'bttrack' '_bittorrent'
+'bug' '_bug'
+'buildhash' '_ispell'
+'builtin' '_builtin'
+'bunzip2' '_bzip2'
+'burst' '_mh'
+'bwrap' '_bwrap'
+'bzcat' '_bzip2'
+'bzegrep' '_grep'
+'bzfgrep' '_grep'
+'bzgrep' '_grep'
+'bzip2' '_bzip2'
+'bzip2recover' '_bzip2'
+'bzr' '_bzr'
+'c++' '_gcc'
+'cabal' '_cabal'
+'caffeinate' '_caffeinate'
+'cal' '_cal'
+'calendar' '_calendar'
+'cat' '_cat'
+'catchsegv' '_precommand'
+'cc' '_gcc'
+'ccal' '_ccal'
+'cd' '_cd'
+'cdbs-edit-patch' '_cdbs-edit-patch'
+'cdc' '_sccs'
+'cdcd' '_cdcd'
+'cdr' '_cdr'
+'cdrdao' '_cdrdao'
+'cdrecord' '_cdrecord'
+'ceilometer' '_openstack'
+'certtool' '_gnutls'
+'cftp' '_twisted'
+'chage' '_users'
+'chattr' '_chattr'
+'chcon' '_chcon'
+'chdir' '_cd'
+'chflags' '_chflags'
+'chfn' '_users'
+'chgrp' '_chown'
+'chimera' '_webbrowser'
+'chkconfig' '_chkconfig'
+'chkstow' '_stow'
+'chmod' '_chmod'
+'choom' '_choom'
+'chown' '_chown'
+'chpass' '_chsh'
+'chroot' '_chroot'
+'chrt' '_chrt'
+'chsh' '_chsh'
+'ci' '_rcs'
+'cifsiostat' '_sysstat'
+'cinder' '_openstack'
+'ckeygen' '_twisted'
+'cksum' '_cksum'
+'clang' '_gcc'
+'clang++' '_gcc'
+'clay' '_clay'
+'clear' '_nothing'
+'cloudkitty' '_openstack'
+'clusterdb' '_postgresql'
+'cmp' '_cmp'
+'co' '_rcs'
+'code' '_code'
+'column' '_column'
+'comb' '_sccs'
+'combine' '_imagemagick'
+'combinediff' '_patchutils'
+'comm' '_comm'
+'-command-' '_autocd'
+'command' '_command'
+'-command-line-' '_normal'
+'comp' '_mh'
+'compadd' '_compadd'
+'compdef' '_compdef'
+'composer' '_composer'
+'composer.phar' '_composer'
+'composite' '_imagemagick'
+'compress' '_compress'
+'conch' '_twisted'
+'-condition-' '_condition'
+'config.status' '_configure'
+'configure' '_configure'
+'convert' '_imagemagick'
+'coreadm' '_coreadm'
+'cowsay' '_cowsay'
+'cowthink' '_cowsay'
+'cp' '_cp'
+'cpio' '_cpio'
+'cplay' '_cplay'
+'cpupower' '_cpupower'
+'createdb' '_postgresql'
+'createuser' '_postgresql'
+'crontab' '_crontab'
+'crsh' '_cssh'
+'cryptsetup' '_cryptsetup'
+'cscope' '_cscope'
+'csh' '_sh'
+'csplit' '_csplit'
+'cssh' '_cssh'
+'csup' '_csup'
+'ctags' '_ctags'
+'ctags-exuberant' '_ctags'
+'ctags-universal' '_ctags'
+'cu' '_cu'
+'curl' '_curl'
+'cut' '_cut'
+'cvs' '_cvs'
+'cvsup' '_cvsup'
+'cygcheck' '_cygcheck'
+'cygcheck.exe' '_cygcheck'
+'cygpath' '_cygpath'
+'cygpath.exe' '_cygpath'
+'cygrunsrv' '_cygrunsrv'
+'cygrunsrv.exe' '_cygrunsrv'
+'cygserver' '_cygserver'
+'cygserver.exe' '_cygserver'
+'cygstart' '_cygstart'
+'cygstart.exe' '_cygstart'
+'dak' '_dak'
+'darcs' '_darcs'
+'dash' '_sh'
+'date' '_date'
+'dbus-launch' '_dbus'
+'dbus-monitor' '_dbus'
+'dbus-send' '_dbus'
+'dch' '_debchange'
+'dchroot' '_dchroot'
+'dchroot-dsa' '_dchroot-dsa'
+'dconf' '_dconf'
+'dcop' '_dcop'
+'dcopclient' '_dcop'
+'dcopfind' '_dcop'
+'dcopobject' '_dcop'
+'dcopref' '_dcop'
+'dcopstart' '_dcop'
+'dcut' '_dcut'
+'dd' '_dd'
+'debchange' '_debchange'
+'debcheckout' '_debcheckout'
+'debdiff' '_debdiff'
+'debfoster' '_debfoster'
+'deborphan' '_deborphan'
+'debsign' '_debsign'
+'debsnap' '_debsnap'
+'debuild' '_debuild'
+'declare' '_typeset'
+'-default-' '_default'
+'defaults' '_defaults'
+'delta' '_sccs'
+'designate' '_openstack'
+'devtodo' '_devtodo'
+'df' '_df'
+'dhclient' '_dhclient'
+'dhclient3' '_dhclient'
+'dhcpinfo' '_dhcpinfo'
+'dict' '_dict'
+'diff' '_diff'
+'diff3' '_diff3'
+'diffstat' '_diffstat'
+'dig' '_dig'
+'dillo' '_webbrowser'
+'dircmp' '_directories'
+'dirs' '_dirs'
+'disable' '_disable'
+'disown' '_jobs_fg'
+'display' '_imagemagick'
+'dist' '_mh'
+'django-admin' '_django'
+'django-admin.py' '_django'
+'dkms' '_dkms'
+'dladm' '_dladm'
+'dlocate' '_dlocate'
+'dmake' '_make'
+'dmesg' '_dmesg'
+'dmidecode' '_dmidecode'
+'dnf' '_dnf'
+'dnf-2' '_dnf'
+'dnf-3' '_dnf'
+'doas' '_doas'
+'docker' '_docker'
+'docker-compose' '_docker-compose'
+'dockerd' '_docker'
+'domainname' '_yp'
+'dos2unix' '_dos2unix'
+'dosdel' '_floppy'
+'dosread' '_floppy'
+'dpatch-edit-patch' '_dpatch-edit-patch'
+'dpkg' '_dpkg'
+'dpkg-buildpackage' '_dpkg-buildpackage'
+'dpkg-cross' '_dpkg-cross'
+'dpkg-deb' '_dpkg'
+'dpkg-query' '_dpkg'
+'dpkg-reconfigure' '_dpkg'
+'dpkg-repack' '_dpkg-repack'
+'dpkg-source' '_dpkg_source'
+'dput' '_dput'
+'drill' '_drill'
+'dropbox' '_dropbox'
+'dropdb' '_postgresql'
+'dropuser' '_postgresql'
+'dscverify' '_dscverify'
+'dsh' '_dsh'
+'dtrace' '_dtrace'
+'dtruss' '_dtruss'
+'du' '_du'
+'dumpadm' '_dumpadm'
+'dumper' '_dumper'
+'dumper.exe' '_dumper'
+'dupload' '_dupload'
+'dvibook' '_dvi'
+'dviconcat' '_dvi'
+'dvicopy' '_dvi'
+'dvidvi' '_dvi'
+'dvipdf' '_dvi'
+'dvips' '_dvi'
+'dviselect' '_dvi'
+'dvitodvi' '_dvi'
+'dvitype' '_dvi'
+'dwb' '_webbrowser'
+'e2label' '_e2label'
+'eatmydata' '_precommand'
+'ecasound' '_ecasound'
+'echotc' '_echotc'
+'echoti' '_echoti'
+'ed' '_ed'
+'egrep' '_grep'
+'elfdump' '_elfdump'
+'elinks' '_elinks'
+'emulate' '_emulate'
+'enable' '_enable'
+'enscript' '_enscript'
+'entr' '_entr'
+'env' '_env'
+'eog' '_eog'
+'epdfview' '_pdf'
+'epsffit' '_psutils'
+'-equal-' '_equal'
+'erb' '_ruby'
+'espeak' '_espeak'
+'etags' '_etags'
+'ethtool' '_ethtool'
+'eu-nm' '_nm'
+'eu-objdump' '_objdump'
+'eu-readelf' '_readelf'
+'eu-strings' '_strings'
+'eval' '_precommand'
+'eview' '_vim'
+'evim' '_vim'
+'evince' '_evince'
+'ex' '_vi'
+'exec' '_exec'
+'expand' '_unexpand'
+'explodepkg' '_pkgtool'
+'export' '_typeset'
+'express' '_webbrowser'
+'extcheck' '_java'
+'extractres' '_psutils'
+'fakeroot' '_fakeroot'
+'false' '_nothing'
+'fc' '_fc'
+'fc-list' '_xft_fonts'
+'fc-match' '_xft_fonts'
+'feh' '_feh'
+'fetch' '_fetch'
+'fetchmail' '_fetchmail'
+'ffmpeg' '_ffmpeg'
+'fg' '_jobs_fg'
+'fgrep' '_grep'
+'figlet' '_figlet'
+'filterdiff' '_patchutils'
+'find' '_find'
+'findaffix' '_ispell'
+'findmnt' '_findmnt'
+'finger' '_finger'
+'fink' '_fink'
+'firefox' '_mozilla'
+'firejail' '_firejail'
+'-first-' '_first'
+'fixdlsrps' '_psutils'
+'fixfmps' '_psutils'
+'fixmacps' '_psutils'
+'fixpsditps' '_psutils'
+'fixpspps' '_psutils'
+'fixscribeps' '_psutils'
+'fixtpps' '_psutils'
+'fixwfwps' '_psutils'
+'fixwpps' '_psutils'
+'fixwwps' '_psutils'
+'flac' '_flac'
+'flex' '_flex'
+'flex++' '_flex'
+'flipdiff' '_patchutils'
+'flist' '_mh'
+'flists' '_mh'
+'float' '_typeset'
+'flowadm' '_flowadm'
+'fmadm' '_fmadm'
+'fmt' '_fmt'
+'fmttest' '_mh'
+'fned' '_zed'
+'fnext' '_mh'
+'fold' '_fold'
+'folder' '_mh'
+'folders' '_mh'
+'fortune' '_fortune'
+'forw' '_mh'
+'fprev' '_mh'
+'free' '_free'
+'freebsd-make' '_make'
+'freebsd-update' '_freebsd-update'
+'freezer' '_openstack'
+'fsh' '_fsh'
+'fstat' '_fstat'
+'fs_usage' '_fs_usage'
+'ftp' '_hosts'
+'functions' '_typeset'
+'fuser' '_fuser'
+'fusermount' '_fusermount'
+'fwhois' '_whois'
+'fw_update' '_fw_update'
+'g++' '_gcc'
+'galeon' '_webbrowser'
+'gawk' '_awk'
+'gb2sum' '_md5sum'
+'gbase32' '_base64'
+'gbase64' '_base64'
+'gbasename' '_basename'
+'gcat' '_cat'
+'gcc' '_gcc'
+'gccgo' '_go'
+'gchgrp' '_chown'
+'gchmod' '_chmod'
+'gchown' '_chown'
+'gchroot' '_chroot'
+'gcksum' '_cksum'
+'gcmp' '_cmp'
+'gcomm' '_comm'
+'gcore' '_gcore'
+'gcp' '_cp'
+'gcut' '_cut'
+'gdate' '_date'
+'gdb' '_gdb'
+'gdd' '_dd'
+'gdf' '_df'
+'gdiff' '_diff'
+'gdu' '_du'
+'geany' '_geany'
+'gegrep' '_grep'
+'gem' '_gem'
+'genisoimage' '_genisoimage'
+'genv' '_env'
+'get' '_sccs'
+'getafm' '_psutils'
+'getclip' '_getclip'
+'getclip.exe' '_getclip'
+'getconf' '_getconf'
+'getent' '_getent'
+'getfacl' '_getfacl'
+'getfacl.exe' '_getfacl'
+'getfattr' '_attr'
+'getmail' '_getmail'
+'getopt' '_getopt'
+'getopts' '_vars'
+'gex' '_vim'
+'gexpand' '_unexpand'
+'gfgrep' '_grep'
+'gfind' '_find'
+'gfmt' '_fmt'
+'gfold' '_fold'
+'ggetopt' '_getopt'
+'ggrep' '_grep'
+'ggv' '_gnome-gv'
+'ghead' '_head'
+'ghostscript' '_ghostscript'
+'ghostview' '_pspdf'
+'gid' '_id'
+'ginstall' '_install'
+'git' '_git'
+'git-buildpackage' '_git-buildpackage'
+'git-cvsserver' '_git'
+'gitk' '_git'
+'git-receive-pack' '_git'
+'git-shell' '_git'
+'git-upload-archive' '_git'
+'git-upload-pack' '_git'
+'gjoin' '_join'
+'glance' '_openstack'
+'gln' '_ln'
+'global' '_global'
+'glocate' '_locate'
+'gls' '_ls'
+'gm' '_graphicsmagick'
+'gmake' '_make'
+'gmd5sum' '_md5sum'
+'gmkdir' '_mkdir'
+'gmkfifo' '_mkfifo'
+'gmknod' '_mknod'
+'gmktemp' '_mktemp'
+'gmplayer' '_mplayer'
+'gmv' '_mv'
+'gnl' '_nl'
+'gnocchi' '_openstack'
+'gnome-gv' '_gnome-gv'
+'gnumfmt' '_numfmt'
+'gnupod_addsong' '_gnupod'
+'gnupod_addsong.pl' '_gnupod'
+'gnupod_check' '_gnupod'
+'gnupod_check.pl' '_gnupod'
+'gnupod_INIT' '_gnupod'
+'gnupod_INIT.pl' '_gnupod'
+'gnupod_search' '_gnupod'
+'gnupod_search.pl' '_gnupod'
+'gnutls-cli' '_gnutls'
+'gnutls-cli-debug' '_gnutls'
+'gnutls-serv' '_gnutls'
+'god' '_od'
+'gofmt' '_go'
+'gpasswd' '_gpasswd'
+'gpaste' '_paste'
+'gpatch' '_patch'
+'gpg' '_gpg'
+'gpg2' '_gpg'
+'gpgv' '_gpg'
+'gpg-zip' '_gpg'
+'gphoto2' '_gphoto2'
+'gprintenv' '_printenv'
+'gprof' '_gprof'
+'gqview' '_gqview'
+'gradle' '_gradle'
+'gradlew' '_gradle'
+'grail' '_webbrowser'
+'greadlink' '_readlink'
+'grep' '_grep'
+'grepdiff' '_patchutils'
+'grep-excuses' '_grep-excuses'
+'grm' '_rm'
+'grmdir' '_rmdir'
+'groff' '_groff'
+'groupadd' '_user_admin'
+'groupdel' '_groups'
+'groupmod' '_user_admin'
+'groups' '_users'
+'growisofs' '_growisofs'
+'gs' '_ghostscript'
+'gsbj' '_pspdf'
+'gsdj' '_pspdf'
+'gsdj500' '_pspdf'
+'gsed' '_sed'
+'gseq' '_seq'
+'gsettings' '_gsettings'
+'gsha1sum' '_md5sum'
+'gsha224sum' '_md5sum'
+'gsha256sum' '_md5sum'
+'gsha384sum' '_md5sum'
+'gsha512sum' '_md5sum'
+'gshred' '_shred'
+'gshuf' '_shuf'
+'gslj' '_pspdf'
+'gslp' '_pspdf'
+'gsnd' '_pspdf'
+'gsort' '_sort'
+'gsplit' '_split'
+'gstat' '_gstat'
+'gstdbuf' '_stdbuf'
+'gstrings' '_strings'
+'gstty' '_stty'
+'gsum' '_cksum'
+'gtac' '_tac'
+'gtail' '_tail'
+'gtar' '_tar'
+'gtee' '_tee'
+'gtimeout' '_timeout'
+'gtouch' '_touch'
+'gtr' '_tr'
+'gtty' '_tty'
+'guilt' '_guilt'
+'guilt-add' '_guilt'
+'guilt-applied' '_guilt'
+'guilt-delete' '_guilt'
+'guilt-files' '_guilt'
+'guilt-fold' '_guilt'
+'guilt-fork' '_guilt'
+'guilt-header' '_guilt'
+'guilt-help' '_guilt'
+'guilt-import' '_guilt'
+'guilt-import-commit' '_guilt'
+'guilt-init' '_guilt'
+'guilt-new' '_guilt'
+'guilt-next' '_guilt'
+'guilt-patchbomb' '_guilt'
+'guilt-pop' '_guilt'
+'guilt-prev' '_guilt'
+'guilt-push' '_guilt'
+'guilt-rebase' '_guilt'
+'guilt-refresh' '_guilt'
+'guilt-rm' '_guilt'
+'guilt-series' '_guilt'
+'guilt-status' '_guilt'
+'guilt-top' '_guilt'
+'guilt-unapplied' '_guilt'
+'guname' '_uname'
+'gunexpand' '_unexpand'
+'guniq' '_uniq'
+'gunzip' '_gzip'
+'guptime' '_uptime'
+'gv' '_gv'
+'gview' '_vim'
+'gvim' '_vim'
+'gvimdiff' '_vim'
+'gwc' '_wc'
+'gwho' '_who'
+'gxargs' '_xargs'
+'gzcat' '_gzip'
+'gzegrep' '_grep'
+'gzfgrep' '_grep'
+'gzgrep' '_grep'
+'gzilla' '_webbrowser'
+'gzip' '_gzip'
+'hash' '_hash'
+'hd' '_hexdump'
+'hdiutil' '_hdiutil'
+'head' '_head'
+'heat' '_openstack'
+'help' '_sccs'
+'hexdump' '_hexdump'
+'hilite' '_precommand'
+'histed' '_zed'
+'history' '_fc'
+'host' '_host'
+'hostname' '_hostname'
+'hotjava' '_webbrowser'
+'htop' '_htop'
+'hwinfo' '_hwinfo'
+'iceweasel' '_mozilla'
+'icombine' '_ispell'
+'iconv' '_iconv'
+'iconvconfig' '_iconvconfig'
+'id' '_id'
+'identify' '_imagemagick'
+'ifconfig' '_ifconfig'
+'ifdown' '_net_interfaces'
+'iftop' '_iftop'
+'ifup' '_net_interfaces'
+'ijoin' '_ispell'
+'import' '_imagemagick'
+'inc' '_mh'
+'includeres' '_psutils'
+'inetadm' '_inetadm'
+'info' '_texinfo'
+'infocmp' '_terminals'
+'initctl' '_initctl'
+'initdb' '_postgresql'
+'insmod' '_modutils'
+'install' '_install'
+'install-info' '_texinfo'
+'installpkg' '_pkgtool'
+'integer' '_typeset'
+'interdiff' '_patchutils'
+'invoke-rc.d' '_invoke-rc.d'
+'ionice' '_ionice'
+'iostat' '_iostat'
+'ip' '_ip'
+'ip6tables' '_iptables'
+'ip6tables-restore' '_iptables'
+'ip6tables-save' '_iptables'
+'ipadm' '_ipadm'
+'ipfw' '_ipfw'
+'ipkg' '_opkg'
+'ipsec' '_ipsec'
+'ipset' '_ipset'
+'iptables' '_iptables'
+'iptables-restore' '_iptables'
+'iptables-save' '_iptables'
+'irb' '_ruby'
+'ironic' '_openstack'
+'irssi' '_irssi'
+'isag' '_sysstat'
+'ispell' '_ispell'
+'iwconfig' '_iwconfig'
+'jadetex' '_tex'
+'jail' '_jail'
+'jar' '_java'
+'jarsigner' '_java'
+'java' '_java'
+'javac' '_java'
+'javadoc' '_java'
+'javah' '_java'
+'javap' '_java'
+'jdb' '_java'
+'jexec' '_jexec'
+'jls' '_jls'
+'jobs' '_jobs_builtin'
+'joe' '_joe'
+'join' '_join'
+'jot' '_jot'
+'jq' '_jq'
+'kdeconnect-cli' '_kdeconnect'
+'kdump' '_kdump'
+'keystone' '_openstack'
+'keytool' '_java'
+'kfmclient' '_kfmclient'
+'kill' '_kill'
+'killall' '_killall'
+'killall5' '_killall'
+'kioclient' '_kfmclient'
+'kldload' '_kld'
+'kldunload' '_kld'
+'knock' '_knock'
+'konqueror' '_webbrowser'
+'kpartx' '_kpartx'
+'kpdf' '_pdf'
+'ksh' '_sh'
+'ksh88' '_sh'
+'ksh93' '_sh'
+'ktrace' '_ktrace'
+'kvno' '_kvno'
+'last' '_last'
+'lastb' '_last'
+'latex' '_tex'
+'latexmk' '_tex'
+'ldap' '_ldap'
+'ldconfig' '_ldconfig'
+'ldconfig.real' '_ldconfig'
+'ldd' '_ldd'
+'less' '_less'
+'let' '_math'
+'lftp' '_ncftp'
+'lha' '_lha'
+'libinput' '_libinput'
+'light' '_webbrowser'
+'lighty-disable-mod' '_lighttpd'
+'lighty-enable-mod' '_lighttpd'
+'limit' '_limit'
+'links' '_links'
+'links2' '_links'
+'lintian' '_lintian'
+'lintian-info' '_lintian'
+'linux' '_uml'
+'lldb' '_lldb'
+'llvm-g++' '_gcc'
+'llvm-gcc' '_gcc'
+'llvm-objdump' '_objdump'
+'llvm-otool' '_otool'
+'ln' '_ln'
+'loadkeys' '_loadkeys'
+'local' '_typeset'
+'locale' '_locale'
+'localedef' '_localedef'
+'locate' '_locate'
+'log' '_nothing'
+'logger' '_logger'
+'logname' '_nothing'
+'look' '_look'
+'losetup' '_losetup'
+'lp' '_lp'
+'lpadmin' '_lp'
+'lpinfo' '_lp'
+'lpoptions' '_lp'
+'lpq' '_lp'
+'lpr' '_lp'
+'lprm' '_lp'
+'lpstat' '_lp'
+'ls' '_ls'
+'lsattr' '_lsattr'
+'lsblk' '_lsblk'
+'lscfg' '_lscfg'
+'lsdev' '_lsdev'
+'lsdiff' '_patchutils'
+'lslv' '_lslv'
+'lsmod' '_modutils'
+'lsns' '_lsns'
+'lsof' '_lsof'
+'lspv' '_lspv'
+'lsusb' '_lsusb'
+'lsvg' '_lsvg'
+'ltrace' '_ltrace'
+'lua' '_lua'
+'luarocks' '_luarocks'
+'lynx' '_lynx'
+'lz4' '_lz4'
+'lz4c' '_lz4'
+'lz4c32' '_lz4'
+'lz4cat' '_lz4'
+'lzcat' '_xz'
+'lzma' '_xz'
+'lzop' '_lzop'
+'m-a' '_module-assistant'
+'mac2unix' '_dos2unix'
+'madison' '_madison'
+'magnum' '_openstack'
+'mail' '_mail'
+'Mail' '_mail'
+'mailx' '_mail'
+'make' '_make'
+'makeinfo' '_texinfo'
+'make-kpkg' '_make-kpkg'
+'makepkg' '_pkgtool'
+'man' '_man'
+'manage.py' '_django'
+'manila' '_openstack'
+'mark' '_mh'
+'mat' '_mat'
+'mat2' '_mat2'
+'-math-' '_math'
+'matlab' '_matlab'
+'mattrib' '_mtools'
+'mcd' '_mtools'
+'mcopy' '_mtools'
+'md2' '_cksum'
+'md4' '_cksum'
+'md5' '_cksum'
+'md5sum' '_md5sum'
+'mdadm' '_mdadm'
+'mdel' '_mtools'
+'mdeltree' '_mtools'
+'mdfind' '_mdfind'
+'mdir' '_mtools'
+'mdls' '_mdls'
+'mdu' '_mtools'
+'mdutil' '_mdutil'
+'members' '_members'
+'mencal' '_mencal'
+'mere' '_mere'
+'merge' '_rcs'
+'mergechanges' '_mergechanges'
+'meson' '_meson'
+'metaflac' '_flac'
+'mformat' '_mtools'
+'mgv' '_pspdf'
+'mhfixmsg' '_mh'
+'mhlist' '_mh'
+'mhmail' '_mh'
+'mhn' '_mh'
+'mhparam' '_mh'
+'mhpath' '_mh'
+'mhshow' '_mh'
+'mhstore' '_mh'
+'mii-tool' '_mii-tool'
+'mistral' '_openstack'
+'mixerctl' '_mixerctl'
+'mkdir' '_mkdir'
+'mkfifo' '_mkfifo'
+'mkisofs' '_growisofs'
+'mknod' '_mknod'
+'mksh' '_sh'
+'mkshortcut' '_mkshortcut'
+'mkshortcut.exe' '_mkshortcut'
+'mktemp' '_mktemp'
+'mktunes' '_gnupod'
+'mktunes.pl' '_gnupod'
+'mkzsh' '_mkzsh'
+'mkzsh.exe' '_mkzsh'
+'mlabel' '_mtools'
+'mlocate' '_locate'
+'mmd' '_mtools'
+'mmm' '_webbrowser'
+'mmount' '_mtools'
+'mmove' '_mtools'
+'modinfo' '_modutils'
+'modprobe' '_modutils'
+'module' '_module'
+'module-assistant' '_module-assistant'
+'mogrify' '_imagemagick'
+'monasca' '_openstack'
+'mondoarchive' '_mondo'
+'montage' '_imagemagick'
+'moosic' '_moosic'
+'Mosaic' '_webbrowser'
+'mosh' '_mosh'
+'mount' '_mount'
+'mozilla' '_mozilla'
+'mozilla-firefox' '_mozilla'
+'mozilla-xremote-client' '_mozilla'
+'mpc' '_mpc'
+'mplayer' '_mplayer'
+'mpstat' '_sysstat'
+'mpv' '_mpv'
+'mr' '_myrepos'
+'mrd' '_mtools'
+'mread' '_mtools'
+'mren' '_mtools'
+'msgchk' '_mh'
+'mt' '_mt'
+'mtn' '_monotone'
+'mtoolstest' '_mtools'
+'mtr' '_mtr'
+'mtype' '_mtools'
+'munchlist' '_ispell'
+'mupdf' '_mupdf'
+'murano' '_openstack'
+'mush' '_mail'
+'mutt' '_mutt'
+'mv' '_mv'
+'mvim' '_vim'
+'mx' '_hosts'
+'mysql' '_mysql_utils'
+'mysqladmin' '_mysql_utils'
+'mysqldiff' '_mysqldiff'
+'mysqldump' '_mysql_utils'
+'mysqlimport' '_mysql_utils'
+'mysqlshow' '_mysql_utils'
+'nail' '_mail'
+'native2ascii' '_java'
+'nautilus' '_nautilus'
+'nawk' '_awk'
+'nc' '_netcat'
+'ncal' '_cal'
+'ncftp' '_ncftp'
+'ncl' '_nedit'
+'nedit' '_nedit'
+'nedit-nc' '_nedit'
+'netcat' '_netcat'
+'netrik' '_webbrowser'
+'netscape' '_netscape'
+'netstat' '_netstat'
+'networksetup' '_networksetup'
+'neutron' '_openstack'
+'new' '_mh'
+'newgrp' '_groups'
+'next' '_mh'
+'nginx' '_nginx'
+'ngrep' '_ngrep'
+'nice' '_nice'
+'ninja' '_ninja'
+'nkf' '_nkf'
+'nl' '_nl'
+'nm' '_nm'
+'nmap' '_nmap'
+'nmblookup' '_samba'
+'nmcli' '_networkmanager'
+'nocorrect' '_precommand'
+'noglob' '_precommand'
+'nohup' '_precommand'
+'notmuch' '_notmuch'
+'nova' '_openstack'
+'npm' '_npm'
+'ns' '_hosts'
+'nsenter' '_nsenter'
+'nslookup' '_nslookup'
+'ntalk' '_other_accounts'
+'numfmt' '_numfmt'
+'nvim' '_vim'
+'nvram' '_nvram'
+'objdump' '_objdump'
+'od' '_od'
+'odme' '_object_classes'
+'odmget' '_object_classes'
+'odmshow' '_object_classes'
+'ogg123' '_vorbis'
+'oggdec' '_vorbis'
+'oggenc' '_vorbis'
+'ogginfo' '_vorbis'
+'oksh' '_sh'
+'okular' '_okular'
+'open' '_open'
+'openrc' '_openrc'
+'openstack' '_openstack'
+'opera' '_webbrowser'
+'opera-next' '_webbrowser'
+'opkg' '_opkg'
+'opusdec' '_opustools'
+'opusenc' '_opustools'
+'opusinfo' '_opustools'
+'osascript' '_osascript'
+'osc' '_osc'
+'otool' '_otool'
+'p4' '_perforce'
+'p4d' '_perforce'
+'pacat' '_pulseaudio'
+'pack' '_pack'
+'packf' '_mh'
+'pacmd' '_pulseaudio'
+'pactl' '_pulseaudio'
+'padsp' '_pulseaudio'
+'pandoc' '_pandoc'
+'paplay' '_pulseaudio'
+'-parameter-' '_parameter'
+'parec' '_pulseaudio'
+'parecord' '_pulseaudio'
+'parsehdlist' '_urpmi'
+'pass' '_pass'
+'passwd' '_users'
+'paste' '_paste'
+'pasuspender' '_pulseaudio'
+'patch' '_patch'
+'pax' '_pax'
+'pbcopy' '_pbcopy'
+'pbpaste' '_pbcopy'
+'pbuilder' '_pbuilder'
+'pcat' '_pack'
+'pcd' '_pkgcore'
+'pclean' '_pkgcore'
+'pconfig' '_pkgcore'
+'pcp-htop' '_htop'
+'pcred' '_pids'
+'pdf2dsc' '_pdf'
+'pdf2ps' '_pdf'
+'pdffonts' '_pdf'
+'pdfimages' '_pdf'
+'pdfinfo' '_pdf'
+'pdfjadetex' '_tex'
+'pdflatex' '_tex'
+'pdfopt' '_pdf'
+'pdftex' '_tex'
+'pdftexi2dvi' '_texinfo'
+'pdftk' '_pdftk'
+'pdftopbm' '_pdf'
+'pdftops' '_pdf'
+'pdftotext' '_pdf'
+'pdksh' '_sh'
+'pebuild' '_pkgcore'
+'perf' '_perf'
+'perl' '_perl'
+'perldoc' '_perldoc'
+'pfctl' '_pfctl'
+'pfexec' '_pfexec'
+'pfiles' '_pids'
+'pflags' '_pids'
+'pg_config' '_postgresql'
+'pg_ctl' '_postgresql'
+'pg_dump' '_postgresql'
+'pg_dumpall' '_postgresql'
+'pg_isready' '_postgresql'
+'pgrep' '_pgrep'
+'pg_restore' '_postgresql'
+'pg_upgrade' '_postgresql'
+'php' '_php'
+'pick' '_mh'
+'picocom' '_picocom'
+'pidof' '_pidof'
+'pidstat' '_sysstat'
+'pigz' '_gzip'
+'pine' '_pine'
+'pinef' '_pine'
+'pinfo' '_texinfo'
+'ping' '_ping'
+'ping6' '_ping'
+'pinspect' '_pkgcore'
+'piuparts' '_piuparts'
+'pkg' '_pkg5'
+'pkg_add' '_bsd_pkg'
+'pkgadd' '_pkgadd'
+'pkgcheck' '_pkgcheck'
+'pkg-config' '_pkg-config'
+'pkg_create' '_bsd_pkg'
+'pkg_delete' '_bsd_pkg'
+'pkgdev' '_pkgdev'
+'pkgin' '_pkgin'
+'pkg_info' '_bsd_pkg'
+'pkginfo' '_pkginfo'
+'pkgrm' '_pkgrm'
+'pkgtool' '_pkgtool'
+'pkill' '_pgrep'
+'pldd' '_pids'
+'plutil' '_plutil'
+'pmaint' '_pkgcore'
+'pmake' '_make'
+'pman' '_perl_modules'
+'pmap' '_pmap'
+'pmcat' '_perl_modules'
+'pmdesc' '_perl_modules'
+'pmerge' '_pkgcore'
+'pmeth' '_perl_modules'
+'pmexp' '_perl_modules'
+'pmfunc' '_perl_modules'
+'pmload' '_perl_modules'
+'pmls' '_perl_modules'
+'pmpath' '_perl_modules'
+'pmvers' '_perl_modules'
+'podgrep' '_perl_modules'
+'podpath' '_perl_modules'
+'podtoc' '_perl_modules'
+'poff' '_pon'
+'policytool' '_java'
+'pon' '_pon'
+'popd' '_directory_stack'
+'portaudit' '_portaudit'
+'portlint' '_portlint'
+'portmaster' '_portmaster'
+'portsnap' '_portsnap'
+'postconf' '_postfix'
+'postgres' '_postgresql'
+'postmaster' '_postgresql'
+'postqueue' '_postfix'
+'postsuper' '_postfix'
+'powerd' '_powerd'
+'pquery' '_pkgcore'
+'pr' '_pr'
+'prev' '_mh'
+'print' '_print'
+'printenv' '_printenv'
+'printf' '_print'
+'procstat' '_procstat'
+'prompt' '_prompt'
+'prove' '_prove'
+'prs' '_sccs'
+'prstat' '_prstat'
+'prt' '_sccs'
+'prun' '_pids'
+'ps' '_ps'
+'ps2ascii' '_pspdf'
+'ps2epsi' '_postscript'
+'ps2pdf' '_postscript'
+'ps2pdf12' '_postscript'
+'ps2pdf13' '_postscript'
+'ps2pdf14' '_postscript'
+'ps2pdfwr' '_postscript'
+'ps2ps' '_postscript'
+'psbook' '_psutils'
+'pscp' '_pscp'
+'pscp.exe' '_pscp'
+'psed' '_sed'
+'psig' '_pids'
+'psite' '_pkgcore'
+'psmerge' '_psutils'
+'psmulti' '_postscript'
+'psnup' '_psutils'
+'psql' '_postgresql'
+'psresize' '_psutils'
+'psselect' '_psutils'
+'pstack' '_pids'
+'pstoedit' '_pspdf'
+'pstop' '_pids'
+'pstops' '_psutils'
+'pstotgif' '_pspdf'
+'pswrap' '_postscript'
+'ptree' '_ptree'
+'ptx' '_ptx'
+'pulseaudio' '_pulseaudio'
+'pump' '_pump'
+'pushd' '_cd'
+'putclip' '_putclip'
+'putclip.exe' '_putclip'
+'pv' '_pv'
+'pwait' '_pids'
+'pwdx' '_pids'
+'pwgen' '_pwgen'
+'pyhtmlizer' '_twisted'
+'qdbus' '_qdbus'
+'qiv' '_qiv'
+'qpdf' '_qpdf'
+'qtplay' '_qtplay'
+'querybts' '_bug'
+'quilt' '_quilt'
+'r' '_fc'
+'rake' '_rake'
+'ranlib' '_ranlib'
+'rar' '_rar'
+'rc' '_sh'
+'rcctl' '_rcctl'
+'rclone' '_rclone'
+'rcp' '_rlogin'
+'rcs' '_rcs'
+'rcsdiff' '_rcs'
+'rc-service' '_rc-service'
+'rc-status' '_rc-status'
+'rc-update' '_rc-update'
+'rdesktop' '_rdesktop'
+'read' '_read'
+'readelf' '_readelf'
+'readlink' '_readlink'
+'readonly' '_typeset'
+'readshortcut' '_readshortcut'
+'readshortcut.exe' '_readshortcut'
+'rebootin' '_rebootin'
+'-redirect-' '_redirect'
+'-redirect-,<,bunzip2' '_bzip2'
+'-redirect-,<,bzip2' '_bzip2'
+'-redirect-,>,bzip2' '_bzip2'
+'-redirect-,<,compress' '_compress'
+'-redirect-,>,compress' '_compress'
+'-redirect-,-default-,-default-' '_files'
+'-redirect-,<,gunzip' '_gzip'
+'-redirect-,<,gzip' '_gzip'
+'-redirect-,>,gzip' '_gzip'
+'-redirect-,<,uncompress' '_compress'
+'-redirect-,<,unxz' '_xz'
+'-redirect-,<,xz' '_xz'
+'-redirect-,>,xz' '_xz'
+'refile' '_mh'
+'rehash' '_hash'
+'reindexdb' '_postgresql'
+'reload' '_initctl'
+'removepkg' '_pkgtool'
+'remsh' '_rlogin'
+'renice' '_renice'
+'repl' '_mh'
+'reportbug' '_bug'
+'reprepro' '_reprepro'
+'restart' '_initctl'
+'retawq' '_webbrowser'
+'rgrep' '_grep'
+'rgview' '_vim'
+'rgvim' '_vim'
+'ri' '_ri'
+'rlogin' '_rlogin'
+'rm' '_rm'
+'rmadison' '_madison'
+'rmd160' '_cksum'
+'rmdel' '_sccs'
+'rmdir' '_rmdir'
+'rmf' '_mh'
+'rmic' '_java'
+'rmid' '_java'
+'rmiregistry' '_java'
+'rmm' '_mh'
+'rmmod' '_modutils'
+'route' '_route'
+'rpm' '_rpm'
+'rpmbuild' '_rpm'
+'rpmkeys' '_rpm'
+'rpmquery' '_rpm'
+'rpmsign' '_rpm'
+'rpmspec' '_rpm'
+'rpmverify' '_rpm'
+'rrdtool' '_rrdtool'
+'rsh' '_rlogin'
+'rsync' '_rsync'
+'rtin' '_tin'
+'rubber' '_rubber'
+'rubber-info' '_rubber'
+'rubber-pipe' '_rubber'
+'ruby' '_ruby'
+'ruby-mri' '_ruby'
+'run-help' '_run-help'
+'rup' '_hosts'
+'rusage' '_precommand'
+'rview' '_vim'
+'rvim' '_vim'
+'rwho' '_hosts'
+'rxvt' '_urxvt'
+'s2p' '_sed'
+'sact' '_sccs'
+'sadf' '_sysstat'
+'sahara' '_openstack'
+'sar' '_sysstat'
+'savecore' '_savecore'
+'say' '_say'
+'sbuild' '_sbuild'
+'scan' '_mh'
+'sccs' '_sccs'
+'sccsdiff' '_sccs'
+'sched' '_sched'
+'schedtool' '_schedtool'
+'schroot' '_schroot'
+'scl' '_scl'
+'scons' '_scons'
+'scp' '_ssh'
+'scrcpy' '_scrcpy'
+'scrcpy.exe' '_scrcpy'
+'screen' '_screen'
+'script' '_script'
+'scriptreplay' '_script'
+'scselect' '_scselect'
+'sc_usage' '_sc_usage'
+'scutil' '_scutil'
+'seaf-cli' '_seafile'
+'sed' '_sed'
+'senlin' '_openstack'
+'seq' '_seq'
+'serialver' '_java'
+'service' '_service'
+'set' '_set'
+'setfacl' '_setfacl'
+'setfacl.exe' '_setfacl'
+'setfattr' '_attr'
+'setopt' '_setopt'
+'setpriv' '_setpriv'
+'setsid' '_setsid'
+'setxkbmap' '_setxkbmap'
+'sftp' '_ssh'
+'sh' '_sh'
+'sha1' '_cksum'
+'sha1sum' '_md5sum'
+'sha224sum' '_md5sum'
+'sha256' '_cksum'
+'sha256sum' '_md5sum'
+'sha384' '_cksum'
+'sha384sum' '_md5sum'
+'sha512' '_cksum'
+'sha512sum' '_md5sum'
+'sha512t256' '_cksum'
+'shasum' '_shasum'
+'shift' '_arrays'
+'show' '_mh'
+'showchar' '_psutils'
+'showmount' '_showmount'
+'shred' '_shred'
+'shuf' '_shuf'
+'shutdown' '_shutdown'
+'signify' '_signify'
+'sisu' '_sisu'
+'skein1024' '_cksum'
+'skein256' '_cksum'
+'skein512' '_cksum'
+'skipstone' '_webbrowser'
+'slabtop' '_slabtop'
+'slitex' '_tex'
+'slocate' '_locate'
+'slogin' '_ssh'
+'slrn' '_slrn'
+'smartctl' '_smartmontools'
+'smbclient' '_samba'
+'smbcontrol' '_samba'
+'smbstatus' '_samba'
+'smit' '_smit'
+'smitty' '_smit'
+'snoop' '_snoop'
+'soa' '_hosts'
+'socket' '_socket'
+'sockstat' '_sockstat'
+'softwareupdate' '_softwareupdate'
+'sort' '_sort'
+'sortm' '_mh'
+'source' '_source'
+'spamassassin' '_spamassassin'
+'split' '_split'
+'splitdiff' '_patchutils'
+'sqlite' '_sqlite'
+'sqlite3' '_sqlite'
+'sqsh' '_sqsh'
+'sr' '_surfraw'
+'srptool' '_gnutls'
+'ss' '_ss'
+'ssh' '_ssh'
+'ssh-add' '_ssh'
+'ssh-agent' '_ssh'
+'ssh-copy-id' '_ssh'
+'sshfs' '_sshfs'
+'ssh-keygen' '_ssh'
+'ssh-keyscan' '_ssh'
+'star' '_tar'
+'start' '_initctl'
+'stat' '_stat'
+'status' '_initctl'
+'stdbuf' '_stdbuf'
+'stg' '_stgit'
+'stop' '_initctl'
+'stow' '_stow'
+'strace' '_strace'
+'strace64' '_strace'
+'strftime' '_strftime'
+'strings' '_strings'
+'strip' '_strip'
+'strongswan' '_ipsec'
+'stty' '_stty'
+'su' '_su'
+'subl' '_sublimetext'
+'-subscript-' '_subscript'
+'sudo' '_sudo'
+'sudoedit' '_sudo'
+'sum' '_cksum'
+'surfraw' '_surfraw'
+'SuSEconfig' '_SUSEconfig'
+'sv' '_runit'
+'svcadm' '_svcadm'
+'svccfg' '_svccfg'
+'svcprop' '_svcprop'
+'svcs' '_svcs'
+'svn' '_subversion'
+'svnadmin' '_subversion'
+'svnadmin-static' '_subversion'
+'svn-buildpackage' '_svn-buildpackage'
+'svnlite' '_subversion'
+'svnliteadmin' '_subversion'
+'swaks' '_swaks'
+'swanctl' '_swanctl'
+'swift' '_swift'
+'swiftc' '_swift'
+'sw_vers' '_sw_vers'
+'sync' '_nothing'
+'sysclean' '_sysclean'
+'sysctl' '_sysctl'
+'sysmerge' '_sysmerge'
+'syspatch' '_syspatch'
+'sysrc' '_sysrc'
+'systat' '_systat'
+'systemd-tmpfiles' '_systemd-tmpfiles'
+'system_profiler' '_system_profiler'
+'sysupgrade' '_sysupgrade'
+'tac' '_tac'
+'tacker' '_openstack'
+'tail' '_tail'
+'talk' '_other_accounts'
+'tar' '_tar'
+'tardy' '_tardy'
+'tcpdump' '_tcpdump'
+'tcp_open' '_tcpsys'
+'tcptraceroute' '_tcptraceroute'
+'tcsh' '_sh'
+'tda' '_devtodo'
+'tdd' '_devtodo'
+'tde' '_devtodo'
+'tdr' '_devtodo'
+'tee' '_tee'
+'telnet' '_telnet'
+'tex' '_tex'
+'texi2any' '_texinfo'
+'texi2dvi' '_texinfo'
+'texi2pdf' '_texinfo'
+'texindex' '_texinfo'
+'tg' '_topgit'
+'tidy' '_tidy'
+'tig' '_git'
+'-tilde-' '_tilde'
+'time' '_precommand'
+'timeout' '_timeout'
+'times' '_nothing'
+'tin' '_tin'
+'tkconch' '_twisted'
+'tkinfo' '_texinfo'
+'tla' '_tla'
+'tload' '_tload'
+'tmux' '_tmux'
+'todo' '_devtodo'
+'todo.sh' '_todo.sh'
+'toilet' '_toilet'
+'top' '_top'
+'totdconfig' '_totd'
+'touch' '_touch'
+'tpb' '_tpb'
+'tpkg-debarch' '_toolchain-source'
+'tpkg-install' '_toolchain-source'
+'tpkg-install-libc' '_toolchain-source'
+'tpkg-make' '_toolchain-source'
+'tpkg-update' '_toolchain-source'
+'tput' '_tput'
+'tr' '_tr'
+'tracepath' '_tracepath'
+'tracepath6' '_tracepath'
+'traceroute' '_hosts'
+'transmission-remote' '_transmission'
+'trap' '_trap'
+'trash' '_trash'
+'tree' '_tree'
+'trial' '_twisted'
+'trove' '_openstack'
+'true' '_nothing'
+'truncate' '_truncate'
+'truss' '_truss'
+'tryaffix' '_ispell'
+'tty' '_tty'
+'ttyctl' '_ttyctl'
+'tunctl' '_uml'
+'tune2fs' '_tune2fs'
+'tunes2pod' '_gnupod'
+'tunes2pod.pl' '_gnupod'
+'twidge' '_twidge'
+'twist' '_twisted'
+'twistd' '_twisted'
+'txt' '_hosts'
+'type' '_which'
+'typeset' '_typeset'
+'udevadm' '_udevadm'
+'ulimit' '_ulimit'
+'uml_mconsole' '_uml'
+'uml_moo' '_uml'
+'uml_switch' '_uml'
+'umount' '_mount'
+'unace' '_unace'
+'unalias' '_aliases'
+'uname' '_uname'
+'uncompress' '_compress'
+'unexpand' '_unexpand'
+'unfunction' '_functions'
+'unget' '_sccs'
+'unhash' '_unhash'
+'uniq' '_uniq'
+'unison' '_unison'
+'units' '_units'
+'unix2dos' '_dos2unix'
+'unix2mac' '_dos2unix'
+'unlimit' '_limits'
+'unlz4' '_lz4'
+'unlzma' '_xz'
+'unpack' '_pack'
+'unpigz' '_gzip'
+'unrar' '_rar'
+'unset' '_vars'
+'unsetopt' '_setopt'
+'unshare' '_unshare'
+'unwrapdiff' '_patchutils'
+'unxz' '_xz'
+'unzip' '_zip'
+'update-alternatives' '_update-alternatives'
+'update-rc.d' '_update-rc.d'
+'upgradepkg' '_pkgtool'
+'uptime' '_uptime'
+'urpme' '_urpmi'
+'urpmf' '_urpmi'
+'urpmi' '_urpmi'
+'urpmi.addmedia' '_urpmi'
+'urpmi.removemedia' '_urpmi'
+'urpmi.update' '_urpmi'
+'urpmq' '_urpmi'
+'urxvt' '_urxvt'
+'urxvt256c' '_urxvt'
+'urxvt256cc' '_urxvt'
+'urxvt256c-ml' '_urxvt'
+'urxvt256c-mlc' '_urxvt'
+'urxvtc' '_urxvt'
+'usbconfig' '_usbconfig'
+'uscan' '_uscan'
+'useradd' '_user_admin'
+'userdel' '_users'
+'usermod' '_user_admin'
+'vacuumdb' '_postgresql'
+'val' '_sccs'
+'valgrind' '_valgrind'
+'-value-' '_value'
+'-value-,ADB_TRACE,-default-' '_adb'
+'-value-,ANDROID_LOG_TAGS,-default-' '_adb'
+'-value-,ANDROID_SERIAL,-default-' '_adb'
+'-value-,ANSIBLE_INVENTORY_ENABLED,-default-' '_ansible'
+'-value-,ANSIBLE_STDOUT_CALLBACK,-default-' '_ansible'
+'-value-,ANT_ARGS,-default-' '_ant'
+'-value-,CFLAGS,-default-' '_gcc'
+'-value-,CPPFLAGS,-default-' '_gcc'
+'-value-,CXXFLAGS,-default-' '_gcc'
+'-value-,-default-,-command-' '_zargs'
+'-value-,-default-,-default-' '_value'
+'-value-,DISPLAY,-default-' '_x_display'
+'-value-,GREP_OPTIONS,-default-' '_grep'
+'-value-,GZIP,-default-' '_gzip'
+'-value-,LANG,-default-' '_locales'
+'-value-,LANGUAGE,-default-' '_locales'
+'-value-,LD_DEBUG,-default-' '_ld_debug'
+'-value-,LDFLAGS,-default-' '_gcc'
+'-value-,LESSCHARSET,-default-' '_less'
+'-value-,LESS,-default-' '_less'
+'-value-,LOOPDEV_DEBUG,-default-' '_losetup'
+'-value-,LPDEST,-default-' '_printers'
+'-value-,MPD_HOST,-default' '_mpc'
+'-value-,P4CLIENT,-default-' '_perforce'
+'-value-,P4MERGE,-default-' '_perforce'
+'-value-,P4PORT,-default-' '_perforce'
+'-value-,P4USER,-default-' '_perforce'
+'-value-,PERLDOC,-default-' '_perldoc'
+'-value-,PRINTER,-default-' '_printers'
+'-value-,PROMPT2,-default-' '_ps1234'
+'-value-,PROMPT3,-default-' '_ps1234'
+'-value-,PROMPT4,-default-' '_ps1234'
+'-value-,PROMPT,-default-' '_ps1234'
+'-value-,PS1,-default-' '_ps1234'
+'-value-,PS2,-default-' '_ps1234'
+'-value-,PS3,-default-' '_ps1234'
+'-value-,PS4,-default-' '_ps1234'
+'-value-,RPROMPT2,-default-' '_ps1234'
+'-value-,RPROMPT,-default-' '_ps1234'
+'-value-,RPS1,-default-' '_ps1234'
+'-value-,RPS2,-default-' '_ps1234'
+'-value-,SPROMPT,-default-' '_ps1234'
+'-value-,TERM,-default-' '_terminals'
+'-value-,TERMINFO_DIRS,-default-' '_dir_list'
+'-value-,TZ,-default-' '_time_zone'
+'-value-,VALGRIND_OPTS,-default-' '_valgrind'
+'-value-,WWW_HOME,-default-' '_urls'
+'-value-,XML_CATALOG_FILES,-default-' '_xmlsoft'
+'-value-,XZ_DEFAULTS,-default-' '_xz'
+'-value-,XZ_OPT,-default-' '_xz'
+'-vared-' '_in_vared'
+'vared' '_vared'
+'vcs_info_hookadd' '_vcs_info'
+'vcs_info_hookdel' '_vcs_info'
+'vi' '_vi'
+'view' '_vi'
+'vim' '_vim'
+'vim-addons' '_vim-addons'
+'vimdiff' '_vim'
+'virsh' '_libvirt'
+'virt-admin' '_libvirt'
+'virt-host-validate' '_libvirt'
+'virt-pki-validate' '_libvirt'
+'virt-xml-validate' '_libvirt'
+'visudo' '_visudo'
+'vitrage' '_openstack'
+'vmctl' '_vmctl'
+'vmstat' '_vmstat'
+'vncserver' '_vnc'
+'vncviewer' '_vnc'
+'vorbiscomment' '_vorbis'
+'vpnc' '_vpnc'
+'vpnc-connect' '_vpnc'
+'vserver' '_vserver'
+'w' '_w'
+'w3m' '_w3m'
+'wait' '_wait'
+'wajig' '_wajig'
+'wanna-build' '_wanna-build'
+'watch' '_watch'
+'watcher' '_openstack'
+'wc' '_wc'
+'wget' '_wget'
+'wgetpaste' '_wgetpaste'
+'what' '_sccs'
+'whatis' '_man'
+'whence' '_which'
+'where' '_which'
+'whereis' '_whereis'
+'which' '_which'
+'who' '_who'
+'whoami' '_nothing'
+'whois' '_whois'
+'whom' '_mh'
+'wiggle' '_wiggle'
+'wipefs' '_wipefs'
+'wodim' '_cdrecord'
+'wpa_cli' '_wpa_cli'
+'write' '_users_on'
+'www' '_webbrowser'
+'xargs' '_xargs'
+'xattr' '_attr'
+'xauth' '_xauth'
+'xautolock' '_xautolock'
+'xclip' '_xclip'
+'xcode-select' '_xcode-select'
+'xdpyinfo' '_x_utils'
+'xdvi' '_xdvi'
+'xelatex' '_tex'
+'xetex' '_tex'
+'xev' '_x_utils'
+'xfd' '_x_utils'
+'xfig' '_xfig'
+'xfontsel' '_x_utils'
+'xfreerdp' '_rdesktop'
+'xhost' '_x_utils'
+'xinput' '_xinput'
+'xkill' '_x_utils'
+'xli' '_xloadimage'
+'xloadimage' '_xloadimage'
+'xlsatoms' '_x_utils'
+'xlsclients' '_x_utils'
+'xml' '_xmlstarlet'
+'xmllint' '_xmlsoft'
+'xmlstarlet' '_xmlstarlet'
+'xmms2' '_xmms2'
+'xmodmap' '_xmodmap'
+'xmosaic' '_webbrowser'
+'xon' '_x_utils'
+'xournal' '_xournal'
+'xpdf' '_xpdf'
+'xping' '_hosts'
+'xprop' '_x_utils'
+'xrandr' '_xrandr'
+'xrdb' '_x_utils'
+'xscreensaver-command' '_xscreensaver'
+'xset' '_xset'
+'xsetbg' '_xloadimage'
+'xsetroot' '_x_utils'
+'xsltproc' '_xmlsoft'
+'xterm' '_xterm'
+'xtightvncviewer' '_vnc'
+'xtp' '_imagemagick'
+'xv' '_xv'
+'xview' '_xloadimage'
+'xvnc4viewer' '_vnc'
+'xvncviewer' '_vnc'
+'xwallpaper' '_xwallpaper'
+'xwd' '_x_utils'
+'xwininfo' '_x_utils'
+'xwit' '_xwit'
+'xwud' '_x_utils'
+'xxd' '_xxd'
+'xz' '_xz'
+'xzcat' '_xz'
+'yafc' '_yafc'
+'yash' '_sh'
+'yast' '_yast'
+'yast2' '_yast'
+'ypbind' '_yp'
+'ypcat' '_yp'
+'ypmatch' '_yp'
+'yppasswd' '_yp'
+'yppoll' '_yp'
+'yppush' '_yp'
+'ypserv' '_yp'
+'ypset' '_yp'
+'ypwhich' '_yp'
+'ypxfr' '_yp'
+'ytalk' '_other_accounts'
+'yt-dlp' '_yt-dlp'
+'yum' '_yum'
+'yumdb' '_yum'
+'zargs' '_zargs'
+'zathura' '_zathura'
+'zcalc' '_zcalc'
+'-zcalc-line-' '_zcalc_line'
+'zcat' '_zcat'
+'zcompile' '_zcompile'
+'zcp' '_zmv'
+'zdb' '_zfs'
+'zdelattr' '_zattr'
+'zdump' '_zdump'
+'zeal' '_zeal'
+'zed' '_zed'
+'zegrep' '_grep'
+'zen' '_webbrowser'
+'zf_chgrp' '_chown'
+'zf_chmod' '_chmod'
+'zf_chown' '_chown'
+'zfgrep' '_grep'
+'zf_ln' '_ln'
+'zf_mkdir' '_mkdir'
+'zf_mv' '_mv'
+'zf_rm' '_rm'
+'zf_rmdir' '_rmdir'
+'zfs' '_zfs'
+'zgetattr' '_zattr'
+'zgrep' '_grep'
+'zip' '_zip'
+'zipinfo' '_zip'
+'zle' '_zle'
+'zlistattr' '_zattr'
+'zln' '_zmv'
+'zlogin' '_zlogin'
+'zmail' '_mail'
+'zmodload' '_zmodload'
+'zmv' '_zmv'
+'zone' '_hosts'
+'zoneadm' '_zoneadm'
+'zparseopts' '_zparseopts'
+'zpool' '_zfs'
+'zpty' '_zpty'
+'zsetattr' '_zattr'
+'zsh' '_zsh'
+'zsh-mime-handler' '_zsh-mime-handler'
+'zsocket' '_zsocket'
+'zstat' '_stat'
+'zstyle' '_zstyle'
+'ztodo' '_ztodo'
+'zun' '_openstack'
+'zxpdf' '_xpdf'
+'zypper' '_zypper'
+)
+
+_services=(
+'bzcat' 'bunzip2'
+'dch' 'debchange'
+'gchgrp' 'chgrp'
+'gchown' 'chown'
+'gnupod_addsong.pl' 'gnupod_addsong'
+'gnupod_check.pl' 'gnupod_check'
+'gnupod_INIT.pl' 'gnupod_INIT'
+'gnupod_search.pl' 'gnupod_search'
+'gpg2' 'gpg'
+'gzcat' 'gunzip'
+'iceweasel' 'firefox'
+'lzcat' 'unxz'
+'lzma' 'xz'
+'Mail' 'mail'
+'mailx' 'mail'
+'mktunes.pl' 'mktunes'
+'nail' 'mail'
+'ncl' 'nc'
+'nedit-nc' 'nc'
+'pcat' 'unpack'
+'-redirect-,<,bunzip2' 'bunzip2'
+'-redirect-,<,bzip2' 'bzip2'
+'-redirect-,>,bzip2' 'bunzip2'
+'-redirect-,<,compress' 'compress'
+'-redirect-,>,compress' 'uncompress'
+'-redirect-,<,gunzip' 'gunzip'
+'-redirect-,<,gzip' 'gzip'
+'-redirect-,>,gzip' 'gunzip'
+'-redirect-,<,uncompress' 'uncompress'
+'-redirect-,<,unxz' 'unxz'
+'-redirect-,<,xz' 'xz'
+'-redirect-,>,xz' 'unxz'
+'remsh' 'rsh'
+'slogin' 'ssh'
+'svnadmin-static' 'svnadmin'
+'svnlite' 'svn'
+'svnliteadmin' 'svnadmin'
+'tunes2pod.pl' 'tunes2pod'
+'unlzma' 'unxz'
+'xelatex' 'latex'
+'xetex' 'tex'
+'xzcat' 'unxz'
+'zf_chgrp' 'chgrp'
+'zf_chown' 'chown'
+)
+
+_patcomps=(
+'*/(init|rc[0-9S]#).d/*' '_init_d'
+'notmuch-*' '_notmuch'
+)
+
+_postpatcomps=(
+'_*' '_compadd'
+'c++-*' '_gcc'
+'g++-*' '_gcc'
+'gcc-*' '_gcc'
+'gem[0-9.]#' '_gem'
+'lua[0-9.-]##' '_lua'
+'(p[bgpn]m*|*top[bgpn]m)' '_pbm'
+'php[0-9.-]' '_php'
+'pydoc[0-9.]#' '_pydoc'
+'python[0-9.]#' '_python'
+'qemu(|-system-*)' '_qemu'
+'(ruby|[ei]rb)[0-9.]#' '_ruby'
+'shasum(|5).*' '_shasum'
+'(texi(2*|ndex))' '_texi'
+'(tiff*|*2tiff|pal2rgb)' '_tiff'
+'-value-,(ftp|http(|s))_proxy,-default-' '_urls'
+'-value-,LC_*,-default-' '_locales'
+'-value-,*path,-default-' '_directories'
+'-value-,*PATH,-default-' '_dir_list'
+'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby'
+'*/X11(|R<4->)/*' '_x_arguments'
+'yodl(|2*)' '_yodl'
+'zf*' '_zftp'
+)
+
+_compautos=(
+'_call_program' '+X'
+)
+
+zle -C _bash_complete-word .complete-word _bash_completions
+zle -C _bash_list-choices .list-choices _bash_completions
+zle -C _complete_debug .complete-word _complete_debug
+zle -C _complete_help .complete-word _complete_help
+zle -C _complete_tag .complete-word _complete_tag
+zle -C _correct_filename .complete-word _correct_filename
+zle -C _correct_word .complete-word _correct_word
+zle -C _expand_alias .complete-word _expand_alias
+zle -C _expand_word .complete-word _expand_word
+zle -C _history-complete-newer .complete-word _history_complete_word
+zle -C _history-complete-older .complete-word _history_complete_word
+zle -C _list_expansions .list-choices _expand_word
+zle -C _most_recent_file .complete-word _most_recent_file
+zle -C _next_tags .list-choices _next_tags
+zle -C _read_comp .complete-word _read_comp
+bindkey '^X^R' _read_comp
+bindkey '^X?' _complete_debug
+bindkey '^XC' _correct_filename
+bindkey '^Xa' _expand_alias
+bindkey '^Xc' _correct_word
+bindkey '^Xd' _list_expansions
+bindkey '^Xe' _expand_word
+bindkey '^Xh' _complete_help
+bindkey '^Xm' _most_recent_file
+bindkey '^Xn' _next_tags
+bindkey '^Xt' _complete_tag
+bindkey '^X~' _bash_list-choices
+bindkey '^[,' _history-complete-newer
+bindkey '^[/' _history-complete-older
+bindkey '^[~' _bash_complete-word
+
+autoload -Uz _bwrap _docker _docker-compose _email-notmuch _firejail \
+ _libinput _meson _mpv _ninja _notmuch \
+ _openrc _pass _pkgcheck _pkgcore _pkgdev \
+ _pulseaudio _qpdf _rc-service _rc-status _rc-update \
+ _scrcpy _systemd-tmpfiles _udevadm _wgetpaste _xwallpaper \
+ _yt-dlp _zathura _cdr _floppy _logical_volumes \
+ _lscfg _lsdev _lslv _lspv _lsvg \
+ _object_classes _physical_volumes _smit _volume_groups _bsdconfig \
+ _bsd_disks _bsdinstall _bsd_pkg _chflags _csup \
+ _cu _cvsup _fbsd_architectures _fbsd_device_types _fetch \
+ _file_flags _freebsd-update _fstat _fw_update _gstat \
+ _ipfw _jail _jails _jexec _jls \
+ _jot _kdump _kld _ktrace _ktrace_points \
+ _ldap _login_classes _mixerctl _nbsd_architectures _obsd_architectures \
+ _pfctl _pkgin _portaudit _portlint _portmaster \
+ _portsnap _powerd _procstat _rcctl _routing_domains \
+ _routing_tables _signify _sockstat _sysclean _sysmerge \
+ _syspatch _sysrc _systat _sysupgrade _usbconfig \
+ _vmctl _watch-snoop _all_labels _all_matches _alternative \
+ _approximate _arg_compile _arguments _bash_completions _cache_invalid \
+ _call_function _combination _complete _complete_debug _complete_help \
+ _complete_help_generic _complete_tag _comp_locale _correct _correct_filename \
+ _correct_word _describe _description _dispatch _expand \
+ _expand_alias _expand_word _extensions _external_pwds _generic \
+ _guard _history _history_complete_word _ignored _list \
+ _main_complete _match _menu _message _most_recent_file \
+ _multi_parts _next_label _next_tags _normal _nothing \
+ _numbers _oldlist _pick_variant _prefix _read_comp \
+ _regex_arguments _regex_words _requested _retrieve_cache _sep_parts \
+ _sequence _set_command _setup _store_cache _sub_commands \
+ _tags _user_expand _values _wanted _cygcheck \
+ _cygpath _cygrunsrv _cygserver _cygstart _dumper \
+ _getclip _mkshortcut _mkzsh _pscp _putclip \
+ _readshortcut _caffeinate _defaults _fink _fs_usage \
+ _hdiutil _mac_applications _mac_files_for_application _mdfind _mdls \
+ _mdutil _networksetup _nvram _open _osascript \
+ _otool _pbcopy _plutil _qtplay _retrieve_mac_apps \
+ _say _scselect _sc_usage _scutil _softwareupdate \
+ _sw_vers _system_profiler _trash _xcode-select _a2utils \
+ _apt _apt-file _aptitude _apt-move _apt-show-versions \
+ _auto-apt _axi-cache _bts _bug _cdbs-edit-patch \
+ _dak _dchroot _dchroot-dsa _dcut _deb_architectures \
+ _debbugs_bugnumber _debchange _debcheckout _deb_codenames _debdiff \
+ _deb_files _debfoster _deborphan _deb_packages _debsign \
+ _debsnap _debuild _dlocate _dpatch-edit-patch _dpkg \
+ _dpkg-buildpackage _dpkg-cross _dpkg-repack _dpkg_source _dput \
+ _dscverify _dupload _git-buildpackage _grep-excuses _invoke-rc.d \
+ _lighttpd _lintian _madison _make-kpkg _members \
+ _mergechanges _module-assistant _pbuilder _piuparts _reprepro \
+ _sbuild _schroot _svn-buildpackage _toolchain-source _update-alternatives \
+ _update-rc.d _uscan _vim-addons _wajig _wanna-build \
+ _acpi _acpitool _alsa-utils _analyseplugin _basenc \
+ _brctl _btrfs _capabilities _chattr _chcon \
+ _choom _chrt _cpupower _cryptsetup _dkms \
+ _e2label _ethtool _findmnt _free _fuse_arguments \
+ _fusermount _fuse_values _gpasswd _htop _iconvconfig \
+ _ionice _ipset _iptables _iwconfig _kpartx \
+ _losetup _lsattr _lsblk _lsns _lsusb \
+ _ltrace _mat _mat2 _mdadm _mii-tool \
+ _modutils _mondo _networkmanager _nsenter _opkg \
+ _perf _pidof _pkgtool _pmap _qdbus \
+ _schedtool _selinux_contexts _selinux_roles _selinux_types _selinux_users \
+ _setpriv _setsid _slabtop _ss _sshfs \
+ _strace _sysstat _tload _tpb _tracepath \
+ _tune2fs _uml _unshare _valgrind _vserver \
+ _wakeup_capable_devices _wipefs _wpa_cli _rebootin _urpmi \
+ _dnf _rpm _scl _yum _beadm \
+ _be_name _coreadm _dhcpinfo _dladm _dtrace \
+ _dumpadm _flowadm _fmadm _inetadm _ipadm \
+ _pfexec _pkg5 _prstat _ptree _savecore \
+ _snoop _svcadm _svccfg _svcprop _svcs \
+ _svcs_fmri _zlogin _zoneadm _zones _a2ps \
+ _aap _abcde _absolute_command_paths _ack _adb \
+ _ansible _ant _antiword _apachectl _apm \
+ _arch_archives _arch_namespace _arp _arping _asciidoctor \
+ _asciinema _at _attr _augeas _avahi \
+ _awk _base64 _basename _bash _baudrates \
+ _baz _beep _bibtex _bind_addresses _bison \
+ _bittorrent _bogofilter _bpf_filters _bpython _bzip2 \
+ _bzr _cabal _cal _calendar _canonical_paths \
+ _cat _ccal _cdcd _cdrdao _cdrecord \
+ _chkconfig _chmod _chown _chroot _chsh \
+ _cksum _clay _cmdambivalent _cmdstring _cmp \
+ _column _comm _composer _compress _configure \
+ _cowsay _cp _cpio _cplay _crontab \
+ _cscope _csplit _cssh _ctags _ctags_tags \
+ _curl _cut _cvs _darcs _date \
+ _date_formats _dates _dbus _dconf _dd \
+ _devtodo _df _dhclient _dict _dict_words \
+ _diff _diff3 _diff_options _diffstat _dig \
+ _directories _dir_list _django _dmesg _dmidecode \
+ _dns_types _doas _domains _dos2unix _drill \
+ _dropbox _dsh _dtruss _du _dvi \
+ _ecasound _ed _elfdump _elinks _email_addresses \
+ _enscript _entr _env _espeak _etags \
+ _fakeroot _feh _fetchmail _ffmpeg _figlet \
+ _file_modes _files _file_systems _find _find_net_interfaces \
+ _finger _flac _flex _fmt _fold \
+ _fortune _fsh _fuser _gcc _gcore \
+ _gdb _gem _genisoimage _getconf _getent \
+ _getfacl _getmail _getopt _ghostscript _git \
+ _global _global_tags _gnu_generic _gnupod _gnutls \
+ _go _gpg _gphoto2 _gprof _gradle \
+ _graphicsmagick _grep _groff _groups _growisofs \
+ _gsettings _guilt _gzip _have_glob_qual _head \
+ _hexdump _host _hostname _hosts _iconv \
+ _id _ifconfig _iftop _imagemagick _initctl \
+ _init_d _install _iostat _ip _ipsec \
+ _irssi _ispell _java _java_class _joe \
+ _join _jq _killall _knock _kvno \
+ _last _ldconfig _ldd _ld_debug _less \
+ _lha _libvirt _links _list_files _lldb \
+ _ln _loadkeys _locale _localedef _locales \
+ _locate _logger _look _lp _ls \
+ _lsof _lua _luarocks _lynx _lz4 \
+ _lzop _mail _mailboxes _make _man \
+ _md5sum _mencal _mh _mime_types _mkdir \
+ _mkfifo _mknod _mktemp _module _monotone \
+ _moosic _mosh _mount _mpc _mt \
+ _mtools _mtr _mutt _mv _my_accounts \
+ _myrepos _mysqldiff _mysql_utils _ncftp _netcat \
+ _net_interfaces _netstat _newsgroups _nginx _ngrep \
+ _nice _nkf _nl _nm _nmap \
+ _npm _nslookup _numfmt _objdump _object_files \
+ _od _openstack _opustools _other_accounts _pack \
+ _pandoc _paste _patch _patchutils _path_commands \
+ _path_files _pax _pbm _pdf _perforce \
+ _perl _perl_basepods _perldoc _perl_modules _pgids \
+ _pgrep _php _picocom _pids _pine \
+ _ping _pkgadd _pkg-config _pkginfo _pkg_instance \
+ _pkgrm _pon _ports _postfix _postgresql \
+ _postscript _pr _printenv _printers _process_names \
+ _prove _ps _pspdf _psutils _ptx \
+ _pump _pv _pwgen _pydoc _python \
+ _python_modules _qemu _quilt _rake _ranlib \
+ _rar _rclone _rcs _readelf _readlink \
+ _remote_files _renice _ri _rlogin _rm \
+ _rmdir _route _rrdtool _rsync _rubber \
+ _ruby _runit _samba _sccs _scons \
+ _screen _script _seafile _sed _seq \
+ _service _services _setfacl _sh _shasum \
+ _showmount _shred _shuf _shutdown _signals \
+ _sisu _slrn _smartmontools _socket _sort \
+ _spamassassin _split _sqlite _sqsh _ssh \
+ _ssh_hosts _stat _stdbuf _stgit _stow \
+ _strings _strip _stty _su _subversion \
+ _sudo _surfraw _swaks _swanctl _swift \
+ _sys_calls _sysctl _tac _tail _tar \
+ _tar_archive _tardy _tcpdump _tcptraceroute _tee \
+ _telnet _terminals _tex _texi _texinfo \
+ _tidy _tiff _tilde_files _timeout _time_zone \
+ _tin _tla _tmux _todo.sh _toilet \
+ _top _topgit _totd _touch _tput \
+ _tr _transmission _tree _truncate _truss \
+ _tty _ttys _twidge _twisted _umountable \
+ _unace _uname _unexpand _uniq _unison \
+ _units _uptime _urls _user_admin _user_at_host \
+ _users _users_on _vi _vim _visudo \
+ _vmstat _vorbis _vpnc _w _w3m \
+ _watch _wc _webbrowser _wget _whereis \
+ _who _whois _wiggle _xargs _xmlsoft \
+ _xmlstarlet _xmms2 _xxd _xz _yafc \
+ _yodl _yp _zcat _zdump _zfs \
+ _zfs_dataset _zfs_pool _zip _zsh _acroread \
+ _code _dcop _eog _evince _geany \
+ _gnome-gv _gqview _gv _kdeconnect _kfmclient \
+ _matlab _mozilla _mplayer _mupdf _nautilus \
+ _nedit _netscape _okular _pdftk _qiv \
+ _rdesktop _setxkbmap _sublimetext _urxvt _vnc \
+ _x_arguments _xauth _xautolock _x_borderwidth _xclip \
+ _x_color _x_colormapid _x_cursor _x_display _xdvi \
+ _x_extension _xfig _x_font _xft_fonts _x_geometry \
+ _xinput _x_keysym _xloadimage _x_locale _x_modifier \
+ _xmodmap _x_name _xournal _xpdf _xrandr \
+ _x_resource _xscreensaver _x_selection_timeout _xset _xt_arguments \
+ _xterm _x_title _xt_session_id _x_utils _xv \
+ _x_visual _x_window _xwit _zeal _add-zle-hook-widget \
+ _add-zsh-hook _alias _aliases __arguments _arrays \
+ _assign _autocd _bindkey _brace_parameter _builtin \
+ _cd _command _command_names _compadd _compdef \
+ _completers _condition _default _delimiters _directory_stack \
+ _dirs _disable _dynamic_directory_name _echotc _echoti \
+ _emulate _enable _equal _exec _fc \
+ _file_descriptors _first _functions _globflags _globqual_delims \
+ _globquals _hash _history_modifiers _in_vared _jobs \
+ _jobs_bg _jobs_builtin _jobs_fg _kill _limit \
+ _limits _math _math_params _mere _module_math_func \
+ _options _options_set _options_unset _parameter _parameters \
+ _precommand _print _prompt _ps1234 _read \
+ _redirect _run-help _sched _set _setopt \
+ _source _strftime _subscript _suffix_alias_files _tcpsys \
+ _tilde _trap _ttyctl _typeset _ulimit \
+ _unhash _user_math_func _value _vared _vars \
+ _vcs_info _vcs_info_hooks _wait _which _widgets \
+ _zargs _zattr _zcalc _zcalc_line _zcompile \
+ _zed _zftp _zle _zmodload _zmv \
+ _zparseopts _zpty _zsh-mime-handler _zsocket _zstyle \
+ _ztodo _hwinfo _osc _SUSEconfig _yast \
+ _zypper
+autoload -Uz +X _call_program
+
+typeset -gUa _comp_assocs
+_comp_assocs=( '' )
diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile
new file mode 100755
index 0000000..dc89a2e
--- /dev/null
+++ b/.config/zsh/.zprofile
@@ -0,0 +1,18 @@
+if [[ -z "${XDG_RUNTIME_DIR}" ]]; then
+ XDG_RUNTIME_DIR=/tmp/user/$(id -u)
+ if [[ ! -d ${XDG_RUNTIME_DIR} ]]; then
+ mkdir -p ${XDG_RUNTIME_DIR}
+ chmod 700 ${XDG_RUNTIME_DIR}
+ fi
+ export XDG_RUNTIME_DIR
+fi
+
+source ~/.config/zsh/.zshenv
+if [[ -z "${DISPLAY}" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then
+ if [[ -z "${SSH_AGENT_PID}" ]]; then
+ eval $(ssh-agent)
+ fi
+ #exec startx "$XDG_CONFIG_HOME/X11/xinitrc" -- vt1
+ #openrc -U default
+ exec xinit -- -nolisten tcp -keeptty vt1
+fi
diff --git a/.config/zsh/.zshenv b/.config/zsh/.zshenv
new file mode 100755
index 0000000..7bb0104
--- /dev/null
+++ b/.config/zsh/.zshenv
@@ -0,0 +1,66 @@
+#!/bin/zsh
+
+export XDG_DATA_HOME="$HOME"/.local/share
+export XDG_CONFIG_HOME="$HOME"/.config
+export XDG_CACHE_HOME="$HOME"/.cache
+export XDG_STATE_HOME="$HOME"/.local/state
+
+export DXVK_CONFIG_FILE="$HOME"/.config/dxvk.conf
+
+export EDITOR="nvim"
+export VISUAL="nvim"
+export TERMINAL="sakura"
+export BROWSER="firefox"
+
+export QT_QPA_PLATFORMTHEME="qt5ct"
+export QT_AUTO_SCREEN_SCALE_FACTOR=1
+
+export RANGER_DEVICONS_SEPARATOR=" "
+
+export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
+export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default
+
+export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
+export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
+export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
+
+export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
+export JDTLS_HOME="$HOME/.local/share/jdtls"
+export WORKSPACE="$JDTLS_HOME/workspace"
+
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+
+export ANDROID_HOME="$XDG_DATA_HOME/android"
+export ANDROID_SDK_ROOT="$XDG_DATA_HOME/android"
+export ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk"
+export ANDROID_NDK_HOME="$ANDROID_SDK_ROOT/ndk"
+
+export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible"
+
+export GNUPGHOME="$XDG_DATA_HOME/gnupg"
+export GPG_TTY="$(tty)"
+
+export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority"
+
+export USERXSESSION="$XDG_CACHE_HOME/X11/xsession"
+export USERXSESSIONRC="$XDG_CACHE_HOME/X11/xsessionrc"
+export ALTUSERXSESSION="$XDG_CACHE_HOME/X11/Xsession"
+export ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors"
+
+export WGETRC="$XDG_CONFIG_HOME/wgetrc"
+export WLR_DRM_NO_MODIFIERS=1
+export LESSHISTFILE=-
+
+export GTK_IM_MODULE="xim"
+
+export FZF_DEFAULT_OPTS='--height 40% --reverse'
+
+export PASSWORD_STORE_DIR="${XDG_DATA_HOME}/pass"
+
+export XCURSOR_PATH=/usr/share/icons:${XDG_DATA_HOME}/icons
+export PATH="$HOME/.local/bin:$CARGO_HOME/bin:$PATH"
+
+LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:';
+export LS_COLORS
+
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
new file mode 100755
index 0000000..8b2fd1a
--- /dev/null
+++ b/.config/zsh/.zshrc
@@ -0,0 +1,269 @@
+# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.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
+
+# Created by newuser for 5.8
+
+# Enable colors:
+autoload -U colors && colors
+
+# History in cache directory:
+HISTSIZE=10000
+SAVEHIST=10000
+HISTFILE=~/.cache/zsh/history
+HISTCONTROL=ereasedups
+
+# Basic auto/tab complete:
+autoload -U compinit promptinit
+zstyle ':completion:*' menu select
+zmodload zsh/complist
+compinit
+_comp_options+=(globdots) # Include hidden files.
+#promptinit; prompt gentoo
+
+
+# vi mode
+bindkey -v
+export KEYTIMEOUT=1
+
+# Use vim keys in tab complete menu:
+bindkey -M menuselect 'h' vi-backward-char
+bindkey -M menuselect 'k' vi-up-line-or-history
+bindkey -M menuselect 'l' vi-forward-char
+bindkey -M menuselect 'j' vi-down-line-or-history
+bindkey -v '^?' backward-delete-char
+
+bindkey "^[[1;5C" forward-word
+bindkey "^[[1;5D" backward-word
+bindkey "^[[3~" delete-char
+bindkey "^[3;5~" delete-char
+
+
+# Change cursor shape for different vi modes.
+function zle-keymap-select {
+ if [[ ${KEYMAP} == vicmd ]] ||
+ [[ $1 = 'block' ]]; then
+ echo -ne '\e[1 q'
+ elif [[ ${KEYMAP} == main ]] ||
+ [[ ${KEYMAP} == viins ]] ||
+ [[ ${KEYMAP} = '' ]] ||
+ [[ $1 = 'beam' ]]; then
+ echo -ne '\e[5 q'
+ fi
+}
+zle -N zle-keymap-select
+zle-line-init() {
+ zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
+ echo -ne "\e[5 q"
+}
+zle -N zle-line-init
+echo -ne '\e[5 q' # Use beam shape cursor on startup.
+preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
+
+# Use ranger to switch directories and bind it to ctrl-o
+ranger_cd() {
+ temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")"
+ ranger --choosedir="$temp_file" -- "${@:-$PWD}"
+ if chosen_dir="$(cat -- "$temp_file")" && [ -n "$chosen_dir" ] && [ "$chosen_dir" != "$PWD" ]; then
+ cd -- "$chosen_dir"
+ fi
+ rm -f -- "$temp_file"
+}
+bindkey -s '^o' 'ranger_cd\n'
+ranger_pushd() {
+ temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")"
+ ranger --choosedir="$temp_file" -- "${@:-$PWD}"
+ if chosen_dir="$(cat -- "$temp_file")" && [ -n "$chosen_dir" ] && [ "$chosen_dir" != "$PWD" ]; then
+ pushd -- "$chosen_dir"
+ fi
+ rm -f -- "$temp_file"
+}
+bindkey -s '^O' 'ranger_pushd\n'
+bindkey -s '^r' 'ranger\n'
+bindkey -s '^n' 'setsid kitty -d $(pwd)\n'
+
+bindkey -s '^z' 'bg && disown\n'
+
+mkcd() {
+ mkdir $1
+ cd $1
+}
+
+retry() {
+ local SLPT=5
+ [ "$1" = "-t" ] && SLPT="$2" && shift 2
+ while true; do
+ $@ && break
+ sleep "$SLPT"
+ done
+}
+
+alias test_internet='retry ping google.com -c 1'
+
+#alias ls='exa --group-directories-first -l'
+#alias la='exa --group-directories-first -la'
+alias ls='ls --group-directories-first --color=auto'
+alias ll='ls -la --group-directories-first --color=auto'
+alias la='ls -a --group-directories-first --color=auto'
+
+alias less='less -R'
+
+alias ci3='$EDITOR $HOME/.config/i3/config'
+alias cpb='$EDITOR $HOME/.config/polybar/config.ini'
+alias cpbm='$EDITOR $HOME/.config/polybar/modules.ini'
+alias czsh='$EDITOR $HOME/.config/zsh/.zshrc'
+alias cnv='$EDITOR $HOME/.config/nvim/init.vim'
+
+alias r='ranger'
+
+alias s='swallow'
+
+alias dotfiles='/usr/bin/git --git-dir=${XDG_DATA_HOME:-${HOME}/.local/share}/dotfiles --work-tree=$HOME'
+
+alias luamake=/home/nerdjp/dev/lua-language-server/3rd/luamake/luamake
+alias clip='xclip -selection "clipboard"'
+
+alias e='edit.sh'
+alias c='config.sh'
+
+pls() {
+ sudo !!
+}
+
+# Edit line in vim with ctrl-e:
+autoload edit-command-line; zle -N edit-command-line
+bindkey '^e' edit-command-line
+
+setopt auto_cd
+
+alias cp='cp -i'
+alias mv='mv -i'
+
+alias dcp='pwd | xclip -selection clipboard'
+
+alias ffmpeg='ffmpeg -hide_banner'
+alias ffprobe='ffprobe -hide_banner'
+alias iv='nsxiv'
+alias mp='ncmpcpp'
+alias vi='nvim'
+alias grep='grep --color=auto'
+
+source /usr/share/fzf/key-bindings.zsh
+#source /usr/share/fzf/completion.zsh
+
+alias gs='git status'
+alias gb='git branch'
+alias gc='git checkout'
+alias gcb='git checkout -b'
+alias gf='git pull'
+alias gp='git pull'
+
+smv() {
+ [[ -n $1 ]] && mv $(\ls | fzf -m) $1
+}
+
+gbc() {
+ git branch $@ && git checkout $@
+}
+
+fzfg() {
+ JOB=$(jobs | fzf | cut -d ' ' -f 1 | sed -e 's/\[/%/' -e 's/\]//')
+ [ -n "$JOB" ] && fg "$JOB"
+}
+
+evi() {
+ if [ -z "${1}" ]; then
+ EBUILD_PATH="/var/db/repos/"
+ else
+ EBUILD_PATH="$(equery w ${1})"
+ fi
+ [ -n "${EBUILD_PATH}" ] && vi ${EBUILD_PATH}
+}
+
+detach() {
+ JOBS=$(jobs)
+ if [ -n "$JOBS" ]; then
+ [ "$(wc -l <<< ${JOBS})" -le 1 ] && { bg && sleep 0.1 && disown && return }
+ JOB=$(fzf <<< ${JOBS} | cut -d ' ' -f 1 | sed -e 's/\[/%/' -e 's/\]//')
+ echo $JOB
+ bg "$JOB" && disown "$JOB"
+ fi
+}
+
+ZSH_AUTOSUGGEST_STRATEGY=(history completion)
+
+# make kernel
+# sync
+# update
+# myip
+# open ports
+
+#eval "$(starship init zsh)"
+autoload -Uz vcs_info
+zstyle ':vcs_info:*' formats ' %b'
+
+preexec_timer() { SECONDS=0 }
+preexec_functions+=( preexec_timer )
+
+precmd_jobs() {
+ local IFS="
+ "
+ for job in $(jobs); do
+ if [[ "$job" =~ "running" ]]; then
+ printf "\033[38;5;2m %s" "${job##running}"
+ elif [[ "$job" =~ "suspended" ]]; then
+ printf "\033[38;5;3m %s" "${job##suspended}"
+ else
+ printf "%s" "${job}"
+ fi
+ done
+}
+
+preexec_rename() {
+ printf '\033]2;%s@%s: %s\033\\' ${USER} ${HOST} ${1}
+}
+
+precmd_vcs_info() { vcs_info }
+precmd_functions+=( precmd_vcs_info precmd_jobs precmd_rename )
+
+preexec_functions+=( preexec_rename )
+
+setopt prompt_subst
+PROMPT='%F{magenta}%n@%m%f %F{blue}%1~%f %(?,[,%F{red}[%f) '
+
+#PROMPT='%F{magenta}%f %F{blue}%1~%f %(?,[,%F{red}[%f) '
+#
+RPROMPT=' %(?,],%F{red}]%f)'
+
+#%F{cyan}${vcs_info_msg_0_}%f'
+#%1(S,took $(format-time $SECONDS),)'
+#%F{magenta}%D{%I:%m %p}%f'
+
+#paleofetch
+
+# Load zsh-syntax-highlighting; should be last.
+source /usr/share/zsh/site-functions/zsh-syntax-highlighting.zsh
+source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh
+
+printf '\033]2;%s@%s\033\\' $USER $HOST
+cat "${HOME}/doc/ascii-arts/woman.txt"
+
+attach_tmux_group() {
+ if [[ -z ${TMUX} ]]; then
+ local group="${1:-common}"
+ local session=$(tmux list-sessions -F "#S:#{session_group}:#{session_attached}" \
+ | grep ":${group}:0" | cut -d ':' -f 1)
+
+ if [[ -n ${session} ]]; then
+ exec tmux attach -t "${session}"
+ else
+ tmux new-window -at "${group}:"
+ tmux new -t "${group}"
+ fi
+ fi
+}
+
+#attach_tmux_group
diff --git a/.local/share/gnupg/gpg.conf b/.local/share/gnupg/gpg.conf
new file mode 100755
index 0000000..582d14b
--- /dev/null
+++ b/.local/share/gnupg/gpg.conf
@@ -0,0 +1,31 @@
+# Assume that command line arguments are given as UTF8 strings.
+utf8-strings
+
+# when outputting certificates, view user IDs distinctly from keys:
+fixed-list-mode
+
+# long keyids are more collision-resistant than short keyids (it's trivial to make a key
+# with any desired short keyid)
+# NOTE: this breaks kmail gnupg support!
+keyid-format 0xlong
+
+# when multiple digests are supported by all recipients, choose the strongest one:
+personal-digest-preferences SHA512 SHA384 SHA256 SHA224
+
+# preferences chosen for new keys should prioritize stronger algorithms:
+default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB ZIP Uncompressed
+
+# You should always know at a glance which User IDs GPG thinks are legitimately bound to
+# the keys in the keyring:
+verify-options show-uid-validity
+list-options show-uid-validity
+
+# include an unambiguous indicator of which key made a signature:
+# (see http://thread.gmane.org/gmane.mail.notmuch.general/3721/focus=7234)
+# (and http://www.ietf.org/mail-archive/web/openpgp/current/msg00405.html)
+sig-notation issuer-fpr@notations.openpgp.fifthhorseman.net=%g
+
+# when making an OpenPGP certification, use a stronger digest than the default SHA1:
+cert-digest-algo SHA512
+s2k-cipher-algo AES256
+s2k-digest-algo SHA512