chore: Sync with remote

This commit is contained in:
ziro 2023-12-27 14:24:52 +07:00
commit 0ec1532bd1
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
19 changed files with 520 additions and 60 deletions

View file

@ -5,6 +5,7 @@ picom &
nitrogen --restore &
$HOME/.scripts/launch-conky_dwm.sh &
sxhkd -c $HOME/.config/sxhkd/dwm &
easyeffects --gapplication-service &
if [ x$(pidof dwmblocks) = "x" ]
then
dwmblocks &

52
.config/eww/eww.yuck Normal file
View file

@ -0,0 +1,52 @@
;; Listeners
(deflisten active-workspace
`stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-active-workspace-listener`)
(deflisten workspace-list :initial '[1]'
`stdbuf -oL $HOME/.local/bin/scripts/eww-hyprland-workspace-list-listener`)
(deflisten datetime
`stdbuf -oL $HOME/.local/bin/scripts/eww-datetime-listener`)
;; Windows
(defwindow bar
:monitor 0
:stacking "fg"
:exclusive true
:geometry (geometry :width "100%" :height "28px" :anchor "top center")
(bar))
(defwidget bar []
(centerbox
(start)
(middle)
(end)))
(defwidget start []
(workspaces))
(defwidget middle []
(label :text "test"))
(defwidget end []
(box :halign "end"
:class "end"
:space-evenly false
(clock)))
(defwidget workspaces []
(box :class "workspaces"
:space-evenly false
(for id in workspace-list
(button :class {active-workspace == id ? "active" : ""}
:onclick `hyprctl dispatch workspace ${id}`
id))))
(defwidget clock []
(pair :icon "a" :text {datetime.full})))
(defwidget pair [icon text]
(box :width 70
:space-evenly false
(label :text icon)
(label :text text)))

148
.config/hypr/hyprland.conf Normal file
View file

@ -0,0 +1,148 @@
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources
exec-once = eww daemon && eww open bar
exec-once = unclutter
exec-once = dunst
exec-once = numlockx
exec-once = lxpolkit
exec-once = nitrogen --restore
exec-once = fcitx5 -d
exec-once = xsettingsd &
#exec-once = mpvpaper -vs -o "no-audio loop" VGA-1 /home/ziro/my\ Files/Wallpaper/HoloLive/Torii\ Gate/Torii\ Gate.webm &
monitor=,preferred,auto,auto
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
natural_scroll = yes
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
rounding = 5
blur {
enabled = 1
size = 3
passes = 1
new_optimizations = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
bezier = myBezier, 0.05, 1, 0.1, 1
animation = windows, 1, 5, myBezier
animation = windowsOut, 1, 6, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 5, default
}
dwindle {
pseudotile = on
preserve_split = on
no_gaps_when_only = on
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = on
}
# I don't use Trackpads/Touchpads, gestures basically useless for me (for now)
#gestures {
# # See https://wiki.hyprland.org/Configuring/Variables/ for more
# workspace_swipe = off
#}
# Seems like spotify spawn act a bit different compared to most process spawn,
# my workaround for now is by creating a shell script, since I use shell script for spotify anyway to inject adblocker it's no problem to me:
# ========================
# #!/bin/sh
# LD_PRELOAD=/usr/local/lib/spotify-adblock.so $(realpath -L $(which spotify)) --no-zygote --disable-gpu --disable-software-rasterizer &
# sleep 0.5 # wait a bit until spotify ready before toggling off float for spotify
# hyprctl dispatch togglefloating '^(Spotify)$'
# ========================
#windowrule = unset,^(Spotify)$
#windowrule = tile,^(Spotify)$
# Alt Key = Mostly for terminals only
$mainMod = SUPER # Super Key = General MOD for WM
$metaMod = SUPER ALT # Super + Alt = MOD key(s) that control/modify the WM's behaviour
$spaceMod = SUPER SHIFT # Super + Shift = MOD key(s) that control/modify the Workspace's behaviour
bind = $mainMod, T, exec, kitty
bind = $mainMod, Q, killactive,
bind = $mainMod, B, exec, $BROWSER
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
bind = $mainMod, Space, exec, exec `tofi-run` 2>/dev/null
bind = $metaMod, Q, exit,
bind = $metaMod, F, togglefloating,
bind = $metaMod, S, pin,
bind = $metaMod, P, pseudo, # for dwindle only
bind = $metaMod, J, togglesplit, # for dwindle only
# Window focus
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# Workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $spaceMod, 1, movetoworkspace, 1
bind = $spaceMod, 2, movetoworkspace, 2
bind = $spaceMod, 3, movetoworkspace, 3
bind = $spaceMod, 4, movetoworkspace, 4
bind = $spaceMod, 5, movetoworkspace, 5
bind = $spaceMod, 6, movetoworkspace, 6
bind = $spaceMod, 7, movetoworkspace, 7
bind = $spaceMod, 8, movetoworkspace, 8
bind = $spaceMod, 9, movetoworkspace, 9
bind = $spaceMod, 0, movetoworkspace, 10
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

