diff options
Diffstat (limited to '.config/shell')
-rw-r--r-- | .config/shell/aliasrc | 61 | ||||
-rw-r--r-- | .config/shell/bm-dirs | 14 | ||||
-rw-r--r-- | .config/shell/bm-files | 23 | ||||
-rw-r--r-- | .config/shell/inputrc | 19 | ||||
-rw-r--r-- | .config/shell/profile | 87 | ||||
-rw-r--r-- | .config/shell/shortcutrc | 30 | ||||
-rw-r--r-- | .config/shell/zshnameddirrc | 29 |
7 files changed, 263 insertions, 0 deletions
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc new file mode 100644 index 0000000..09f9a32 --- /dev/null +++ b/.config/shell/aliasrc @@ -0,0 +1,61 @@ +#!/bin/sh + +# Use neovim for vim if present. +[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d" + +# Use $XINITRC variable if file exists. +[ -f "$XINITRC" ] && alias startx="startx $XINITRC" + +[ -f "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" + +# sudo not required for some system commands +for command in mount umount sv pacman updatedb su shutdown poweroff reboot ; do + alias $command="sudo $command" +done; unset command + +se() { + choice="$(find ~/.local/bin -mindepth 1 -printf '%P\n' | fzf)" + [ -f "$HOME/.local/bin/$choice" ] && $EDITOR "$HOME/.local/bin/$choice" + ;} + +# Verbosity and settings that you pretty much just always are going to want. +alias \ + cp="cp -iv" \ + mv="mv -iv" \ + rm="rm -vI" \ + bc="bc -ql" \ + rsync="rsync -vrPlu" \ + mkd="mkdir -pv" \ + yt="yt-dlp --embed-metadata -i" \ + yta="yt -x -f bestaudio/best" \ + ytt="yt --skip-download --write-thumbnail" \ + ffmpeg="ffmpeg -hide_banner" + +# Colorize commands when possible. +alias \ + ls="ls -hN --color=auto --group-directories-first" \ + grep="grep --color=auto" \ + diff="diff --color=auto" \ + ccat="highlight --out-format=ansi" \ + ip="ip -color=auto" + +# These common commands are just too long! Abbreviate them. +alias \ + ka="killall" \ + g="git" \ + trem="transmission-remote" \ + YT="youtube-viewer" \ + sdn="shutdown -h now" \ + e="$EDITOR" \ + v="$EDITOR" \ + p="pacman" \ + xi="sudo xbps-install" \ + xr="sudo xbps-remove -R" \ + xq="xbps-query" \ + z="zathura" + +alias \ + lf="lfub" \ + magit="nvim -c MagitOnly" \ + ref="shortcuts >/dev/null; source ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ; source ${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" \ + weath="less -S ${XDG_CACHE_HOME:-$HOME/.cache}/weatherreport" \ diff --git a/.config/shell/bm-dirs b/.config/shell/bm-dirs new file mode 100644 index 0000000..9d212ec --- /dev/null +++ b/.config/shell/bm-dirs @@ -0,0 +1,14 @@ +# You can add comments to these files with # +cac ${XDG_CACHE_HOME:-$HOME/.cache} +cf ${XDG_CONFIG_HOME:-$HOME/.config} +D ${XDG_DOWNLOAD_DIR:-$HOME/Downloads} +d ${XDG_DOCUMENTS_DIR:-$HOME/Documents} +dt ${XDG_DATA_HOME:-$HOME/.local/share} +rr $HOME/.local/src +h $HOME +m ${XDG_MUSIC_DIR:-$HOME/Music} +mn /mnt +pp ${XDG_PICTURES_DIR:-$HOME/Pictures} +sc $HOME/.local/bin +src $HOME/.local/src +vv ${XDG_VIDEOS_DIR:-$HOME/Videos} diff --git a/.config/shell/bm-files b/.config/shell/bm-files new file mode 100644 index 0000000..2e8864b --- /dev/null +++ b/.config/shell/bm-files @@ -0,0 +1,23 @@ +# These files automatically update when edited/saved in vim: + +# keys filename description +bf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files # This file, a list of bookmarked files +bd ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs # A list of bookmarked directories similar to this file +cfx ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources # Colors, themes and variables for X11 +cfb ~/.local/src/dwmblocks/config.h # dwmblocks: the status bar for dwm + + +# These do not update automatically, but on the next new instance of a program: + +cfv ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim # vim/neovim config +cfz $ZDOTDIR/.zshrc # zsh (shell) config +cfa ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc # aliases used by zsh (and potentially other shells) +cfp ${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile # profile file for login settings for zsh +cfm ${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc # mutt (email client) config +cfn ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/config # newsboat (RSS reader) +cfu ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls # RSS urls for newsboat +cfmb ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/bindings # ncmpcpp (music player) keybinds file +cfmc ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/config # ncmpcpp (music player) config +cfl ${XDG_CONFIG_HOME:-$HOME/.config}/lf/lfrc # lf (file browser) config +cfL ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope # lf's scope/preview file +cfX ${XDG_CONFIG_HOME:-$HOME/.config}/nsxiv/exec/key-handler # nsxiv (image viewer) key/script handler diff --git a/.config/shell/inputrc b/.config/shell/inputrc new file mode 100644 index 0000000..f9b94dd --- /dev/null +++ b/.config/shell/inputrc @@ -0,0 +1,19 @@ +$include /etc/inputrc +set editing-mode vi +$if mode=vi + +set show-mode-in-prompt on +set vi-ins-mode-string \1\e[6 q\2 +set vi-cmd-mode-string \1\e[2 q\2 + +set keymap vi-command +# these are for vi-command mode +Control-l: clear-screen +Control-a: beginning-of-line + +set keymap vi-insert +# these are for vi-insert mode +Control-l: clear-screen +Control-a: beginning-of-line + +$endif diff --git a/.config/shell/profile b/.config/shell/profile new file mode 100644 index 0000000..ac5cf86 --- /dev/null +++ b/.config/shell/profile @@ -0,0 +1,87 @@ +#!/bin/sh +# +# zprofile: Runs on login and includes environmental variables and autostart. +# +# ──────────────────────────────────── Enviromental Variables ──────────────────────────────────── +# +# Set GTK and QT Input Method Modules: +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx + +# Add all directories in `~/.local/bin` to $PATH: +export PATH="$PATH:$(find ~/.local/bin -type d | paste -sd ':')" + +# Surf configs: +export SURF_STYLE="$HOME/.surf/css-styles" + +# Default programs: +export EDITOR="nvim" +export TERMINAL="st" +export TERMINAL_PROG="st" +export BROWSER="firefox" + +# Clean-up: +export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible/ansible.cfg" +export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" +export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config" +export GTK2_RC_FILES="$XDG_DATA_HOME/.config/gtk-2.0/gtkrc" +export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc" +export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history" +export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc" +export ANDROID_USER_HOME="$XDG_DATA_HOME"/android +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 WGETRC="$XDG_CONFIG_HOME/wget/wgetrc" +export TMUX_TMPDIR="$XDG_RUNTIME_DIR" +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export GOPATH="$XDG_DATA_HOME/go" +export GOMODCACHE="$XDG_CACHE_HOME/go/mod" +export UNISON="$XDG_DATA_HOME/unison" +export HISTFILE="$XDG_DATA_HOME/history" +export MBSYNCRC="$XDG_CONFIG_HOME/mbsync/config" +export ELECTRUMDIR="$XDG_DATA_HOME/electrum" +export GNUPGHOME="$XDG_DATA_HOME/.config/gnupg" +export ZDOTDIR="$XDG_DATA_HOME/.config/zsh" +export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle +export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority +alias adb='HOME="$XDG_DATA_HOME"/android adb' + +# Program settings: +export SUDO_ASKPASS="$HOME/.local/bin/dmenupass" +export FZF_DEFAULT_OPTS="--layout=reverse --height 40%" +export LESS="R" +export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')" +export LESS_TERMCAP_md="$(printf '%b' '[1;36m')" +export LESS_TERMCAP_me="$(printf '%b' '[0m')" +export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')" +export LESS_TERMCAP_se="$(printf '%b' '[0m')" +export LESS_TERMCAP_us="$(printf '%b' '[1;32m')" +export LESS_TERMCAP_ue="$(printf '%b' '[0m')" +export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null" +export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme. +export AWT_TOOLKIT="MToolkit wmname LG3D" # May have to install wmname +export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm + +# ───────────────────────────────────────────── Configurations ──────────────────────────────────────────────── + +# Set screen DPI: +xrandr --dpi 96 + +# Autostart Cronjobs +autostart="newsup checkup" + +# Autostart daemons +autostart="transmission-daemon remapd xcompmgr dunst unclutter pipewire" + +for program in $autostart; do + pidof -sx "$program" || "$program" & +done >/dev/null 2>&1 + +# Start graphical server on user's current tty if not already running: +[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC" + +# Switch escape and caps if tty and no passwd required: +sudo -n loadkeys "$XDG_DATA_HOME/sharks/ttymaps.kmap" 2>/dev/null diff --git a/.config/shell/shortcutrc b/.config/shell/shortcutrc new file mode 100644 index 0000000..f754601 --- /dev/null +++ b/.config/shell/shortcutrc @@ -0,0 +1,30 @@ +# vim: filetype=sh +alias cac="cd /home/artix/.cache && ls -A" \ +cf="cd /home/artix/.config && ls -A" \ +D="cd /home/artix/Downloads && ls -A" \ +d="cd /home/artix/Documents && ls -A" \ +dt="cd /home/artix/.local/share && ls -A" \ +rr="cd /home/artix/.local/src && ls -A" \ +h="cd /home/artix && ls -A" \ +m="cd /home/artix/Music && ls -A" \ +mn="cd /mnt && ls -A" \ +pp="cd /home/artix/Pictures && ls -A" \ +sc="cd /home/artix/.local/bin && ls -A" \ +src="cd /home/artix/.local/src && ls -A" \ +vv="cd /home/artix/Videos && ls -A" \ +bf="$EDITOR /home/artix/.config/shell/bm-files" \ +bd="$EDITOR /home/artix/.config/shell/bm-dirs" \ +cfx="$EDITOR /home/artix/.config/x11/xresources" \ +cfb="$EDITOR ~/.local/src/dwmblocks/config.h" \ +cfv="$EDITOR /home/artix/.config/nvim/init.vim" \ +cfz="$EDITOR /home/artix/.config/zsh/.zshrc" \ +cfa="$EDITOR /home/artix/.config/shell/aliasrc" \ +cfp="$EDITOR /home/artix/.config/shell/profile" \ +cfm="$EDITOR /home/artix/.config/mutt/muttrc" \ +cfn="$EDITOR /home/artix/.config/newsboat/config" \ +cfu="$EDITOR /home/artix/.config/newsboat/urls" \ +cfmb="$EDITOR /home/artix/.config/ncmpcpp/bindings" \ +cfmc="$EDITOR /home/artix/.config/ncmpcpp/config" \ +cfl="$EDITOR /home/artix/.config/lf/lfrc" \ +cfL="$EDITOR /home/artix/.config/lf/scope" \ +cfX="$EDITOR /home/artix/.config/nsxiv/exec/key-handler" \ diff --git a/.config/shell/zshnameddirrc b/.config/shell/zshnameddirrc new file mode 100644 index 0000000..fcda7e2 --- /dev/null +++ b/.config/shell/zshnameddirrc @@ -0,0 +1,29 @@ +hash -d cac=/home/artix/.cache +hash -d cf=/home/artix/.config +hash -d D=/home/artix/Downloads +hash -d d=/home/artix/Documents +hash -d dt=/home/artix/.local/share +hash -d rr=/home/artix/.local/src +hash -d h=/home/artix +hash -d m=/home/artix/Music +hash -d mn=/mnt +hash -d pp=/home/artix/Pictures +hash -d sc=/home/artix/.local/bin +hash -d src=/home/artix/.local/src +hash -d vv=/home/artix/Videos +hash -d bf=/home/artix/.config/shell/bm-files +hash -d bd=/home/artix/.config/shell/bm-dirs +hash -d cfx=/home/artix/.config/x11/xresources +hash -d cfb=~/.local/src/dwmblocks/config.h +hash -d cfv=/home/artix/.config/nvim/init.vim +hash -d cfz=/home/artix/.config/zsh/.zshrc +hash -d cfa=/home/artix/.config/shell/aliasrc +hash -d cfp=/home/artix/.config/shell/profile +hash -d cfm=/home/artix/.config/mutt/muttrc +hash -d cfn=/home/artix/.config/newsboat/config +hash -d cfu=/home/artix/.config/newsboat/urls +hash -d cfmb=/home/artix/.config/ncmpcpp/bindings +hash -d cfmc=/home/artix/.config/ncmpcpp/config +hash -d cfl=/home/artix/.config/lf/lfrc +hash -d cfL=/home/artix/.config/lf/scope +hash -d cfX=/home/artix/.config/nsxiv/exec/key-handler |