summaryrefslogtreecommitdiffstats
path: root/.config/shell
diff options
context:
space:
mode:
Diffstat (limited to '.config/shell')
l---------.config/shell1
-rw-r--r--.config/shell/aliasrc52
-rw-r--r--.config/shell/bm-dirs14
-rw-r--r--.config/shell/bm-files23
-rw-r--r--.config/shell/inputrc19
-rw-r--r--.config/shell/profile156
-rw-r--r--.config/shell/shortcutrc30
-rw-r--r--.config/shell/zshnameddirrc29
8 files changed, 323 insertions, 1 deletions
diff --git a/.config/shell b/.config/shell
deleted file mode 120000
index b47bd35..0000000
--- a/.config/shell
+++ /dev/null
@@ -1 +0,0 @@
-.config/shell \ No newline at end of file
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc
new file mode 100644
index 0000000..918618e
--- /dev/null
+++ b/.config/shell/aliasrc
@@ -0,0 +1,52 @@
+#!/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"
+
+# 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
+
+# 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" \
+ mkd="mkdir -pv" \
+ yt="yt-dlp --embed-metadata -i" \
+ yta="yt -x -f bestaudio/best" \
+ 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="sudo 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_DATA_HOME:-$HOME/.local/share}/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..7acbb66
--- /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}/sxiv/exec/key-handler # sxiv (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..c8b328a
--- /dev/null
+++ b/.config/shell/profile
@@ -0,0 +1,156 @@
+#!/bin/zsh
+
+# profile file. Runs on login. Environmental variables are set here.
+
+# If you don't plan on reverting to bash, you can remove the link in ~/.profile
+# to clean up.
+
+# Adds `~/.local/bin` to $PATH
+export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
+
+unsetopt PROMPT_SP
+
+# Default programs:
+export EDITOR="nvim"
+export TERMINAL="st"
+export BROWSER="firefox"
+
+# ~/ Clean-up:
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_CACHE_HOME="$HOME/.cache"
+export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
+#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
+export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
+export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
+export LESSHISTFILE="-"
+export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
+export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
+export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
+#export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME/alsa/asoundrc"
+export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}/gnupg"
+export WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/wineprefixes/default"
+export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
+export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
+export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
+export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
+export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
+export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
+export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
+export UNISON="${XDG_DATA_HOME:-$HOME/.local/share}/unison"
+export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
+export WEECHAT_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/weechat"
+export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config"
+export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum"
+
+# Other program settings:
+export DICS="/usr/share/stardict/dic/"
+export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
+export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
+export LESS=-R
+export LESS_TERMCAP_mb="$(printf '%b' '')"
+export LESS_TERMCAP_md="$(printf '%b' '')"
+export LESS_TERMCAP_me="$(printf '%b' '')"
+export LESS_TERMCAP_so="$(printf '%b' '')"
+export LESS_TERMCAP_se="$(printf '%b' '')"
+export LESS_TERMCAP_us="$(printf '%b' '')"
+export LESS_TERMCAP_ue="$(printf '%b' '')"
+export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
+export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
+export MOZ_USE_XINPUT2="1" # Mozilla smooth scrolling/touchpads.
+export AWT_TOOLKIT="MToolkit wmname LG3D" #May have to install wmname
+export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
+
+# This is the list for lf icons:
+export LF_ICONS="di=📁:\
+fi=📃:\
+tw=🤝:\
+ow=📂:\
+ln=⛓:\
+or=❌:\
+ex=🎯:\
+*.txt=✍:\
+*.mom=✍:\
+*.me=✍:\
+*.ms=✍:\
+*.png=🖼:\
+*.webp=🖼:\
+*.ico=🖼:\
+*.jpg=📸:\
+*.jpe=📸:\
+*.jpeg=📸:\
+*.gif=🖼:\
+*.svg=🗺:\
+*.tif=🖼:\
+*.tiff=🖼:\
+*.xcf=🖌:\
+*.html=🌎:\
+*.xml=📰:\
+*.gpg=🔒:\
+*.css=🎨:\
+*.pdf=📚:\
+*.djvu=📚:\
+*.epub=📚:\
+*.csv=📓:\
+*.xlsx=📓:\
+*.tex=📜:\
+*.md=📘:\
+*.r=📊:\
+*.R=📊:\
+*.rmd=📊:\
+*.Rmd=📊:\
+*.m=📊:\
+*.mp3=🎵:\
+*.opus=🎵:\
+*.ogg=🎵:\
+*.m4a=🎵:\
+*.flac=🎼:\
+*.wav=🎼:\
+*.mkv=🎥:\
+*.mp4=🎥:\
+*.webm=🎥:\
+*.mpeg=🎥:\
+*.avi=🎥:\
+*.mov=🎥:\
+*.mpg=🎥:\
+*.wmv=🎥:\
+*.m4b=🎥:\
+*.flv=🎥:\
+*.zip=📦:\
+*.rar=📦:\
+*.7z=📦:\
+*.tar.gz=📦:\
+*.z64=🎮:\
+*.v64=🎮:\
+*.n64=🎮:\
+*.gba=🎮:\
+*.nes=🎮:\
+*.gdi=🎮:\
+*.1=ℹ:\
+*.nfo=ℹ:\
+*.info=ℹ:\
+*.log=📙:\
+*.iso=📀:\
+*.img=📀:\
+*.bib=🎓:\
+*.ged=👪:\
+*.part=💔:\
+*.torrent=🔽:\
+*.jar=♨:\
+*.java=♨:\
+"
+
+[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
+
+if pacman -Qs libxft-bgra >/dev/null 2>&1; then
+ # 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"
+else
+ echo "\033[31mIMPORTANT\033[0m: Note that \033[32m\`libxft-bgra\`\033[0m must be installed for this build of dwm.
+Please run:
+ \033[32myay -S libxft-bgra-git\033[0m
+and replace \`libxft\`. Afterwards, you may start the graphical server by running \`startx\`."
+fi
+
+# Switch escape and caps if tty and no passwd required:
+sudo -n loadkeys ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null
diff --git a/.config/shell/shortcutrc b/.config/shell/shortcutrc
new file mode 100644
index 0000000..e192a19
--- /dev/null
+++ b/.config/shell/shortcutrc
@@ -0,0 +1,30 @@
+# vim: filetype=sh
+alias cac="cd /home/genos/.cache && ls -a" \
+cf="cd /home/genos/.config && ls -a" \
+D="cd /home/genos/dl && ls -a" \
+d="cd /home/genos/dox && ls -a" \
+dt="cd /home/genos/.local/share && ls -a" \
+rr="cd /home/genos/.local/src && ls -a" \
+h="cd /home/genos && ls -a" \
+m="cd /home/genos/music && ls -a" \
+mn="cd /mnt && ls -a" \
+pp="cd /home/genos/pix && ls -a" \
+sc="cd /home/genos/.local/bin && ls -a" \
+src="cd /home/genos/.local/src && ls -a" \
+vv="cd /home/genos/vid && ls -a" \
+bf="$EDITOR /home/genos/.config/shell/bm-files" \
+bd="$EDITOR /home/genos/.config/shell/bm-dirs" \
+cfx="$EDITOR /home/genos/.config/x11/xresources" \
+cfb="$EDITOR ~/.local/src/dwmblocks/config.h" \
+cfv="$EDITOR /home/genos/.config/nvim/init.vim" \
+cfz="$EDITOR /home/genos/.config/zsh/.zshrc" \
+cfa="$EDITOR /home/genos/.config/shell/aliasrc" \
+cfp="$EDITOR /home/genos/.config/shell/profile" \
+cfm="$EDITOR /home/genos/.config/mutt/muttrc" \
+cfn="$EDITOR /home/genos/.config/newsboat/config" \
+cfu="$EDITOR /home/genos/.config/newsboat/urls" \
+cfmb="$EDITOR /home/genos/.config/ncmpcpp/bindings" \
+cfmc="$EDITOR /home/genos/.config/ncmpcpp/config" \
+cfl="$EDITOR /home/genos/.config/lf/lfrc" \
+cfL="$EDITOR /home/genos/.config/lf/scope" \
+cfX="$EDITOR /home/genos/.config/sxiv/exec/key-handler" \
diff --git a/.config/shell/zshnameddirrc b/.config/shell/zshnameddirrc
new file mode 100644
index 0000000..ad4839f
--- /dev/null
+++ b/.config/shell/zshnameddirrc
@@ -0,0 +1,29 @@
+hash -d cac=/home/genos/.cache
+hash -d cf=/home/genos/.config
+hash -d D=/home/genos/Downloads
+hash -d d=/home/genos/Documents
+hash -d dt=/home/genos/.local/share
+hash -d rr=/home/genos/.local/src
+hash -d h=/home/genos
+hash -d m=/home/genos/Music
+hash -d mn=/mnt
+hash -d pp=/home/genos/Pictures
+hash -d sc=/home/genos/.local/bin
+hash -d src=/home/genos/.local/src
+hash -d vv=/home/genos/Videos
+hash -d bf=/home/genos/.config/shell/bm-files
+hash -d bd=/home/genos/.config/shell/bm-dirs
+hash -d cfx=/home/genos/.config/x11/xresources
+hash -d cfb=~/.local/src/dwmblocks/config.h
+hash -d cfv=/home/genos/.config/nvim/init.vim
+hash -d cfz=/home/genos/.config/zsh/.zshrc
+hash -d cfa=/home/genos/.config/shell/aliasrc
+hash -d cfp=/home/genos/.config/shell/profile
+hash -d cfm=/home/genos/.config/mutt/muttrc
+hash -d cfn=/home/genos/.config/newsboat/config
+hash -d cfu=/home/genos/.config/newsboat/urls
+hash -d cfmb=/home/genos/.config/ncmpcpp/bindings
+hash -d cfmc=/home/genos/.config/ncmpcpp/config
+hash -d cfl=/home/genos/.config/lf/lfrc
+hash -d cfL=/home/genos/.config/lf/scope
+hash -d cfX=/home/genos/.config/sxiv/exec/key-handler