View file

@ -0,0 +1,2 @@
preload = ~/my Files/Wallpaper/HoloLive/Torii Gate/preview.jpg
wallpaper = VGA-1,~/my Files/Wallpaper/HoloLive/Torii Gate/preview.jpg

10
.config/paru/paru.conf Normal file
View file

@ -0,0 +1,10 @@
[bin]
Sudo = doas
[z]
Url = https://github.com/null2264/pkgbuilds/
[zl]
Depth = 2
SkipReview
Path = /home/ziro/Build/GIT/pkgbuilds/

View file

@ -17,13 +17,6 @@ function UsernameAtComputer
}
"`e[35;1m" + $username + "`e[0m`e[1m@" + "`e[35;1m" + $compname
}
Write-Host " `e[34;1m ,___---'‾‾‾|`e[0m " (UsernameAtComputer)
Write-Host " `e[34;1m|'‾ | | "
Write-Host " `e[34;1m| | |"
Write-Host " `e[34;1m|------|------|"
Write-Host " `e[34;1m| | |"
Write-Host " `e[34;1m|,_ | |"
Write-Host " `e[34;1m '‾‾‾---,___|"
# ----- set default color
Set-PSReadlineOption -Colors @{ Parameter = "`e[96m"}

View file

@ -1 +1 @@
/home/ziro/.config/tdm/sessions/dwm
/home/ziro/.config/tdm/sessions/Gamescope

10
.config/tofi/config Normal file
View file

@ -0,0 +1,10 @@
width = 100%
height = 100%
border-width = 0
outline-width = 0
padding-left = 35%
padding-top = 35%
result-spacing = 25
num-results = 5
font = monospace
background-color = #000A

View file

@ -39,7 +39,7 @@ Plug 'ryanoasis/vim-devicons'
" ======
" -- Markdown preview, not really useful since it's only support github's md format.
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
" --- Auto complete with NCM2 (nvim-completion-manager)
" Plug 'ncm2/ncm2'
@ -62,11 +62,11 @@ Plug 'neovim/nvim-lspconfig'
" Plug 'Shougo/ddc-sorter_rank', { 'branch': 'main' }
" --- Auto complete with CMP
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-nvim-lsp', { 'branch': 'main' }
Plug 'hrsh7th/cmp-buffer', { 'branch': 'main' }
Plug 'hrsh7th/cmp-path', { 'branch': 'main' }
Plug 'hrsh7th/cmp-cmdline', { 'branch': 'main' }
Plug 'hrsh7th/nvim-cmp', { 'branch': 'main' }
" --- Indent visualization
" Plug 'Yggdroot/indentLine'
@ -78,7 +78,7 @@ Plug 'hrsh7th/nvim-cmp'
Plug 'JuliaEditorSupport/julia-vim'
" --- enhanced python highlighting
Plug 'numirias/semshi', {'do': ':UpdateRemotePlugins'}
"Plug 'wookayin/semshi', {'do': ':UpdateRemotePlugins'}
" --- For golang
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
@ -93,6 +93,12 @@ Plug 'wakatime/vim-wakatime'
Plug 'GutenYe/json5.vim'
" --- Project Fluent support
Plug 'projectfluent/fluent.vim'
" --- AIO solution for highlighting
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
call plug#end()
" ======================
@ -312,6 +318,7 @@ let g:ale_linters = {
lua <<EOF
-- 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
@ -346,8 +353,8 @@ lua <<EOF
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif has_words_before() then
cmp.complete()
-- 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
@ -398,9 +405,12 @@ lua <<EOF
})
-- Setup lspconfig.
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
require('lspconfig')['pyright'].setup {
capabilities = capabilities
}
EOF
" --- TSTree
lua require'nvim-treesitter.configs'.setup{highlight={enable=true}}

