summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bash_profile14
-rw-r--r--.bashrc117
-rwxr-xr-x.config/mpd/mpd.conf12
-rw-r--r--.config/shell/aliasrc (renamed from .bash_aliases)67
-rw-r--r--.config/shell/profile30
-rw-r--r--.config/starship/starship.toml48
-rw-r--r--.config/tmux/tmux.conf (renamed from .tmux.conf)2
-rw-r--r--.config/wireplumber/main.lua.d/51-camera-microphone-input-rename.lua13
-rw-r--r--.config/wireplumber/main.lua.d/51-soundblaster-output-rename.lua14
-rw-r--r--.config/wireplumber/main.lua.d/51-starshipmatisse-output-rename.lua14
-rw-r--r--.config/wireplumber/main.lua.d/52-hdmi-card-disable.lua12
-rw-r--r--.config/wireplumber/main.lua.d/52-soundblaster-input-disable.lua12
-rw-r--r--.config/wireplumber/main.lua.d/52-starshipmatisse-input-disable.lua12
-rw-r--r--.config/x11/xinitrc26
-rw-r--r--.config/zathura/zathurarc15
-rw-r--r--.config/zsh/.zshrc112
-rw-r--r--.emacs.d/config.el8
-rw-r--r--.ncmpcpp/bindings18
l---------[-rw-r--r--].xinitrc40
l---------.zprofile1
20 files changed, 307 insertions, 280 deletions
diff --git a/.bash_profile b/.bash_profile
deleted file mode 100644
index e65e24b..0000000
--- a/.bash_profile
+++ /dev/null
@@ -1,14 +0,0 @@
-# Path for Android Development
-export ANDROID_HOME=$HOME/.local/src/android/Sdk
-export PATH=$PATH:$ANDROID_HOME/emulator
-export PATH=$PATH:$ANDROID_HOME/tools
-export PATH=$PATH:$ANDROID_HOME/tools/bin
-export PATH=$PATH:$ANDROID_HOME/platform-tools
-
-# Add various paths
-export PATH="$PATH:$HOME/.fzf/bin:$HOME/.cargo/bin"
-export _JAVA_AWT_WM_NONREPARENTING=1
-
-[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
-
-umask 0077
diff --git a/.bashrc b/.bashrc
deleted file mode 100644
index 7da912f..0000000
--- a/.bashrc
+++ /dev/null
@@ -1,117 +0,0 @@
-# __ _ _
-# ___ __ _ / _| ___ | |__ __ _| |__ ___
-# / __| / _' | |_ / _ \| _ \ / _' | _ \ / _ \
-# | |__ / (_| | _| __/| |_) / (_| | |_) | __/
-# \___|\___._/_| \___/|____/\___._/____/ \___/
-
-export LC_ALL=en_US.UTF-8
-
-export STARSHIP_CONFIG=~/.config/starship/starship.toml
-export MAIL=~/.mutt/Maildir
-
-if [ -f "/etc/profile.d/rvm.sh" ]; then
- source /etc/profile.d/rvm.sh
-fi
-
-# If not running interactively, don't do anything
-case $- in
- *i*) ;;
- *) return;;
-esac
-
-export NO_AT_BRIDGE=1
-
-stty start undef
-
-# append to the history file, don't overwrite it
-shopt -s histappend
-
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=1000
-HISTFILESIZE=2000
-
-# check the window size after each command and, if necessary,
-# update the values of LINES and COLUMNS.
-shopt -s checkwinsize
-
-# Enable globbing hidden/dot files (.filename).
-shopt -s dotglob
-
-# make less more friendly for non-text input files, see lesspipe(1)
-[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
-
-# set variable identifying the chroot you work in (used in the prompt below)
-if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
- debian_chroot=$(cat /etc/debian_chroot)
-fi
-
-
-if [ -n "$force_color_prompt" ]; then
- if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
- # We have color support; assume it's compliant with Ecma-48
- # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
- # a case would tend to support setf rather than setaf.)
- color_prompt=yes
- else
- color_prompt=
- fi
-fi
-
-if [ "$color_prompt" = yes ]; then
- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
-else
- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
-fi
-unset color_prompt force_color_prompt
-
-
-# enable colors
-if [ -f ~/.dircolors ]; then
- eval "`dircolors -b ~/.dircolors`"
-fi
-
-
-alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
-
-if [ -f ~/.bash_aliases ]; then
- . ~/.bash_aliases
-fi
-
-# enable programmable completion features (you don't need to enable
-# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
-# sources /etc/bash.bashrc).
-if ! shopt -oq posix; then
- if [ -f /usr/share/bash-completion/bash_completion ]; then
- . /usr/share/bash-completion/bash_completion
- elif [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
- fi
-fi
-
-# Generated for envman. Do not edit.
-[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
-
-# fzf configs
-[ -f ~/.config/fzf/fzf.bash ] && source ~/.config/fzf/fzf.bash
-export FZF_DEFAULT_OPS="--extended"
-export FZF_DEFAULT_COMMAND="fd --type f"
-export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
-
-# NNN
-[ -f ~/.config/nnn/nnn.bash ] && source ~/.config/nnn/nnn.bash
-
-macchina
-
-export NVM_DIR=$HOME/.nvm
-
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
-
-[[ -s "$HOME/.rvm/environments/ruby-3.1.2" ]] && source "$HOME/.rvm/environments/ruby-3.1.2"
-
-
-# BEGIN_KITTY_SHELL_INTEGRATION
-if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
-# END_KITTY_SHELL_INTEGRATION
-
-eval "$(starship init bash)"
diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf
index afdcb5a..1b10341 100755
--- a/.config/mpd/mpd.conf
+++ b/.config/mpd/mpd.conf
@@ -1,15 +1,15 @@
-bind_to_address "127.0.0.1"
+bind_to_address "0.0.0.0"
#bind_to_address "/run/mpd/socket"
music_directory "/hdd/music"
playlist_directory "~/.config/mpd/playlists"
-db_file "~/.config/mpd/database"
-log_file "~/.config/mpd/log"
-pid_file "~/.config/mpd/pid"
-state_file "~/.config/mpd/mpdstate"
+db_file "~/.config/mpd/database"
+log_file "~/.config/mpd/log"
+pid_file "~/.config/mpd/pid"
+state_file "~/.config/mpd/mpdstate"
audio_output {
- type "pulse"
+ type "pipewire"
name "Default"
# sink "alsa_output.pci-0000_29_00.0.analog-stereo"
}
diff --git a/.bash_aliases b/.config/shell/aliasrc
index 57ffc64..63b4434 100644
--- a/.bash_aliases
+++ b/.config/shell/aliasrc
@@ -1,31 +1,26 @@
-# __ _ _
-# ___ __ _ / _| ___| |__ __ _| |__ ___
-# / __/ _` | |_ / _ \ '_ \ / _` | '_ \ / _ \
-# | (_| (_| | _| __/ |_) | (_| | |_) | __/
-# \___\__,_|_| \___|_.__/ \__,_|_.__/ \___|
-#
-
## MISCELLANEOUS
# various shortcuts
-alias reboot='sudo reboot'
-alias poweroff='sudo poweroff'
-alias refresh='source ~/.bashrc'
-alias fuck='sudo $(history -p !!)'
+alias reboot='sudo openrc-shutdown -r'
+alias poweroff='sudo openrc-shutdown -p'
+alias pms='sudo pm-suspend'
+alias refresh='source $ZDOTDIR/.zshrc'
+alias fuck='sudo $(fc -Lln -1)'
alias open='xdg-open'
-alias rsync='rsync -avh --progress'
-alias cwp='xwallpaper --maximize "$(/usr/bin/ls -1 -d /hdd/pics/wallpaper/* | shuf -n1)"'
-alias fd='fdfind'
alias mutt='pushd ~/.mutt/attachments; mutt; popd'
alias jpwine='LANG=ja_JP.UTF-8 WINEDEBUG=-all wine'
-alias emacs='emacsclient -c -a "emacs"'
alias emacsd='/usr/local/bin/emacs --daemon'
+alias e="$EDITOR"
+alias z='zathura'
alias cn='clear;macchina'
+alias nnn='nnn -Hde'
+alias freyr='sudo docker run -it --rm -v /hdd/music:/data freyrcli/freyrjs'
# cp mv and rm always verbose
-alias cp='cp -v'
-alias mv='mv -v'
-alias rm='rm -v'
+alias cp='cp -iv'
+alias mv='mv -iv'
+alias rm='rm -Iv'
+alias mkd='mkdir -pv'
# Colorize grep output
alias grep='grep --color=auto -i'
@@ -40,12 +35,12 @@ alias speakers="wpctl set-default $(wpctl status | grep 'Speakers' | cut -b11-12
alias setvol='pactl set-sink-volume @DEFAULT_SINK@'
# Monitor / Resolution settings, mainly for playing old-ass games
-alias setlmon-lowres='xrandr --auto --output HDMI-A-0 --mode 640x480 --primary'
-alias setlmon-midres='xrandr --auto --output HDMI-A-0 --mode 800x600 --primary'
-alias setlmon-default='xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary'
-alias setrmon-lowres='xrandr --auto --output DisplayPort-2 --mode 640x480 --left-of HDMI-A-0'
-alias setrmon-midres='xrandr --auto --output DisplayPort-2 --mode 800x600 --left-of HDMI-A-0'
-alias setrmon-default='xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0'
+alias setrmon-lowres='xrandr --auto --output HDMI-A-0 --mode 640x480 --primary'
+alias setrmon-midres='xrandr --auto --output HDMI-A-0 --mode 800x600 --primary'
+alias setrmon-default='xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary'
+alias setlmon-lowres='xrandr --auto --output DisplayPort-2 --mode 640x480 --left-of HDMI-A-0'
+alias setlmon-midres='xrandr --auto --output DisplayPort-2 --mode 800x600 --left-of HDMI-A-0'
+alias setlmon-default='xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0'
## FUNCTIONS FOR CONVERTING DATE TO ISO 8601
@@ -65,32 +60,12 @@ date-reverse() {
done;
}
-## RECORDING, DOWNLOADING AND CONVERTING VIDEO
-
-# record primary monitor with audio output and input
-record() {
- ffmpeg -s 1920x1080 \
- -framerate 60 -f x11grab -i :0.0+1600 \
- -f pulse -ac 2 -ar 44100 -i alsa_output.pci-0000_29_00.0.analog-stereo.monitor \
- -f pulse -ac 1 -ar 44100 -i alsa_input.usb-SunplusIT_Inc_FHD_Camera_Microphone_01.00.00-02.analog-stereo \
- -filter_complex amix=inputs=2 \
- -vcodec libx265 -s 1920x1080 \
- -acodec libvorbis -ab 128k \
- ~/vids/"$1".mkv
-}
+## DOWNLOADING AND CONVERTING VIDEO
-# shortcuts for most used yt-dlp calls
+# shortcuts for most used yt-dlp settings
alias ytvid='yt-dlp -o "/hdd/vids/random/%(title)s.%(ext)s" --remux-video "mkv"'
-alias ytreact='yt-dlp -o "/hdd/pics/reactions/gif/%(title)s.%(ext)s" --recode-video "webm"'
alias ytarchive='yt-dlp -o "/hdd/vids/archives/%(uploader)s/%(upload_date)s - %(title)s/%(title)s.%(ext)s" --remux-video "mkv"'
-# function to specify filename, so I can avoid total chaos in my library
-ytmp3() {
- read -p "Enter filename: " name;
- yt-dlp -x --audio-format mp3 --download-archive "/hdd/music/Archive_goodMusic.txt" \
- --embed-metadata -o "/hdd/music/Youtube Downloads/$name.%(ext)s" $1
-}
-
# convert video files to webm
mkwebm() {
ffmpeg -i "${1}" -crf 1 -b:v 1M -c:a libvorbis "${1%.*}".webm
diff --git a/.config/shell/profile b/.config/shell/profile
new file mode 100644
index 0000000..da7ff8f
--- /dev/null
+++ b/.config/shell/profile
@@ -0,0 +1,30 @@
+umask 0077
+
+export _JAVA_AWT_WM_NONREPARENTING=1
+export EDITOR="emacsclient -t"
+export TERMINAL="st"
+export BROWSER="firefox"
+
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_CACHE_HOME="$HOME/.cache"
+
+export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
+export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+
+export LC_ALL=en_US.UTF-8
+
+export STARSHIP_CONFIG=~/.config/starship/starship.toml
+export MAIL=~/.mutt/Maildir
+export NO_AT_BRIDGE=1
+
+export GTK_IM_MODULE='ibus'
+export QT_IM_MODULE='ibus'
+export XMODIFIERS='@im=ibus'
+export XDG_SESSION_TYPE='x11'
+
+export PATH="$PATH:$HOME/.local/bin:$HOME/.fzf/bin:$HOME/.cargo/bin:/sbin:/usr/sbin"
+
+# if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
+# exec startx
+# fi
diff --git a/.config/starship/starship.toml b/.config/starship/starship.toml
deleted file mode 100644
index 63ba159..0000000
--- a/.config/starship/starship.toml
+++ /dev/null
@@ -1,48 +0,0 @@
-format = """
-[](#CA5FCA)\
-$username\
-[](fg:#CA5FCA bg:#A92BA9 )\
-$directory\
-[](fg:#A92BA9 bg:#DC317D)\
-$git_branch\
-$git_status\
-[ ](fg:#DC317D)\
-"""
-
-# Disable the blank line at the start of the prompt
-# add_newline = false
-
-# You can also replace your username with a neat symbol like  to save some space
-[username]
-show_always = true
-style_user = "fg:#FFFFFF bg:#CA5FCA"
-style_root = "bg:#9A348E"
-format = '[$user ]($style)'
-
-[directory]
-style = "fg:#FFFFFF bg:#A92BA9"
-format = "[ $path ]($style)"
-truncation_length = 3
-truncation_symbol = "…/"
-
-# Here is how you can shorten some long paths by text replacement
-# similar to mapped_locations in Oh My Posh:
-[directory.substitutions]
-"Documents" = " "
-"Downloads" = " "
-"Music" = " "
-"Pictures" = " "
-# Keep in mind that the order matters. For example:
-# "Important Documents" = "  "
-# will not be replaced, because "Documents" was already substituted before.
-# So either put "Important Documents" before "Documents" or use the substituted version:
-# "Important  " = "  "
-
-[git_branch]
-symbol = ""
-style = "fg:#FFFFFF bg:#DC317D"
-format = '[ $symbol $branch ]($style)'
-
-[git_status]
-style = "fg:#FFFFFF bg:#DC317D"
-format = '[$all_status$ahead_behind ]($style)'
diff --git a/.tmux.conf b/.config/tmux/tmux.conf
index 686ce8d..1db3b54 100644
--- a/.tmux.conf
+++ b/.config/tmux/tmux.conf
@@ -15,7 +15,7 @@ set-option -sa terminal-overrides ",xterm*:Tc"
set -g default-terminal "tmux-256color"
# Set history-limit
-set -g history-limit 10000
+set -g history-limit 30000
## KEYBINDS
diff --git a/.config/wireplumber/main.lua.d/51-camera-microphone-input-rename.lua b/.config/wireplumber/main.lua.d/51-camera-microphone-input-rename.lua
new file mode 100644
index 0000000..c7db70e
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/51-camera-microphone-input-rename.lua
@@ -0,0 +1,13 @@
+rule = {
+ matches = {
+ {
+ { "node.name", "equals", "alsa_input.usb-SunplusIT_Inc_FHD_Camera_Microphone_01.00.00-02.analog-stereo"},
+ },
+ },
+ apply_properties = {
+ ["node.description"] = "Camera Microphone",
+ ["node.nick"] = "Camera Microphone",
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/wireplumber/main.lua.d/51-soundblaster-output-rename.lua b/.config/wireplumber/main.lua.d/51-soundblaster-output-rename.lua
new file mode 100644
index 0000000..cb5d4a3
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/51-soundblaster-output-rename.lua
@@ -0,0 +1,14 @@
+rule = {
+ matches = {
+ {
+ { "node.name", "equals", "alsa_output.pci-0000_29_00.0.analog-stereo"},
+ },
+ },
+
+ apply_properties = {
+ ["node.description"] = "Headphones",
+ ["node.nick"] = "Headphones",
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/wireplumber/main.lua.d/51-starshipmatisse-output-rename.lua b/.config/wireplumber/main.lua.d/51-starshipmatisse-output-rename.lua
new file mode 100644
index 0000000..0a3c278
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/51-starshipmatisse-output-rename.lua
@@ -0,0 +1,14 @@
+rule = {
+ matches = {
+ {
+ { "node.name", "equals", "alsa_output.pci-0000_31_00.4.analog-stereo"},
+ },
+ },
+
+ apply_properties = {
+ ["node.description"] = "Speakers",
+ ["node.nick"] = "Speakers",
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/wireplumber/main.lua.d/52-hdmi-card-disable.lua b/.config/wireplumber/main.lua.d/52-hdmi-card-disable.lua
new file mode 100644
index 0000000..63eb9e4
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/52-hdmi-card-disable.lua
@@ -0,0 +1,12 @@
+rule = {
+ matches = {
+ {
+ { "device.name", "equals", "alsa_card.pci-0000_2f_00.1"},
+ },
+ },
+ apply_properties = {
+ ["device.disabled"] = true,
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/wireplumber/main.lua.d/52-soundblaster-input-disable.lua b/.config/wireplumber/main.lua.d/52-soundblaster-input-disable.lua
new file mode 100644
index 0000000..825c7d9
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/52-soundblaster-input-disable.lua
@@ -0,0 +1,12 @@
+rule = {
+ matches = {
+ {
+ { "node.name", "equals", "alsa_input.pci-0000_29_00.0.analog-stereo"},
+ },
+ },
+ apply_properties = {
+ ["node.disabled"] = true,
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/wireplumber/main.lua.d/52-starshipmatisse-input-disable.lua b/.config/wireplumber/main.lua.d/52-starshipmatisse-input-disable.lua
new file mode 100644
index 0000000..51edd83
--- /dev/null
+++ b/.config/wireplumber/main.lua.d/52-starshipmatisse-input-disable.lua
@@ -0,0 +1,12 @@
+rule = {
+ matches = {
+ {
+ { "node.name", "equals", "alsa_input.pci-0000_31_00.4.analog-stereo"},
+ },
+ },
+ apply_properties = {
+ ["node.disabled"] = true,
+ },
+}
+
+table.insert(alsa_monitor.rules,rule)
diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc
new file mode 100644
index 0000000..cbaec52
--- /dev/null
+++ b/.config/x11/xinitrc
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+rfkill block all
+
+eval "$(gpg-agent --daemon --allow-preset-passphrase --write-env-file "$envfile")"
+eval "$(ssh-agent)"
+
+xset r rate 300 30
+xset s off -dpms
+setxkbmap -option "ctrl:nocaps"
+
+xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary
+xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0
+
+dbus-launch --sh-syntax --exit-with-session
+
+ibus-daemon -dxrR
+statusbar &
+pipewire &
+mpd &
+/usr/local/bin/emacs --daemon &
+picom &
+set-wallpaper &
+
+exec dwm >/dev/null 2>&1
+
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
new file mode 100644
index 0000000..452e116
--- /dev/null
+++ b/.config/zathura/zathurarc
@@ -0,0 +1,15 @@
+set sandbox none
+set statusbar-h-padding 0
+set statusbar-v-padding 0
+set page-padding 1
+set selection-clipboard clipboard
+map u scroll half-up
+map d scroll half-down
+map D toggle_page_mode
+map r reload
+map R rotate
+map K zoom in
+map J zoom out
+map i recolor
+map p print
+map g goto top
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
new file mode 100644
index 0000000..ec2f9e0
--- /dev/null
+++ b/.config/zsh/.zshrc
@@ -0,0 +1,112 @@
+autoload -U colors && colors
+
+# PS1="%B%{$fg[red]%}[%{$fg[magenta]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[yellow]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
+
+stty stop undef
+
+autoload -U compinit
+zstyle ':completion:*' menu select
+zmodload zsh/complist
+compinit
+_comp_options+=(globdots)
+
+# vi mode
+setopt PROMPT_SUBST
+
+THEME_VI_INS_MODE_SYMBOL=${THEME_VI_INS_MODE_SYMBOL:-'λ'}
+THEME_VI_CMD_MODE_SYMBOL=${THEME_VI_CMD_MODE_SYMBOL:-'ᐅ'}
+
+THEME_VI_MODE_SYMBOL="${THEME_VI_INS_MODE_SYMBOL}"
+
+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 '^a' vi-beginning-of-line
+bindkey '^e' vi-end-of-line
+
+zle-keymap-select() {
+ if [ "${KEYMAP}" = 'vicmd' ]; then
+ THEME_VI_MODE_SYMBOL="${THEME_VI_CMD_MODE_SYMBOL}"
+ else
+ THEME_VI_MODE_SYMBOL="${THEME_VI_INS_MODE_SYMBOL}"
+ fi
+ zle reset-prompt
+}
+zle -N zle-keymap-select
+
+# reset to default mode at the end of line input reading
+zle-line-finish() {
+ THEME_VI_MODE_SYMBOL="${THEME_VI_INS_MODE_SYMBOL}"
+}
+zle -N zle-line-finish
+
+# Fix a bug when you C-c in CMD mode, you'd be prompted with CMD mode indicator
+# while in fact you would be in INS mode.
+# Fixed by catching SIGINT (C-c), set mode to INS and repropagate the SIGINT,
+# so if anything else depends on it, we will not break it.
+TRAPINT() {
+ THEME_VI_MODE_SYMBOL="${THEME_VI_INS_MODE_SYMBOL}"
+ return $(( 128 + $1 ))
+}
+
+PROMPT='%B%{$fg[red]%}[%{$fg[magenta]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[yellow]%}%~%{$fg[red]%}]%{$reset_color%}%b %(?.%F{green}$THEME_VI_MODE_SYMBOL.%F{red}$THEME_VI_MODE_SYMBOL) '
+
+setopt extendedGlob
+
+HISTFILE=$ZDOTDIR/.zsh_history
+HISTSIZE='2000'
+SAVEHIST='1000'
+
+# ignore duplicate in history
+setopt hist_expire_dups_first
+setopt hist_ignore_dups
+setopt hist_ignore_all_dups
+setopt hist_find_no_dups
+setopt hist_save_no_dups
+
+DIRSTACKFILE="${XDG_CACHE_HOME/.cache}/zsh/dirs"
+if [[ -f "$DIRSTACKFILE" ]] && (( ${#dirstack} == 0 )); then
+ dirstack=("${(@f)"$(< "$DIRSTACKFILE")"}")
+ [[ -d "${dirstack[1]}" ]] && cd -- "${dirstack[1]}"
+fi
+
+DIRSTACKSIZE='20'
+
+setopt auto_pushd
+setopt pushd_silent
+setopt pushd_ignore_dups
+setopt pushd_minus
+
+macchina
+
+if [ -f $XDG_CONFIG_HOME/.dircolors ]; then
+ eval "$(dircolors -b $XDG_CONFIG_HOME/.dircolors)"
+fi
+
+if [ -f $XDG_CONFIG_HOME/shell/aliasrc ]; then
+ . $XDG_CONFIG_HOME/shell/aliasrc
+fi
+
+if [ -f $HOME/.fzf/fzf.zsh ]; then
+ . $HOME/.fzf/fzf.zsh
+fi
+
+export FZF_DEFAULT_OPS="--extended"
+export FZF_DEFAULT_COMMAND="fdfind --type f"
+export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+
+# NNN
+if [ -f $XDG_CONFIG_HOME/nnn/nnn.bash ]; then
+ . $XDG_CONFIG_HOME/nnn/nnn.bash
+fi
+
+if [ -f $XDG_DATA_HOME/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
+ . $XDG_DATA_HOME/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+fi
diff --git a/.emacs.d/config.el b/.emacs.d/config.el
index c546588..a46bca5 100644
--- a/.emacs.d/config.el
+++ b/.emacs.d/config.el
@@ -3,6 +3,14 @@
(add-hook 'emacs-startup-hook 'startup/revert-file-name-handler-alist)
(add-hook 'emacs-startup-hook 'startup/reset-gc)
+;; dirty fix for having AC everywhere
+(define-globalized-minor-mode real-global-auto-complete-mode
+ auto-complete-mode (lambda ()
+ (if (not (minibufferp (current-buffer)))
+ (auto-complete-mode 1))
+ ))
+(real-global-auto-complete-mode t)
+
;; Mutt support
(add-to-list 'auto-mode-alist '("/tmp/mutt.*" . mail-mode))
diff --git a/.ncmpcpp/bindings b/.ncmpcpp/bindings
index b7057ff..6962dea 100644
--- a/.ncmpcpp/bindings
+++ b/.ncmpcpp/bindings
@@ -178,12 +178,12 @@ def_key "j"
#def_key "}"
# scroll_down_artist
#
-#def_key "page_up"
-# page_up
-#
-#def_key "page_down"
-# page_down
-#
+def_key "u"
+ page_up
+
+def_key "d"
+ page_down
+
#def_key "home"
# move_home
#
@@ -367,9 +367,9 @@ def_key "j"
#def_key "X"
# set_crossfade
#
-#def_key "u"
-# update_database
-#
+def_key "U"
+ update_database
+
#def_key "ctrl-s"
# sort_playlist
#
diff --git a/.xinitrc b/.xinitrc
index d4f599c..518bb5d 100644..120000
--- a/.xinitrc
+++ b/.xinitrc
@@ -1,39 +1 @@
-#!/bin/sh
-
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
- for f in /etc/X11/xinit/xinitrc.d/*; do
- [ -x "$f" ] && . "$f"
- done
- unset f
-fi
-
-[ -f $HOME/.local/bin/statusbar ] && . $HOME/.local/bin/statusbar
-
-eval "$(gpg-agent --daemon --allow-preset-passphrase --write-env-file "$envfile")"
-
-rfkill block all
-xset s off -dpms
-setxkbmap -option "ctrl:nocaps"
-
-export GTK_IM_MODULE='ibus'
-export QT_IM_MODULE='ibus'
-export XMODIFIERS='@im=ibus'
-export XDG_SESSION_TYPE='x11'
-
-xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary
-xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0
-
-dbus-launch --sh-syntax --exit-with-session
-
-eval $(ssh-agent)
-ibus-daemon -dxrR
-pipewire &
-mpd &
-/usr/local/bin/emacs --daemon &
-
-xwallpaper --maximize "$(/usr/bin/ls -d -1 /hdd/pics/wallpaper/* | shuf -n1)" &
-
-picom --config $HOME/.config/picom/picom.conf -b
-
-exec dwm
-
+.config/x11/xinitrc \ No newline at end of file
diff --git a/.zprofile b/.zprofile
new file mode 120000
index 0000000..8486fca
--- /dev/null
+++ b/.zprofile
@@ -0,0 +1 @@
+.config/shell/profile \ No newline at end of file