1alias cdd="cd $DEV"
2alias src="source $HOME/.zshrc"
3alias la="ls -a"
4alias vim="nvim"
5alias ccat="bat --color=always"
6alias decompress="tar -xf"
7alias grep='rg'
8alias gconf="git config --list --show-origin --show-scope"
9
10if command -v eza &> /dev/null; then
11 alias ls='eza -lah --group-directories-first --icons=auto --no-user --no-filesize --no-permissions --time-style=long-iso'
12 alias lsa='eza -lah --group-directories-first --icons=auto'
13 alias lt='eza --tree --level=2 --long --icons --git'
14 alias lta='lt -a'
15fi
16
17if command -v lazygit &> /dev/null; then
18 alias lg="lazygit"
19fi
20
21
22#--------------------------------------------------------------------------------
23# FUNCTIONS
24#--------------------------------------------------------------------------------
25open() {
26 xdg-open "$@" >/dev/null 2>&1 &
27}
28
29sync-config() {
30 DOTFILES_DIR="$HOME/dotfiles"
31
32 echo "โ ๏ธ This will sync all dotfiles from:"
33 echo " $DOTFILES_DIR --> $HOME"
34 echo
35 read "reply?Proceed with sync? [y/N]: "
36
37 if [[ "$reply" =~ ^[Yy]$ ]]; then
38 echo "๐ Syncing..."
39 cd "$DOTFILES_DIR" || { echo "โ Failed to change directory"; return 1; }
40 stow --target="$HOME" .
41 echo "โ
Dotfiles synced."
42 else
43 echo "โ Sync cancelled."
44 fi
45}
46
47ff() {
48 local files
49 files=$(fzf --layout=reverse --multi --preview="bat --color=always {}" --exit-0) || return
50 [ -n "$files" ] && "$EDITOR" "${(@f)files}"
51}
52
53#--------------------------------------------------------------------------------