View file

@ -52,10 +52,9 @@ noremap <C-Y> "+y
noremap <C-P> "+P
" Shortcut to comment a line
" <C-_> means ctrl+/ for vim, for some reason...
map <C-_> gcc
vmap <C-_> gc
imap <C-_> <esc>gc
map <C-/> gcc
vmap <C-/> gc
imap <C-/> <esc>gc
" Clear last search result
map <leader>c :noh<CR>
@ -94,8 +93,9 @@ autocmd BufEnter *.py set ai sw=4 ts=4 sta et fo=croql
autocmd BufEnter *.c set ai sw=4 ts=4 sta noet fo=croql
autocmd BufEnter *.md set ai sw=3 ts=3 sta et fo=croql
autocmd Filetype html* set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype css set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype javascript set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype *css set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype javascript* set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype json set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype vue set ai sw=4 ts=4 sta et fo=croql
autocmd Filetype php set ai sw=4 ts=4 sta et fo=croql

View file

@ -26,17 +26,18 @@
" Automatically source config for the correct OS
" NOTE: By default the directory of Windows config will be located on
" "C:\_config\vim"
if has('win64') || has('win32') || has('win16')
" Windows
so C:\_config\vim\vim_win
" Universal
so C:\_config\vim\vim_uni
let $ZVIM_CONFIG_DIR = "C:/_config/vim"
let $ZVIM_OS_TYPE = "win"
else
" *nix (Linux/Mac)
so ~/.config/vim/vim_nix
" Universal
so ~/.config/vim/vim_uni
let $ZVIM_CONFIG_DIR = "~/.config/vim"
let $ZVIM_OS_TYPE = "nix"
endif
" ----- PlugIns
source ~/.config/vim/vim_plug
so $ZVIM_CONFIG_DIR/vim_$ZVIM_OS_TYPE
so $ZVIM_CONFIG_DIR/vim_uni
if !exists('g:vscode')
source $ZVIM_CONFIG_DIR/vim_plug
endif

92
.config/waybar/config Normal file
View file

@ -0,0 +1,92 @@
{
"layer": "top",
"height": 28, // Waybar height (to be removed for auto height)
"spacing": 0, // Gaps between modules (4px)
"modules-left": ["hyprland/workspaces", "custom/media"],
"modules-center": ["hyprland/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "disk", "memory", "temperature", "clock", "tray"],
"hyprland/workspaces": {
"format": "{id}",
"on-click": "activate",
"sort-by": "number"
},
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"disk": {
"interval": 30,
"format": "{free} free 󰋊"
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%a, %d %b %Y • %H:%M %Z} 󰥔",
"format-alt": "{:%Y-%m-%d} 󰥔"
},
"memory": {
"format": "{}% 󰍛"
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["󱃃", "󰔏", "󱃂"]
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) 󰤨",
"format-ethernet": "󰌘",
"tooltip-format": "{ifname} via {gwaddr}",
"format-linked": "󰌚",
"format-disconnected": "󰌙",
"format-alt": "{ipaddr}/{cidr} 󰌘"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-muted": "󰝟 {format_source}",
"format-source": "{volume}% 󰍬",
"format-source-muted": "󰍭",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["󰕿", "󰖀", "󰕾"]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
}
}

