This commit is contained in:
Clay Gomera 2022-04-26 15:19:29 -04:00
parent e51e4279c1
commit 0f97b3b8b4
5 changed files with 189 additions and 115 deletions

217
.bashrc
View file

@ -5,7 +5,7 @@
## /_____/_/ \__,_/_/|_|\___/ My custom bash config ## /_____/_/ \__,_/_/|_|\___/ My custom bash config
## ##
### EXPORT ### EXPORT ###
export TERM="xterm-256color" # getting proper colors export TERM="xterm-256color" # getting proper colors
export HISTCONTROL=ignoredups:erasedups # no duplicate entries export HISTCONTROL=ignoredups:erasedups # no duplicate entries
export EDITOR="nvim" # $EDITOR use neovim export EDITOR="nvim" # $EDITOR use neovim
@ -17,20 +17,26 @@ export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}
export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"} export XDG_CACHE_HOME=${XDG_CACHE_HOME:="$HOME/.cache"}
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"} export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:="$HOME/.config"}
# Use bash-completion, if available # use bash-completion, if available
[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ [[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \
. /usr/share/bash-completion/bash_completion . /usr/share/bash-completion/bash_completion
# If not running interactively, don't do anything # if not running interactively, don't do anything
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
# 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"
### SET VI MODE ### ### SET VI MODE ###
# Comment this line out to enable default emacs-like bindings # Comment this line out to enable default emacs-like bindings
set -o vi set -o vi
bind -m vi-command 'Control-l: clear-screen' bind -m vi-command 'Control-l: clear-screen'
bind -m vi-insert 'Control-l: clear-screen' bind -m vi-insert 'Control-l: clear-screen'
### PATH ### PATH ###
if [ -d "$HOME/.bin" ] ; if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH" then PATH="$HOME/.bin:$PATH"
fi fi
@ -43,7 +49,7 @@ if [ -d "$HOME/Applications" ] ;
then PATH="$HOME/Applications:$PATH" then PATH="$HOME/Applications:$PATH"
fi fi
### CHANGE TITLE OF TERMINALS ### CHANGE TITLE OF TERMINALS ###
case ${TERM} in case ${TERM} in
xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*) xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
@ -53,7 +59,7 @@ case ${TERM} in
;; ;;
esac esac
### SHOPT ### SHOPT ###
shopt -s autocd # change to named directory shopt -s autocd # change to named directory
shopt -s cdspell # autocorrects cd misspellings shopt -s cdspell # autocorrects cd misspellings
shopt -s cmdhist # save multi-line commands in history as single line shopt -s cmdhist # save multi-line commands in history as single line
@ -62,10 +68,15 @@ shopt -s histappend # do not overwrite history
shopt -s expand_aliases # expand aliases shopt -s expand_aliases # expand aliases
shopt -s checkwinsize # checks term size when bash regains control shopt -s checkwinsize # checks term size when bash regains control
#ignore upper and lowercase when TAB completion # ignore upper and lowercase when TAB completion
bind "set completion-ignore-case on" bind "set completion-ignore-case on"
### ARCHIVE EXTRACTION # sudo not required for some system commands
for command in mount umount poweroff reboot ; do
alias $command="sudo $command"
done; unset command
### ARCHIVE EXTRACTION ###
# usage: ex <file> # usage: ex <file>
ex () ex ()
{ {
@ -92,7 +103,7 @@ ex ()
fi fi
} }
### ALIASES ### ALIASES ###
# navigation # navigation
up () { up () {
local d="" local d=""
@ -113,118 +124,122 @@ up () {
fi fi
} }
alias ..='cd ..' # cd
alias .2='cd ../..' alias \
alias .3='cd ../../..' ..="cd .." \
alias .4='cd ../../../..' .2="cd ../.." \
alias .5='cd ../../../../..' .3="cd ../../.." \
.4="cd ../../../.." \
.5="cd ../../../../.."
# bat as cat # bat as cat
alias cat='bat' [ -x "$(command -v bat)" ] && alias cat="bat"
# editors
alias vim='nvim'
# Changing "ls" to "exa" # Changing "ls" to "exa"
alias ls='exa -al --color=always --group-directories-first' # my preferred listing alias \
alias la='exa -a --color=always --group-directories-first' # all files and dirs ls="exa -al --color=always --group-directories-first" \
alias ll='exa -l --color=always --group-directories-first' # long format la="exa -a --color=always --group-directories-first" \
alias lt='exa -aT --color=always --group-directories-first' # tree listing ll="exa -l --color=always --group-directories-first" \
alias l.='exa -a | egrep "^\."' lt="exa -aT --color=always --group-directories-first" \
l.='exa -a | egrep "^\."'
# xbps # xbps
alias xb-up='sudo xbps-install -Su && xcheckrestart' # Refresh pkglist & update standard pkgs alias \
alias xb-get='sudo xbps-install -S' # Install a package xb-up="sudo xbps-install -Su && xcheckrestart" \
alias xb-rmv='sudo xbps-remove -R' # Remove a package with all its dependencies xb-get="sudo xbps-install -S" \
alias xb-rmv-sec='sudo xbps-remove' # Remove a package with all its dependencies (secure way) xb-rmv="sudo xbps-remove -R" \
alias xb-qry='sudo xbps-query' # Repo query xb-rmv-sec="sudo xbps-remove" \
alias xb-cln='sudo xbps-remove -o && sudo xbps-remove -O' # remove orphaned packages xb-qry="sudo xbps-query" \
xb-cln="sudo xbps-remove -o && sudo xbps-remove -O"
# Colorize grep output (good for log files) # colorize grep output (good for log files)
alias grep='grep --color=auto' alias \
alias egrep='egrep --color=auto' grep="grep --color=auto" \
alias fgrep='fgrep --color=auto' egrep="egrep --color=auto" \
fgrep="fgrep --color=auto"
# confirm before overwriting something
alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
# git # git
alias addup='git add -u' alias \
alias addall='git add .' addup="git add -u" \
alias branch='git branch' addall="git add ." \
alias checkout='git checkout' branch="git branch" \
alias clone='git clone' checkout="git checkout" \
alias commit='git commit -m' clone="git clone" \
alias fetch='git fetch' commit="git commit -m" \
alias pull='git pull origin' fetch="git fetch" \
alias push='git push origin' pull="git pull origin" \
alias stat='git status' # 'status' is protected name so using 'stat' instead push="git push origin" \
alias tag='git tag' stat="git status" \
alias newtag='git tag -a' tag="git tag" \
newtag="git tag -a"
# adding flags # adding flags
alias df='df -h' # human-readable sizes alias \
alias free='free -m' # show sizes in MB df="df -h" \
alias newsboat='newsboat -u ~/.config/newsboat/urls' # start newsboat with my urls file free="free -m" \
newsboat="newsboat -u ~/.config/newsboat/urls"
# ani-cli # multimedia scripts
alias ani='ani-cli' alias \
alias ani-q='ani-cli -q' # to select video quality fli="flix-cli" \
ani="ani-cli" \
aniq="ani-cli -q"
# ytfzf # audio
alias yt='ytfzf -f -t' alias \
alias yt-m='ytfzf -m' mx="pulsemixer" \
amx="alsamixer" \
# flix-cli mk="cmus" \
alias fli='flix-cli' ms="cmus" \
music="cmus"
# mount and unmount drives
alias mnt='sudo mount'
alias umnt='sudo umount'
# mixers
alias mx='pulsemixer'
alias amx='alsamixer'
# music player
alias mk='cmus'
# power management # power management
alias po='loginctl poweroff' alias \
alias sp='loginctl suspend' po="loginctl poweroff" \
alias rb='loginctl reboot' sp="loginctl suspend" \
rb="loginctl reboot"
# file manager # file management
alias fm='./.config/vifm/scripts/vifmrun' alias \
alias vifm='./.config/vifm/scripts/vifmrun' fm="./.config/vifm/scripts/vifmrun" \
file="./.config/vifm/scripts/vifmrun" \
flm="./.config/vifm/scripts/vifmrun" \
vifm="./.config/vifm/scripts/vifmrun" \
rm="rm -vI" \
mv="mv -iv" \
cp="cp -iv" \
mkd="mkdir -pv"
# ps # ps
alias psa="ps auxf" alias \
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" psa="ps auxf" \
alias psmem='ps auxf | sort -nr -k 4' psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \
alias pscpu='ps auxf | sort -nr -k 3' psmem="ps auxf | sort -nr -k 4" \
pscpu="ps auxf | sort -nr -k 3"
# youtube-dl # youtube
alias yta-aac="yt-dlp --extract-audio --audio-format aac " alias \
alias yta-best="yt-dlp --extract-audio --audio-format best " yta-aac="yt-dlp --extract-audio --audio-format aac" \
alias yta-flac="yt-dlp --extract-audio --audio-format flac " yta-best="yt-dlp --extract-audio --audio-format best" \
alias yta-m4a="yt-dlp --extract-audio --audio-format m4a " yta-flac="yt-dlp --extract-audio --audio-format flac" \
alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 " yta-m4a="yt-dlp --extract-audio --audio-format m4a" \
alias yta-opus="yt-dlp --extract-audio --audio-format opus " yta-mp3="yt-dlp --extract-audio --audio-format mp3" \
alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis " yta-opus="yt-dlp --extract-audio --audio-format opus" \
alias yta-wav="yt-dlp --extract-audio --audio-format wav " yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \
alias ytv-best="yt-dlp -f bestvideo+bestaudio " yta-wav="yt-dlp --extract-audio --audio-format wav" \
ytv-best="yt-dlp -f bestvideo+bestaudio" \
yt="ytfzf -f -t" \
ytm="ytfzf -m"
# Network Manager and bluetooth # network and bluetooth
alias netstats='nmcli dev' alias \
alias wfi='nmtui-connect' netstats="nmcli dev" \
alias wfi-scan='nmcli dev wifi list' wfi="nmtui-connect" \
alias wfi-edit='nmtui-edit' wfi-scan="nmcli dev wifi list" \
alias wfi-on='nmcli radio wifi on' wfi-edit="nmtui-edit" \
alias wfi-off='nmcli radio wifi off' wfi-on="nmcli radio wifi on" \
alias blt='bluetoothctl' wfi-off="nmcli radio wifi off" \
blt="bluetoothctl"
### SETTING THE STARSHIP PROMPT ### ### SETTING THE STARSHIP PROMPT ###
eval "$(starship init bash)" eval "$(starship init bash)"

5
.config/mpv/input.conf Normal file
View file

@ -0,0 +1,5 @@
l seek 5
h seek -5
j seek -60
k seek 60
S cycle sub

56
.config/newsboat/config Normal file
View file

@ -0,0 +1,56 @@
#show-read-feeds no
auto-reload yes
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
bind-key D pb-download
bind-key U show-urls
bind-key x pb-delete
color listnormal cyan default
color listfocus black yellow standout bold
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info red black bold
color article white default bold
browser linkhandler
macro , open-in-browser
macro t set browser "qndl" ; open-in-browser ; set browser linkhandler
macro a set browser "tsp yt-dlp --embed-metadata -xic -f bestaudio/best" ; open-in-browser ; set browser linkhandler
macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler
macro w set browser "lynx" ; open-in-browser ; set browser linkhandler
macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler
macro c set browser "echo %u | xclip -r -sel c" ; open-in-browser ; set browser linkhandler
macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler
macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler
macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler
highlight all "---.*---" yellow
highlight feedlist ".*(0/0))" black
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
highlight article "(^Link:.*|^Date:.*)" default default
highlight article "https?://[^ ]+" green default
highlight article "^(Title):.*$" blue default
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
highlight article "\\[image\\ [0-9]+\\]" green default bold
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
highlight article ":.*\\(link\\)$" cyan default
highlight article ":.*\\(image\\)$" blue default
highlight article ":.*\\(embedded flash\\)$" magenta default

View file

@ -1,11 +1,9 @@
https://archlinux.org/feeds/news/ "Reading" https://techhut.tv/rss/ "Techhut"
https://www.linux.com/feed/ "Reading" https://lukesmith.xyz/rss.xml "Luke Smith"
https://linuxhandbook.com/rss/ "Reading" https://notrelated.xyz/rss "Not Related"
https://www.gamingonlinux.com/article_rss.php "Reading" https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Luke Smith (YouTube)"
https://www.omgubuntu.co.uk/feed "Reading" https://landchad.net/rss.xml "Landchad"
https://askubuntu.com/feeds "Reading" https://based.cooking/rss.xml "Based Cooking"
https://itsubuntu.com/feed/ "Reading" https://artixlinux.org/feed.php "Artix Linux"
https://www.tecmint.com/feed/ "Reading" https://www.archlinux.org/feeds/news/ "Arch Linux"
https://www.linuxfoundation.org/feed/ "Reading" https://switchedtolinux.com/rss "Switched to Linux"
https://linuxhint.com/feed/ "Reading"
https://techhut.tv/rss/ "Reading"

View file

@ -181,8 +181,8 @@ c.tabs.show = 'always'
# Setting default page for when opening new tabs or new windows with # Setting default page for when opening new tabs or new windows with
# commands like :open -t and :open -w . # commands like :open -t and :open -w .
c.url.default_page = 'https://start.duckduckgo.com/' c.url.default_page = 'https://search.brave.com/'
c.url.start_pages = 'https://start.duckduckgo.com/' c.url.start_pages = 'https://search.brave.com/'
# Search engines which can be used via the address bar. Maps a search # Search engines which can be used via the address bar. Maps a search
# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}` # engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`
@ -202,7 +202,7 @@ c.url.start_pages = 'https://start.duckduckgo.com/'
# the search engine name to the search term, e.g. `:open google # the search engine name to the search term, e.g. `:open google
# qutebrowser`. # qutebrowser`.
# Type: Dict # Type: Dict
c.url.searchengines = {'DEFAULT': 'https://duckduckgo.com/?q={}', 'am': 'https://www.amazon.com/s?k={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'goog': 'https://www.google.com/search?q={}', 're': 'https://www.reddit.com/r/{}', 'ub': 'https://www.urbandictionary.com/define.php?term={}', 'wiki': 'https://en.wikipedia.org/wiki/{}', 'yt': 'https://www.youtube.com/results?search_query={}'} c.url.searchengines = {'DEFAULT': 'https://search.brave.com/search?q={}', 'aw': 'https://wiki.archlinux.org/?search={}', 'ub': 'https://www.urbandictionary.com/define.php?term={}', 'wiki': 'https://en.wikipedia.org/wiki/{}'}
# Default font families to use. Whenever "default_family" is used in a # Default font families to use. Whenever "default_family" is used in a
# font setting, it's replaced with the fonts listed here. If set to an # font setting, it's replaced with the fonts listed here. If set to an