From 66da4e5604ae13dbe855105446dcf23507d5b41a Mon Sep 17 00:00:00 2001 From: coast Date: Wed, 16 Jul 2025 18:06:20 +0330 Subject: [PATCH] suicide --- .zprofile | 74 +++++---- .zshrc | 12 +- config/btop/btop.conf | 254 ++++++++++++++++++++++++++++++ config/btop/themes/coasteen.theme | 89 +++++++++++ config/btop/themes/gruvbox.theme | 92 +++++++++++ config/btop/themes/kyli0x.theme | 92 +++++++++++ config/nvim/init.lua | 2 - 7 files changed, 571 insertions(+), 44 deletions(-) create mode 100644 config/btop/btop.conf create mode 100644 config/btop/themes/coasteen.theme create mode 100644 config/btop/themes/gruvbox.theme create mode 100644 config/btop/themes/kyli0x.theme diff --git a/.zprofile b/.zprofile index 25c6539..4161ad5 100644 --- a/.zprofile +++ b/.zprofile @@ -1,43 +1,42 @@ -# aliases alias \ - nf="clear && neofetch" \ - ascdis="fastfetch --logo \$1" \ - emoji="cat ~/.local/share/emoji | grep \$1" \ - cst="emacs ~/.config/st/config.h" \ - lasal="ls -al" \ - ahl="ls -ahl" \ - resmacs="systemctl --user restart emacsd" \ - smi="doas nvidia-smi" \ - srczsh="source ~/.zshrc" \ - battery="sb-battery" \ - quit="exit" \ - :q="exit" \ - :q!="exit" \ - push="git push" \ - weather="curl wttr.in/masjedsoleyman" \ - las="ls" \ - lasa="ls -a" \ - c="clear" \ - cear="clear" \ - cd..="cd .." \ - ..='echo "cd .."; cd ../' \ - claer="clear" \ - clare="clear" \ - cleae="clear" \ - clera="clear" \ - hotp="htop" \ - copykey='cat ~/.local/key/vault1.key | xclip -sel clipboard' \ + cp='cp -iv' \ + mv='mv -iv' \ + nf="clear && fastfetch" \ + emoji="cat ~/.local/share/emoji | grep \$1" \ + cst="emacs ~/.config/st/config.h" \ + ll="ls -hl" \ + l="ls -lh" \ + la="ls -ahl" \ + smi="nvidia-smi" \ + srczsh="source ~/.zshrc" \ + battery="sb-battery" \ + bat="sb-battery" \ + quit="exit" \ + :q="exit" \ + push="git push" \ + weather="curl wttr.in/masjedsoleyman" \ + las="ls" \ + la="ls -a" \ + c="clear" \ + cear="clear" \ + cd..="cd .." \ + ..='echo "cd .."; cd ../' \ + claer="clear" \ + clare="clear" \ + cleae="clear" \ + clera="clear" \ + hotp="htop" \ + copykey='cat ~/.local/share/vault1.key | xclip -sel clipboard' \ + mic="micro" \ + nx="nsxiv" \ + v="vi" \ + neofetch="fastfetch" + queue="mpc add /" + top="btop" + htop="btop" + nwr="newsraft" grep --color=auto < /dev/null &>/dev/null && alias grep='grep --color=auto' - -#utilize sbase coreutils when in shell -export GNU_PATH_BACKUP="$PATH" -export PATH="/bin/sbaseutils/bin:$PATH" -export COREUTILSMODE="POSIX" -alias gnumode='export PATH="/usr/bin:/bin:$GNU_PATH_BACKUP"; export COREUTILSMODE="GNU"' -alias posixmode='export PATH="/home/coast/.local/sbase/bin:$HOME/.local/bin:$GNU_PATH_BACKUP"; export COREUTILSMODE="POSIX"' - - export PATH="$HOME/.local/bin:$PATH" export PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH" export PATH="$PATH:/home/coast/.spicetify" @@ -45,7 +44,6 @@ export MANPATH="/usr/pkg/man:$MANPATH" export XDG_DATA_DIRS="/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share:/usr/local/share:/usr/share" export EDITOR="emacs" export EIX_LIMIT=0 - fpath=(~/.zsh/completions $fpath) lsbind() { diff --git a/.zshrc b/.zshrc index a23c180..06ec79c 100644 --- a/.zshrc +++ b/.zshrc @@ -1,10 +1,13 @@ #!/bin/zsh -#history settings +batstat=$(cat /sys/class/power_supply/BAT1/status 2>/dev/null) +charge=$(cat /sys/class/power_supply/BAT1/capacity 2>/dev/null) +if [[ "$batstat" == "Discharging" && "$charge" -lt 50 ]]; then + echo "Battery: $(sb-battery)" +fi HISTFILE=$HOME/.cache/zsh/history SAVEHIST=100000000 HISTSIZE=$SAVEHIST setopt appendhistory -#completion autoload -U compinit zstyle ':completion:*' menu select zmodload zsh/complist @@ -12,9 +15,10 @@ compinit comp_options+=(globdots) zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh && fpath=(/usr/share/zsh/site-functions $fpath) && source /usr/share/zsh/site-functions/zsh-syntax-highlighting.zsh -#colors & prompt autoload -U colors && colors && setopt prompt_subst ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=5" ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12" -PROMPT='%F{240}[%f%F{245}!%f%F{240}%n%f%F{240}@%f%F{240}%m%f %F{245}%~%f%F{240}]%f%F{245}%% ' +export PS1="%B%F{#d77189}[%F{#e89cae}%n%F{#d77189}@%M %F{#e6adb8}%~%F{#d77189}]%f%F{#fce9ec}%B$%b%f " +export LIBCLANG_PATH=/usr/lib/llvm/20/lib64 source ~/.zprofile + diff --git a/config/btop/btop.conf b/config/btop/btop.conf new file mode 100644 index 0000000..9f86f06 --- /dev/null +++ b/config/btop/btop.conf @@ -0,0 +1,254 @@ +#? Config file for btop v. 1.4.3 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "coasteen" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 2000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "Auto" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "Auto" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/config/btop/themes/coasteen.theme b/config/btop/themes/coasteen.theme new file mode 100644 index 0000000..52e4152 --- /dev/null +++ b/config/btop/themes/coasteen.theme @@ -0,0 +1,89 @@ +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="" + +# Main text color +theme[main_fg]="#f8e8ec" + +# Title color for boxes +theme[title]="#f8e8ec" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#ff8aa0" + +# Background color of selected item in processes box +theme[selected_bg]="#7b3949" + +# Foreground color of selected item in processes box +theme[selected_fg]="#f8e8ec" + +# Color of inactive/disabled text +theme[inactive_fg]="#a56a79" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#c67090" + +# Background color of the percentage meters +theme[meter_bg]="#a65c6c" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#ff8aa0" + +# Cpu box outline color +theme[cpu_box]="#d77189" + +# Memory/disks box outline color +theme[mem_box]="#d77189" + +# Net up/down box outline color +theme[net_box]="#d77189" + +# Processes box outline color +theme[proc_box]="#d77189" + +# Box divider line and small boxes line color +theme[div_line]="#6f3b4a" + +# Temperature graph colors +theme[temp_start]="#ff8aa0" +theme[temp_mid]="#d77189" +theme[temp_end]="#a65c6c" + +# CPU graph colors +theme[cpu_start]="#ff8aa0" +theme[cpu_mid]="#d77189" +theme[cpu_end]="#a65c6c" + +# Mem/Disk free meter +theme[free_start]="#ff8aa0" +theme[free_mid]="#d77189" +theme[free_end]="#a65c6c" + +# Mem/Disk cached meter +theme[cached_start]="#ff8aa0" +theme[cached_mid]="#d77189" +theme[cached_end]="#a65c6c" + +# Mem/Disk available meter +theme[available_start]="#ff8aa0" +theme[available_mid]="#d77189" +theme[available_end]="#a65c6c" + +# Mem/Disk used meter +theme[used_start]="#ff8aa0" +theme[used_mid]="#d77189" +theme[used_end]="#a65c6c" + +# Download graph colors +theme[download_start]="#ff8aa0" +theme[download_mid]="#d77189" +theme[download_end]="#a65c6c" + +# Upload graph colors +theme[upload_start]="#f19bb4" +theme[upload_mid]="#d77189" +theme[upload_end]="#a65c6c" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#ff8aa0" +theme[process_mid]="#d77189" +theme[process_end]="#c67090" diff --git a/config/btop/themes/gruvbox.theme b/config/btop/themes/gruvbox.theme new file mode 100644 index 0000000..8cd9d37 --- /dev/null +++ b/config/btop/themes/gruvbox.theme @@ -0,0 +1,92 @@ +#Bashtop gruvbox (https://github.com/morhetz/gruvbox) theme +#by BachoSeven + +# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" +# example for white: "#FFFFFF", "#ff" or "255 255 255". + +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#1d2021" + +# Main text color +theme[main_fg]="#a89984" + +# Title color for boxes +theme[title]="#ebdbb2" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#d79921" + +# Background color of selected items +theme[selected_bg]="#282828" + +# Foreground color of selected items +theme[selected_fg]="#fabd2f" + +# Color of inactive/disabled text +theme[inactive_fg]="#282828" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#585858" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#98971a" + +# Cpu box outline color +theme[cpu_box]="#a89984" + +# Memory/disks box outline color +theme[mem_box]="#a89984" + +# Net up/down box outline color +theme[net_box]="#a89984" + +# Processes box outline color +theme[proc_box]="#a89984" + +# Box divider line and small boxes line color +theme[div_line]="#a89984" + +# Temperature graph colors +theme[temp_start]="#458588" +theme[temp_mid]="#d3869b" +theme[temp_end]="#fb4394" + +# CPU graph colors +theme[cpu_start]="#b8bb26" +theme[cpu_mid]="#d79921" +theme[cpu_end]="#fb4934" + +# Mem/Disk free meter +theme[free_start]="#4e5900" +theme[free_mid]="" +theme[free_end]="#98971a" + +# Mem/Disk cached meter +theme[cached_start]="#458588" +theme[cached_mid]="" +theme[cached_end]="#83a598" + +# Mem/Disk available meter +theme[available_start]="#d79921" +theme[available_mid]="" +theme[available_end]="#fabd2f" + +# Mem/Disk used meter +theme[used_start]="#cc241d" +theme[used_mid]="" +theme[used_end]="#fb4934" + +# Download graph colors +theme[download_start]="#3d4070" +theme[download_mid]="#6c71c4" +theme[download_end]="#a3a8f7" + +# Upload graph colors +theme[upload_start]="#701c45" +theme[upload_mid]="#b16286" +theme[upload_end]="#d3869b" diff --git a/config/btop/themes/kyli0x.theme b/config/btop/themes/kyli0x.theme new file mode 100644 index 0000000..c955287 --- /dev/null +++ b/config/btop/themes/kyli0x.theme @@ -0,0 +1,92 @@ +#Bashtop Kyli0x Theme +#by Kyli0x + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#222222" + +# Main text color +theme[main_fg]="#e8f6f5" + +# Title color for boxes +theme[title]="#e8f6f5" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#21d6c9" + +# Background color of selected item in processes box +theme[selected_bg]="#1aaba0" + +# Foreground color of selected item in processes box +theme[selected_fg]="#e8f6f5" + +# Color of inactive/disabled text +theme[inactive_fg]="#5ec4bc" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#ba1a84" + +# Background color of the percentage meters +theme[meter_bg]="#5ec4bc" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#21d6c9" + +# Cpu box outline color +theme[cpu_box]="#d486d4" + +# Memory/disks box outline color +theme[mem_box]="#d486d4" + +# Net up/down box outline color +theme[net_box]="#d486d4" + +# Processes box outline color +theme[proc_box]="#d486d4" + +# Box divider line and small boxes line color +theme[div_line]="#80638e" + +# Temperature graph colors +theme[temp_start]="#21d6c9" +theme[temp_mid]="#1aaba0" +theme[temp_end]="#5ec4bc" + +# CPU graph colors +theme[cpu_start]="#21d6c9" +theme[cpu_mid]="#1aaba0" +theme[cpu_end]="#5ec4bc" + +# Mem/Disk free meter +theme[free_start]="#21d6c9" +theme[free_mid]="#1aaba0" +theme[free_end]="#5ec4bc" + +# Mem/Disk cached meter +theme[cached_start]="#21d6c9" +theme[cached_mid]="#1aaba0" +theme[cached_end]="#5ec4bc" + +# Mem/Disk available meter +theme[available_start]="#21d6c9" +theme[available_mid]="#1aaba0" +theme[available_end]="#5ec4bc" + +# Mem/Disk used meter +theme[used_start]="#21d6c9" +theme[used_mid]="#1aaba0" +theme[used_end]="#5ec4bc" + +# Download graph colors +theme[download_start]="#21d6c9" +theme[download_mid]="#1aaba0" +theme[download_end]="#5ec4bc" + +# Upload graph colors +theme[upload_start]="#ec95ec" +theme[upload_mid]="#1aaba0" +theme[upload_end]="#5ec4bc" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#21d6c9" +theme[process_mid]="#1aaba0" +theme[process_end]="#ba1a84" diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 1a2c519..f73e834 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -40,8 +40,6 @@ vim.opt.shortmess:append("I") vim.opt.autoindent = true vim.opt.termguicolors = true vim.opt.list = true -vim.opt.backupdir = vim.fn.stdpath("cache") .. "/backup" -vim.opt.directory = vim.fn.stdpath("cache") .. "/swap" vim.opt.undodir = vim.fn.stdpath("cache") .. "/undo" vim.opt.undofile = true vim.opt.wrapscan = true