62
.config/waybar/style.css Normal file
View file

@ -0,0 +1,62 @@
* {
font-family: Sarasa Term J, Iosevka Nerd Font, monoscope;
font-weight: bold;
}
window#waybar {
background-color: rgba(43, 48, 59, 0.5);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
#workspaces {
background-color: #0E1418;
border-radius: 6px;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
border-radius: 6px;
border-bottom: 3px solid transparent;
}
#workspaces button:hover {
background: #2c363d;
border-bottom: 3px solid #FFF;
}
#workspaces button.active {
border-bottom: 3px solid #08A5DE;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#mpd {
padding: 0 10px;
color: #ffffff;
}
box.modules-right {
background-color: #0E1418;
border-radius: 6px;
}

View file

@ -12,13 +12,17 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then
# Slow app startup fix (for flatpaks)
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
# Universal Autostarts
if [[ "1$(pidof dwm)" == "1" ]]; then
echo
else
# Autostarts for DWM
# fcitx5 -d &
xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/Xresources &
unclutter &
dunst &
numlockx &
lxpolkit &
fi
# Custom Resolutions
xrandr --newmode "768x432" 25.75 768 792 864 960 432 435 440 450 -hsync +vsync

View file

@ -2,34 +2,66 @@
# -- XDG
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
export XDG_CONFIG_HOME="$HOME/.config"
if [[ "$OSTYPE" == "darwin"* ]]; then
export JAVA_HOME="$HOME/.sdkman/candidates/java/current"
export CHROME_EXECUTABLE=/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser
else
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
fi
# Android stuff
export ANDROID_SDK_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/android/Android/Sdk"
export ANDROID_PREFS_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/android/Android/Sdk"
export ANDROID_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android/Android/Sdk"
export ANDROID_AVD_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android/.android/avd"
fi
# -- Wayland
if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then
export MOZ_ENABLE_WAYLAND=1
fi
# -- Python
if [[ "$OSTYPE" == "darwin"* ]]; then
export PYTHONNOUSERSITE=1
fi
# -- Path
export BUN_INSTALL="$HOME/.bun"
if [[ "$OSTYPE" == "darwin"* ]]; then
export PYTHONPATH="$HOME/Library/Python/3.10/lib:$PYTHONPATH"
LOCAL_PATH=$(du "$HOME/.local/bin/" | cut -f2 > /tmp/path && paste -sd ':' /tmp/path)
LOCAL_PATH="$HOME/Library/Python/3.10/bin:$LOCAL_PATH"
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
LOCAL_PATH="$(du "$HOME/.local/bin/" | cut -f2 | paste -sd ':')${PATH:+:${PATH}}"
fi
PATH="$HOME/.local/share/go/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME:$HOME/.local/share/npm/bin:$HOME/.local/share/cargo/bin:$LOCAL_PATH${PATH:+:${PATH}}"
PATH="$BUN_INSTALL/bin:$HOME/.pub-cache/bin:$HOME/.local/share/go/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME:$HOME/.local/share/npm/bin:$HOME/.local/share/cargo/bin:$LOCAL_PATH${PATH:+:${PATH}}"
# export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library
# -- IBus stuff (IME)
if [[ "$XDG_SESSION_TYPE" != "wayland" ]]; then
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export GLFW_IM_MODULE="ibus"
export XMODIFIERS=@im="ibus"
fi
# -- rootless docker
if [[ "$OSTYPE" == "darwin"* ]]; then
export DOCKER_HOST=unix:///var/run/docker.sock
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
fi
# -- Proxy
# export HTTP_PROXY="127.0.0.1:8080"
# export HTTPS_PROXY="$HTTP_PROXY"
# export FTP_PROXY="$HTTP_PROXY"
# export http_proxy="$HTTP_PROXY"
# export https_proxy="$HTTP_PROXY"
# export ftp_proxy="$HTTP_PROXY"
# -- DEFAULT
export QT_QPA_PLATFORMTHEME="qt5ct"
@ -40,17 +72,17 @@ else
export VISUAL="nvim"
export EDITOR="nvim"
fi
export BROWSER="librewolf"
export BROWSER="pulse-browser"
export TERMINAL="kitty"
export READER="zathura"
export HTTPS="localhost:9050"
export GOOGLE_APPLICATION_CREDENTIALS="$HOME/Downloads/youtube-9ab71578c563.json"
# vim/nvim as manpager
if [[ "$OSTYPE" == "linux-gnu" ]]; then
export MANPAGER="nvimpager"
# if [[ "$OSTYPE" == "linux-gnu" ]]; then
# export MANPAGER="nvimpager"
# export MANPAGER="/bin/sh -c \"col -b | vim --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
fi
# fi
# -- Wine problem workaround
# - NOTE to self: this will prevent some (probably wine issue) games from launching

