feat: wezterm
This commit is contained in:
parent
3f1ebe2fc4
commit
081604aa52
4
.github/README.md
vendored
4
.github/README.md
vendored
|
@ -33,7 +33,7 @@ These dotfiles are made with love, for sure.
|
||||||
| ---------- | ----------------- |
|
| ---------- | ----------------- |
|
||||||
| WM | awesome |
|
| WM | awesome |
|
||||||
| OS | arch linux |
|
| OS | arch linux |
|
||||||
| Terminal | alacritty |
|
| Terminal | wezterm |
|
||||||
| Shell | zsh |
|
| Shell | zsh |
|
||||||
| Editor | neovim / vscode |
|
| Editor | neovim / vscode |
|
||||||
| Compositor | picom |
|
| Compositor | picom |
|
||||||
|
@ -55,7 +55,7 @@ These dotfiles are made with love, for sure.
|
||||||
*Assuming your AUR helper is* `yay`
|
*Assuming your AUR helper is* `yay`
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
yay -Sy awesome-git picom-git alacritty rofi todo-bin acpi acpid \
|
yay -Sy awesome-git picom-ibhagwan-git wezterm rofi todo-bin acpi acpid \
|
||||||
wireless_tools jq inotify-tools polkit-gnome xdotool xclip maim \
|
wireless_tools jq inotify-tools polkit-gnome xdotool xclip maim \
|
||||||
brightnessctl alsa-utils alsa-tools pulseaudio lm_sensors \
|
brightnessctl alsa-utils alsa-tools pulseaudio lm_sensors \
|
||||||
mpd mpc mpdris2 ncmpcpp playerctl --needed
|
mpd mpc mpdris2 ncmpcpp playerctl --needed
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
## Import files (Colors,Etc)
|
|
||||||
import:
|
|
||||||
- ~/.config/alacritty/night/colors.yml
|
|
||||||
|
|
||||||
## Set environment variables
|
|
||||||
env:
|
|
||||||
TERM: xterm-256color
|
|
||||||
|
|
||||||
## Terminal window settings
|
|
||||||
window:
|
|
||||||
opacity: 1.0
|
|
||||||
padding:
|
|
||||||
x: 25
|
|
||||||
y: 25
|
|
||||||
|
|
||||||
## Font
|
|
||||||
font:
|
|
||||||
normal:
|
|
||||||
family: Iosevka Nerd Font Mono
|
|
||||||
style: Regular
|
|
||||||
|
|
||||||
bold:
|
|
||||||
family: Iosevka Nerd Font Mono
|
|
||||||
style: Bold
|
|
||||||
|
|
||||||
italic:
|
|
||||||
family: Iosevka Nerd Font Mono
|
|
||||||
style: Italic
|
|
||||||
|
|
||||||
bold_italic:
|
|
||||||
family: Iosevka Nerd Font Mono
|
|
||||||
style: Bold Italic
|
|
||||||
|
|
||||||
size: 10
|
|
||||||
|
|
||||||
offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
|
|
||||||
glyph_offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
|
|
||||||
# Class
|
|
||||||
class:
|
|
||||||
instance: Alacritty
|
|
||||||
general: Alacritty
|
|
||||||
|
|
||||||
# Scrolling
|
|
||||||
scrolling:
|
|
||||||
history: 10000
|
|
||||||
multiplier: 3
|
|
||||||
|
|
||||||
# Visual
|
|
||||||
visual_bell:
|
|
||||||
animation: EaseOutExpo
|
|
||||||
duration: 0.5
|
|
||||||
color: "#ffffff"
|
|
||||||
|
|
||||||
# Selection
|
|
||||||
selection:
|
|
||||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
|
||||||
save_to_clipboard: true
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
cursor:
|
|
||||||
style: 'Underline'
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
shell:
|
|
||||||
program: /usr/bin/zsh
|
|
||||||
|
|
||||||
# Mouse
|
|
||||||
mouse:
|
|
||||||
double_click: { threshold: 300 }
|
|
||||||
triple_click: { threshold: 300 }
|
|
||||||
hide_when_typing: true
|
|
||||||
|
|
||||||
# Global Configuration
|
|
||||||
live_config_reload: true
|
|
||||||
draw_bold_text_with_bright_colors: true
|
|
|
@ -1,28 +0,0 @@
|
||||||
# Aesthetic Color
|
|
||||||
# Created by https://github.com/rxyhn
|
|
||||||
|
|
||||||
colors:
|
|
||||||
primary:
|
|
||||||
background: '#061115'
|
|
||||||
foreground: '#D9D7D6'
|
|
||||||
cursor:
|
|
||||||
text: CellForeground
|
|
||||||
cursor: '#D9D7D6'
|
|
||||||
bright:
|
|
||||||
black: '#1C252C'
|
|
||||||
red: '#DF5B61'
|
|
||||||
green: '#78B892'
|
|
||||||
yellow: '#DE8F78'
|
|
||||||
blue: '#6791C9'
|
|
||||||
magenta: '#BC83E3'
|
|
||||||
cyan: '#67AFC1'
|
|
||||||
white: '#D9D7D6'
|
|
||||||
normal:
|
|
||||||
black: '#1C252C'
|
|
||||||
red: '#DF5B61'
|
|
||||||
green: '#78B892'
|
|
||||||
yellow: '#DE8F78'
|
|
||||||
blue: '#6791C9'
|
|
||||||
magenta: '#BC83E3'
|
|
||||||
cyan: '#67AFC1'
|
|
||||||
white: '#D9D7D6'
|
|
|
@ -12,7 +12,7 @@ start mpd
|
||||||
start mpDris2 # add playerctl support to mpd
|
start mpDris2 # add playerctl support to mpd
|
||||||
|
|
||||||
# compositor
|
# compositor
|
||||||
start picom -b --experimental-backends --dbus --config $HOME/.config/awesome/theme/picom.conf
|
start picom --experimental-backends --config $HOME/.config/awesome/theme/picom.conf
|
||||||
|
|
||||||
# auth
|
# auth
|
||||||
start /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
start /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
|
@ -12,7 +12,7 @@ awful.screen.connect_for_each_screen(function(s)
|
||||||
-- Submenu
|
-- Submenu
|
||||||
awesomemenu = {
|
awesomemenu = {
|
||||||
{"Hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end},
|
{"Hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end},
|
||||||
{"Manual", terminal .. " -e man awesome"},
|
{"Manual", terminal .. " start man awesome"},
|
||||||
{"Edit Config", editor .. " " .. awesome.conffile},
|
{"Edit Config", editor .. " " .. awesome.conffile},
|
||||||
{"Restart", awesome.restart},
|
{"Restart", awesome.restart},
|
||||||
{"Quit", function() awesome.quit() end}
|
{"Quit", function() awesome.quit() end}
|
||||||
|
|
|
@ -18,13 +18,13 @@ dpi = beautiful.xresources.apply_dpi
|
||||||
beautiful.init(gfs.get_configuration_dir() .. "theme/theme.lua")
|
beautiful.init(gfs.get_configuration_dir() .. "theme/theme.lua")
|
||||||
|
|
||||||
-- Default Applications
|
-- Default Applications
|
||||||
terminal = "alacritty"
|
terminal = "wezterm"
|
||||||
editor = terminal .. " -e " .. os.getenv("EDITOR")
|
editor = terminal .. " start " .. os.getenv("EDITOR")
|
||||||
vscode = "code"
|
vscode = "code"
|
||||||
browser = "firefox"
|
browser = "firefox"
|
||||||
launcher = "rofi -show drun -theme " .. os.getenv("HOME") .. "/.config/awesome/theme/rofi.rasi"
|
launcher = "rofi -show drun -theme " .. os.getenv("HOME") .. "/.config/awesome/theme/rofi.rasi"
|
||||||
file_manager = "nautilus"
|
file_manager = "nautilus"
|
||||||
music_client = terminal .. " --class music -e ncmpcpp"
|
music_client = terminal .. " start --class music ncmpcpp"
|
||||||
|
|
||||||
-- Weather API
|
-- Weather API
|
||||||
openweathermap_key = "" -- API Key
|
openweathermap_key = "" -- API Key
|
||||||
|
|
|
@ -1,65 +1,22 @@
|
||||||
|
format = "$all"
|
||||||
add_newline = true
|
add_newline = true
|
||||||
|
|
||||||
format = """
|
[character]
|
||||||
($username)[@](bold white)($hostname)
|
error_symbol = "[](bold red)"
|
||||||
($directory)
|
success_symbol = "[](bold green)"
|
||||||
"""
|
vicmd_symbol = "[](bold yellow)"
|
||||||
|
format = "$symbol [|](bold bright-black) "
|
||||||
right_format = """$all"""
|
|
||||||
|
|
||||||
|
|
||||||
[username]
|
|
||||||
disabled = false
|
|
||||||
show_always = true
|
|
||||||
style_user = "bold white"
|
|
||||||
format = "[$user]($style)"
|
|
||||||
|
|
||||||
[hostname]
|
[hostname]
|
||||||
|
ssh_only = true
|
||||||
|
format = "[$hostname](bold blue) "
|
||||||
disabled = false
|
disabled = false
|
||||||
ssh_only = false
|
|
||||||
style = "bold white"
|
|
||||||
format = "[$hostname]($style)"
|
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
disabled = false
|
|
||||||
truncation_length = 1
|
|
||||||
home_symbol = "~"
|
|
||||||
format = "[$path](bold cyan)[/](bold green) "
|
|
||||||
|
|
||||||
[character]
|
|
||||||
success_symbol = ""
|
|
||||||
error_symbol = "[](bold red)"
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
symbol = " "
|
|
||||||
style = "bold blue"
|
|
||||||
|
|
||||||
[git_commit]
|
|
||||||
commit_hash_length = 4
|
|
||||||
tag_symbol = "🔖 "
|
|
||||||
|
|
||||||
[git_state]
|
|
||||||
format = '[\($state( $progress_current of $progress_total)\)]($style) '
|
|
||||||
cherry_pick = "[🍒 PICKING](bold red)"
|
|
||||||
|
|
||||||
[git_metrics]
|
|
||||||
added_style = "bold blue"
|
|
||||||
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
|
|
||||||
|
|
||||||
[git_status]
|
|
||||||
format = '([\[$all_status$ahead_behind\]]($style) )'
|
|
||||||
style = "bold cyan"
|
|
||||||
conflicted = "= "
|
|
||||||
ahead = "⇡ ${count} "
|
|
||||||
behind = "⇣ ${count} "
|
|
||||||
diverged = "⇕ "
|
|
||||||
up_to_date = ""
|
|
||||||
untracked = "? "
|
|
||||||
stashed = "$ "
|
|
||||||
modified = "! "
|
|
||||||
staged = '[++\($count\)](green)'
|
|
||||||
renamed = "» "
|
|
||||||
deleted = " "
|
|
||||||
|
|
||||||
[cmd_duration]
|
|
||||||
disabled = true
|
disabled = true
|
||||||
|
|
||||||
|
[line_break]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
symbol = "[](blue) "
|
41
config/wezterm/wezterm.lua
Normal file
41
config/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
--[[
|
||||||
|
_ _ _ _____ _____ _____ _____ _____ _____
|
||||||
|
| | | | __|__ |_ _| __| __ | |
|
||||||
|
| | | | __| __| | | | __| -| | | |
|
||||||
|
|_____|_____|_____| |_| |_____|__|__|_|_|_|
|
||||||
|
~ Aesthetic Wezterm ~
|
||||||
|
rxyhn
|
||||||
|
--]]
|
||||||
|
|
||||||
|
local wezterm = require 'wezterm';
|
||||||
|
|
||||||
|
return {
|
||||||
|
font_dirs = {"/home/rxyhn/.local/share/fonts"},
|
||||||
|
front_end = "OpenGL",
|
||||||
|
font = wezterm.font("Iosevka", {weight = "Regular", italic = false}),
|
||||||
|
harfbuzz_features = {"calt=0", "clig=0", "liga=0"},
|
||||||
|
font_size = 11,
|
||||||
|
colors = { -- aesthetic night colorscheme
|
||||||
|
foreground = "#d9d7d6",
|
||||||
|
background = "#061115",
|
||||||
|
cursor_bg = "#d9d7d6",
|
||||||
|
cursor_fg = "#d9d7d6",
|
||||||
|
cursor_border = "#d9d7d6",
|
||||||
|
selection_fg = "#061115",
|
||||||
|
selection_bg = "#d9d7d6",
|
||||||
|
scrollbar_thumb = "#d9d7d6",
|
||||||
|
split = "#16161a",
|
||||||
|
ansi = {"#061115", "#df5b61", "#78b892", "#de8f78", "#6791c9", "#bc83e3", "#67afc1", "#d9d7d6"},
|
||||||
|
brights = {"#484e5b", "#f16269", "#8cd7aa", "#e9967e", "#79aaeb", "#c488ec", "#7acfe4", "#e5e5e5"},
|
||||||
|
indexed = {[136] = "#d9d7d6"},
|
||||||
|
},
|
||||||
|
window_padding = {
|
||||||
|
left = 25,
|
||||||
|
right = 25,
|
||||||
|
top = 25,
|
||||||
|
bottom = 25,
|
||||||
|
},
|
||||||
|
enable_tab_bar = false,
|
||||||
|
default_cursor_style = "BlinkingUnderline",
|
||||||
|
exit_behavior = "CloseOnCleanExit"
|
||||||
|
}
|
271
misc/.zshrc
271
misc/.zshrc
|
@ -1,257 +1,106 @@
|
||||||
#! /bin/zsh
|
#! /bin/zsh
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------
|
|
||||||
# ▒███████▒ ██████ ██░ ██ ▄████▄ ▒█████ ███▄ █ █████▒██▓ ▄████
|
|
||||||
# ▒ ▒ ▒ ▄▀░▒██ ▒ ▓██░ ██▒ ▒██▀ ▀█ ▒██▒ ██▒ ██ ▀█ █ ▓██ ▒▓██▒ ██▒ ▀█▒
|
|
||||||
# ░ ▒ ▄▀▒░ ░ ▓██▄ ▒██▀▀██░ ▒▓█ ▄ ▒██░ ██▒▓██ ▀█ ██▒▒████ ░▒██▒▒██░▄▄▄░
|
|
||||||
# ▄▀▒ ░ ▒ ██▒░▓█ ░██ ▒▓▓▄ ▄██▒▒██ ██░▓██▒ ▐▌██▒░▓█▒ ░░██░░▓█ ██▓
|
|
||||||
# ▒███████▒▒██████▒▒░▓█▒░██▓ ▒ ▓███▀ ░░ ████▓▒░▒██░ ▓██░░▒█░ ░██░░▒▓███▀▒
|
|
||||||
# ░▒▒ ▓░▒░▒▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒ ░ ░▒ ▒ ░░ ▒░▒░▒░ ░ ▒░ ▒ ▒ ▒ ░ ░▓ ░▒ ▒
|
|
||||||
# ░░▒ ▒ ░ ▒░ ░▒ ░ ░ ▒ ░▒░ ░ ░ ▒ ░ ▒ ▒░ ░ ░░ ░ ▒░ ░ ▒ ░ ░ ░
|
|
||||||
# ░ ░ ░ ░ ░░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ░░ ░ ░
|
|
||||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
|
||||||
# ░ ░
|
|
||||||
#--------------------------------By: @rxyhn--------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Uncomment the following line to enable command auto-correction.
|
|
||||||
ENABLE_CORRECTION="true"
|
|
||||||
|
|
||||||
if [[ $- != *i* ]]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# completion cache path setup
|
|
||||||
typeset -g comppath="$HOME/.cache"
|
|
||||||
typeset -g compfile="$comppath/.zcompdump"
|
|
||||||
|
|
||||||
if [[ -d "$comppath" ]]; then
|
|
||||||
[[ -w "$compfile" ]] || rm -rf "$compfile" >/dev/null 2>&1
|
|
||||||
else
|
|
||||||
mkdir -p "$comppath"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ---| zsh Internal Stuff |--- #
|
|
||||||
SHELL=$(which zsh || echo '/bin/zsh')
|
SHELL=$(which zsh || echo '/bin/zsh')
|
||||||
KEYTIMEOUT=1
|
|
||||||
SAVEHIST=10000
|
|
||||||
HISTSIZE=10000
|
|
||||||
HISTFILE="$HOME/.cache/.zsh_history"
|
|
||||||
|
|
||||||
# Show top 21 Commands used (thanks totoro
|
setopt autocd # change directory just by typing its name
|
||||||
toppy() {
|
setopt interactivecomments # allow comments in interactive mode
|
||||||
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n 21
|
setopt magicequalsubst # enable filename expansion for arguments of the form ‘anything=expression’
|
||||||
}
|
setopt nonomatch # hide error message if there is no match for the pattern
|
||||||
|
setopt notify # report the status of background jobs immediately
|
||||||
|
setopt numericglobsort # sort filenames numerically when it makes sense
|
||||||
|
setopt promptsubst # enable command substitution in prompt
|
||||||
|
setopt MENU_COMPLETE # Automatically highlight first element of completion menu
|
||||||
|
setopt AUTO_LIST # Automatically list choices on ambiguous completion.
|
||||||
|
setopt COMPLETE_IN_WORD # Complete from both ends of a word.
|
||||||
|
|
||||||
file_amount() {
|
# enable completion features
|
||||||
ls -l | wc -l
|
autoload -Uz compinit
|
||||||
}
|
compinit -i
|
||||||
|
|
||||||
# ls with preferred arguments
|
|
||||||
ls() {
|
|
||||||
command ls --group-directories-first --color=auto -F1 "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# cd and ls after
|
|
||||||
cd() {
|
|
||||||
builtin cd "$@" && command ls --group-directories-first --color=auto -F
|
|
||||||
}
|
|
||||||
|
|
||||||
# recompile completion and reload zsh
|
|
||||||
src() {
|
|
||||||
autoload -U zrecompile
|
|
||||||
rm -rf "$compfile"*
|
|
||||||
compinit -u -d "$compfile"
|
|
||||||
zrecompile -p "$compfile"
|
|
||||||
exec zsh
|
|
||||||
}
|
|
||||||
|
|
||||||
# completion
|
|
||||||
setopt CORRECT
|
|
||||||
setopt NO_NOMATCH
|
|
||||||
setopt LIST_PACKED
|
|
||||||
setopt ALWAYS_TO_END
|
|
||||||
setopt GLOB_COMPLETE
|
|
||||||
setopt COMPLETE_ALIASES
|
|
||||||
setopt COMPLETE_IN_WORD
|
|
||||||
|
|
||||||
# builtin command behaviour
|
|
||||||
setopt AUTO_CD
|
|
||||||
|
|
||||||
# job control
|
|
||||||
setopt AUTO_CONTINUE
|
|
||||||
setopt LONG_LIST_JOBS
|
|
||||||
|
|
||||||
# history control
|
|
||||||
setopt HIST_VERIFY
|
|
||||||
setopt SHARE_HISTORY
|
|
||||||
setopt HIST_IGNORE_SPACE
|
|
||||||
setopt HIST_SAVE_NO_DUPS
|
|
||||||
setopt HIST_IGNORE_ALL_DUPS
|
|
||||||
|
|
||||||
# misc
|
|
||||||
setopt EXTENDED_GLOB
|
|
||||||
setopt TRANSIENT_RPROMPT
|
|
||||||
setopt INTERACTIVE_COMMENTS
|
|
||||||
|
|
||||||
autoload -U compinit # completion
|
|
||||||
autoload -U terminfo # terminfo keys
|
|
||||||
zmodload -i zsh/complist # menu completion
|
|
||||||
autoload -U promptinit # prompt
|
|
||||||
|
|
||||||
# better history navigation, matching currently typed text
|
|
||||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
|
||||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
|
||||||
|
|
||||||
# set the terminal mode when entering or exiting zle, otherwise terminfo keys are not loaded
|
|
||||||
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
|
||||||
zle-line-init() { echoti smkx; }; zle -N zle-line-init
|
|
||||||
zle-line-finish() { echoti rmkx; }; zle -N zle-line-finish
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# History
|
|
||||||
zshAddHistory() {
|
|
||||||
whence ${${(z)1}[1]} >| /dev/null || return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---| Correction and Autocompletion |--- #
|
|
||||||
zstyle ':completion:*:correct:*' original true
|
|
||||||
zstyle ':completion:*:correct:*' insert-unambiguous true
|
|
||||||
zstyle ':completion:*:approximate:*' max-errors 'reply=($(( ($#PREFIX + $#SUFFIX) / 3 )) numeric)'
|
|
||||||
|
|
||||||
# completion
|
|
||||||
zstyle ':completion:*' use-cache on
|
|
||||||
zstyle ':completion:*' cache-path "$comppath"
|
|
||||||
zstyle ':completion:*' rehash true
|
|
||||||
zstyle ':completion:*' verbose true
|
|
||||||
zstyle ':completion:*' insert-tab false
|
|
||||||
zstyle ':completion:*' accept-exact '*(N)'
|
|
||||||
zstyle ':completion:*' squeeze-slashes true
|
|
||||||
zstyle ':completion:*:*:*:*:*' menu select
|
zstyle ':completion:*:*:*:*:*' menu select
|
||||||
zstyle ':completion:*:match:*' original only
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # case insensitive tab completion
|
||||||
zstyle ':completion:*:-command-:*:' verbose false
|
|
||||||
zstyle ':completion::complete:*' gain-privileges 1
|
zstyle ':completion:*' use-cache on
|
||||||
zstyle ':completion:*:manuals.*' insert-sections true
|
zstyle ':completion:*' cache-path "$HOME/.config/zsh/.zcompcache"
|
||||||
zstyle ':completion:*:manuals' separate-sections true
|
|
||||||
zstyle ':completion:*' completer _complete _match _approximate _ignored
|
# Define completers
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
zstyle ':completion:*' completer _extensions _complete _approximate
|
||||||
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
|
||||||
|
zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}!- %d (errors: %e) -!%f'
|
||||||
|
zstyle ':completion:*:*:*:*:descriptions' format '%F{blue}-- %D %d --%f'
|
||||||
|
zstyle ':completion:*:*:*:*:messages' format ' %F{purple} -- %d --%f'
|
||||||
|
zstyle ':completion:*:*:*:*:warnings' format ' %F{red}-- no matches found --%f'
|
||||||
|
|
||||||
# labels and categories
|
|
||||||
zstyle ':completion:*' group-name ''
|
zstyle ':completion:*' group-name ''
|
||||||
zstyle ':completion:*:matches' group 'yes'
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
||||||
zstyle ':completion:*:options' description 'yes'
|
|
||||||
zstyle ':completion:*:options' auto-description '%d'
|
|
||||||
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
|
|
||||||
zstyle ':completion:*' format ' %F{green}->%F{yellow} %d%f'
|
|
||||||
zstyle ':completion:*:messages' format ' %F{green}->%F{purple} %d%f'
|
|
||||||
zstyle ':completion:*:descriptions' format ' %F{green}->%F{yellow} %d%f'
|
|
||||||
zstyle ':completion:*:warnings' format ' %F{green}->%F{red} no matches%f'
|
|
||||||
zstyle ':completion:*:corrections' format ' %F{green}->%F{green} %d: %e%f'
|
|
||||||
|
|
||||||
# menu colours
|
# Only display some tags for the command cd
|
||||||
eval "$(dircolors)"
|
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=36=0=01'
|
|
||||||
|
|
||||||
# command parameters
|
# History configurations
|
||||||
zstyle ':completion:*:functions' ignored-patterns '(prompt*|_*|*precmd*|*preexec*)'
|
HISTFILE="$HOME/.cache/.zsh_history"
|
||||||
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
|
HISTSIZE=10000
|
||||||
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
|
SAVEHIST=20000
|
||||||
zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq'
|
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
|
||||||
zstyle ':completion:*:(vim|nvim|vi|nano):*' ignored-patterns '*.(wav|mp3|flac|ogg|mp4|avi|mkv|iso|so|o|7z|zip|tar|gz|bz2|rar|deb|pkg|gzip|pdf|png|jpeg|jpg|gif)'
|
setopt hist_ignore_dups # ignore duplicated commands history list
|
||||||
|
setopt hist_ignore_space # ignore commands that start with space
|
||||||
|
setopt hist_verify # show command with history expansion to user before running it
|
||||||
|
setopt share_history # share command history data
|
||||||
|
|
||||||
# hostnames and addresses
|
# source plugins
|
||||||
zstyle ':completion:*:ssh:*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
source /usr/share/fzf/key-bindings.zsh
|
||||||
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
|
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
|
|
||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|
|
||||||
zstyle -e ':completion:*:hosts' hosts 'reply=( ${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ } ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*} ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}})'
|
|
||||||
ttyctl -f
|
|
||||||
|
|
||||||
# For tty
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#484E5B,underline"
|
||||||
|
|
||||||
|
# tty
|
||||||
if [ "$TERM" = "linux" ] ; then
|
if [ "$TERM" = "linux" ] ; then
|
||||||
echo -en "\e]P0232323"
|
echo -en "\e]P0232323"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# initialize completion
|
# custom function
|
||||||
compinit -u -d "$compfile"
|
toppy() {
|
||||||
|
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n 21
|
||||||
|
}
|
||||||
|
|
||||||
# zsh auto suggestions and syntax highlighting and auto completion
|
cd() {
|
||||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
builtin cd "$@" && command ls --group-directories-first --color=auto -F
|
||||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
}
|
||||||
|
|
||||||
# Custom Highlight syntax
|
# alias
|
||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#4C566A,underline"
|
|
||||||
|
|
||||||
# Uncomment the following line to use case-sensitive completion.
|
|
||||||
CASE_SENSITIVE="false"
|
|
||||||
|
|
||||||
# fzf source
|
|
||||||
source /usr/share/fzf/key-bindings.zsh
|
|
||||||
|
|
||||||
###############################
|
|
||||||
# ****** ALIAS SECTION ****** #
|
|
||||||
###############################
|
|
||||||
|
|
||||||
# Update thingy
|
|
||||||
alias grub-update='sudo grub-mkconfig -o /boot/grub/grub.cfg'
|
alias grub-update='sudo grub-mkconfig -o /boot/grub/grub.cfg'
|
||||||
alias mirror-update='sudo reflector --verbose -c Indonesia -c Japan -c Singapore --sort rate --save /etc/pacman.d/mirrorlist'
|
alias mirror-update='sudo reflector --verbose -c Indonesia -c Japan -c Singapore --sort rate --save /etc/pacman.d/mirrorlist'
|
||||||
# Archives
|
|
||||||
alias mtar='tar -zcvf' # mtar <archive_compress>
|
alias mtar='tar -zcvf' # mtar <archive_compress>
|
||||||
alias utar='tar -zxvf' # utar <archive_decompress> <file_list>
|
alias utar='tar -zxvf' # utar <archive_decompress> <file_list>
|
||||||
alias z='zip -r' # z <archive_compress> <file_list>
|
alias z='zip -r' # z <archive_compress> <file_list>
|
||||||
alias uz='unzip' # uz <archive_decompress> -d <dir>
|
alias uz='unzip' # uz <archive_decompress> -d <dir>
|
||||||
# alias for sourcing the zshrc
|
|
||||||
alias sr='source ~/.zshrc'
|
alias sr='source ~/.zshrc'
|
||||||
# alias for cd up a directory
|
|
||||||
alias ..="cd .."
|
alias ..="cd .."
|
||||||
# alias for making a directory and cd to it
|
|
||||||
mcd () {
|
mcd () {
|
||||||
mkdir -p $1
|
mkdir -p $1
|
||||||
cd $1
|
cd $1
|
||||||
}
|
}
|
||||||
# alias for searching through ps
|
|
||||||
alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"
|
alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"
|
||||||
# alias for mkdir so that it makes required parent directory
|
|
||||||
alias mkdir="mkdir -p"
|
alias mkdir="mkdir -p"
|
||||||
# alias for ranger
|
|
||||||
alias fm='ranger'
|
alias fm='ranger'
|
||||||
# alias for searching and installing packages
|
|
||||||
alias pacs="pacman -Slq | fzf -m --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk \"{print \$2}\")' | xargs -ro sudo pacman -S"
|
alias pacs="pacman -Slq | fzf -m --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk \"{print \$2}\")' | xargs -ro sudo pacman -S"
|
||||||
# alias for searching and installing packages from AUR
|
|
||||||
alias yays="yay -Slq | fzf -m --preview 'cat <(yay -Si {1}) <(yay -Fl {1} | awk \"{print \$2}\")' | xargs -ro yay -S"
|
alias yays="yay -Slq | fzf -m --preview 'cat <(yay -Si {1}) <(yay -Fl {1} | awk \"{print \$2}\")' | xargs -ro yay -S"
|
||||||
# alias for searching and removing packages from system
|
|
||||||
alias pacr="pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns"
|
alias pacr="pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns"
|
||||||
# alias for searching packages from system
|
|
||||||
alias p="pacman -Q | fzf"
|
alias p="pacman -Q | fzf"
|
||||||
# alias for wifi
|
|
||||||
alias wifi="nmtui-connect"
|
alias wifi="nmtui-connect"
|
||||||
# alias for grep
|
alias ls="exa --color=auto --icons"
|
||||||
|
alias l="ls -l"
|
||||||
|
alias la="ls -a"
|
||||||
|
alias lla="ls -la"
|
||||||
|
alias lt="ls --tree"
|
||||||
|
alias cat="bat --color always --plain"
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
# alias for Neovim
|
|
||||||
alias v='nvim'
|
alias v='nvim'
|
||||||
# alias for verbose cp, mv, rm
|
|
||||||
alias mv='mv -v'
|
alias mv='mv -v'
|
||||||
alias cp='cp -vr'
|
alias cp='cp -vr'
|
||||||
alias rm='rm -vr'
|
alias rm='rm -vr'
|
||||||
# alias for running cpp files
|
|
||||||
rc(){
|
|
||||||
g++ "$1" -o run
|
|
||||||
./run
|
|
||||||
}
|
|
||||||
# alias for checking dunst
|
|
||||||
alias dun='killall dunst && dunst &
|
|
||||||
notify-send "cool1" "yeah it is working"
|
|
||||||
notify-send "cool2" "yeah it is working"'
|
|
||||||
|
|
||||||
# ---------------P R O M P T------------------
|
# init starship
|
||||||
# Init Starship
|
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
# Setup Starship custom prompt
|
# setup starship custom prompt
|
||||||
export STARSHIP_CONFIG=$HOME/.config/starship/starship.toml
|
export STARSHIP_CONFIG=$HOME/.config/starship/starship.toml
|
||||||
|
|
Loading…
Reference in a new issue