View file

@ -9,11 +9,12 @@
# rateUSD | sed 's/^/ /g'
setopt auto_cd # auto cd if directory
# highlight on tab (completion)
[ -f ~/.config/zsh/completion ] && source ~/.config/zsh/completion
# zstyle ':completion:*:*:git:*' script /usr/local/etc/bash_completion.d/git-completion.bash
# fpath=(/usr/local/share/zsh-completions $fpath)
# autoload -U compinit && compinit
# autoload -U compinit && compinit -u
# zmodload -i zsh/complist
# zstyle ':completion:*' menu select
@ -58,3 +59,7 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
fi
export PATH=$PATH:/home/ziro/.spicetify
# bun completions
[ -s "/home/ziro/.bun/_bun" ] && source "/home/ziro/.bun/_bun"

View file

@ -1,5 +1,12 @@
#!/usr/bin/env bash
if [[ "$OSTYPE" == "darwin"* ]]; then
# i need sudo to launch emulator
alias pixelemu="sudo $HOME/Library/Android/sdk/emulator/emulator @Pixel_2_API_28"
alias mbrew="sudo -H -u maintenance -g staff brew"
fi
alias punten='doas'
#sudo + vim without sacrificing config
alias sudovim='sudoedit'
alias doasvim='doasedit'
@ -32,8 +39,8 @@ alias p='doas pacman'
alias a='paru'
#ripper
alias yt='youtube-dl --add-metadata'
alias yta='youtube-dl --add-metadata -x --audio-format'
alias yt='yt-dlp --add-metadata'
alias yta='yt-dlp --add-metadata -x --audio-format'
alias xreload='xrdb $HOME/.config/Xresources'
#clean up
@ -121,3 +128,5 @@ alias qn='vim $HOME/Documents/QuickNote'
alias docx2pdf='lowriter --convert-to pdf'
alias mirror-update='curl -s "https://archlinux.org/mirrorlist/?country=ID&country=SG&country=US&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 -'
alias center-pfetch="printf '\n'; pfetch | sed '\$d' | center -l"
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"

View file

@ -1,7 +1,16 @@
# vim: filetype=zsh
zstyle ':completion:*:*:git:*' script /usr/local/etc/bash_completion.d/git-completion.bash
fpath=(/usr/local/share/zsh-completions $fpath)
autoload -U compinit && compinit
autoload -Uz compinit
if [[ "$OSTYPE" == "darwin"* ]]; then
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
compinit -u # homebrew moment, not recommended but whatever
else
compinit
fi
zmodload -i zsh/complist
zstyle ':completion:*' menu select

View file

@ -30,12 +30,32 @@ function zle-line-init zle-keymap-select {
PS2="%B%F{blue}?>%f%b "
# RPS1="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
# RPS2=$RPS1
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 reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
precmd () { vcs_info }
_fix_cursor() {
echo -ne '\e[5 q'
}
precmd () {
RPROMPT="" # for some reason path added to RPROMPT in macOS, I have no idea where it's coming from
vcs_info
_fix_cursor
}
#RPROMPT=\$vcs_info_msg_0_
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#60C0FF,bold,underline"
ZSH_AUTOSUGGEST_HISTORY_IGNORE="ls *,cd *"