diff --git a/.config/aliasrc b/.config/aliasrc index 34bf437..57b6f63 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -42,5 +42,5 @@ alias mpv="mpv --input-ipc-server=/tmp/mpvsoc$(date +%s)" # Some other stuff alias \ magit="nvim -c MagitOnly" \ - ref="shortcuts >/dev/null; source $XDG_CONFIG_HOME/shortcutrc" \ - weath="less -S $XDG_DATA_HOME/weatherreport" \ + ref="shortcuts >/dev/null; source ${XDG_CONFIG_HOME:$HOME/.config}/shortcutrc" \ + weath="less -S ${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" \ diff --git a/.config/directories b/.config/directories index cd3aafb..957590e 100644 --- a/.config/directories +++ b/.config/directories @@ -5,6 +5,6 @@ D ~/Downloads m ~/Music pp ~/Pictures vv ~/Videos -cf $XDG_CONFIG_HOME +cf ${XDG_CONFIG_HOME:$HOME/.config} sc ~/.local/bin mn /mnt diff --git a/.config/files b/.config/files index 54c5999..05da40c 100644 --- a/.config/files +++ b/.config/files @@ -1,15 +1,15 @@ -bf $XDG_CONFIG_HOME/files -bd $XDG_CONFIG_HOME/directories -bw $XDG_CONFIG_HOME/bookmarks -cfa $XDG_CONFIG_HOME/aliasrc +bf ${XDG_CONFIG_HOME:$HOME/.config}/files +bd ${XDG_CONFIG_HOME:$HOME/.config}/directories +bw ${XDG_CONFIG_HOME:$HOME/.config}/bookmarks +cfa ${XDG_CONFIG_HOME:$HOME/.config}/aliasrc cfz $ZDOTDIR/.zshrc -cfv $XDG_CONFIG_HOME/nvim/init.vim -cfm $XDG_CONFIG_HOME/mutt/muttrc -cfx $XDG_CONFIG_HOME/Xresources -cfu $XDG_CONFIG_HOME/newsboat/urls -cfn $XDG_CONFIG_HOME/newsboat/config -cfmb $XDG_CONFIG_HOME/ncmpcpp/bindings -cfmc $XDG_CONFIG_HOME/ncmpcpp/config -cfk $XDG_CONFIG_HOME/sxhkd/sxhkdrc -cfi $XDG_CONFIG_HOME/i3/config -cfb $XDG_CONFIG_HOME/i3blocks/config +cfv ${XDG_CONFIG_HOME:$HOME/.config}/nvim/init.vim +cfm ${XDG_CONFIG_HOME:$HOME/.config}/mutt/muttrc +cfx ${XDG_CONFIG_HOME:$HOME/.config}/Xresources +cfu ${XDG_CONFIG_HOME:$HOME/.config}/newsboat/urls +cfn ${XDG_CONFIG_HOME:$HOME/.config}/newsboat/config +cfmb ${XDG_CONFIG_HOME:$HOME/.config}/ncmpcpp/bindings +cfmc ${XDG_CONFIG_HOME:$HOME/.config}/ncmpcpp/config +cfk ${XDG_CONFIG_HOME:$HOME/.config}/sxhkd/sxhkdrc +cfi ${XDG_CONFIG_HOME:$HOME/.config}/i3/config +cfb ${XDG_CONFIG_HOME:$HOME/.config}/i3blocks/config diff --git a/.config/i3/config b/.config/i3/config index e965b7c..36c8aba 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -222,7 +222,7 @@ for_window [title="mpvfloat"] border pixel 0 no_focus [title="mpvfloat"] # #---Function Buttons---# # -bindsym $mod+F1 exec --no-startup-id groff -mom $XDG_DATA_HOME/larbs/readme.mom -Tpdf | zathura - +bindsym $mod+F1 exec --no-startup-id groff -mom ${XDG_DATA_HOME:$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura - bindsym $mod+F2 restart bindsym $mod+F3 exec --no-startup-id displayselect bindsym $mod+F4 exec --no-startup-id prompt "Hibernate computer?" "$hibernate" diff --git a/.config/lf/lfrc b/.config/lf/lfrc index 3b4cc14..a201b68 100644 --- a/.config/lf/lfrc +++ b/.config/lf/lfrc @@ -2,7 +2,7 @@ # Basic vars set shell sh -set previewer $XDG_CONFIG_HOME/lf/scope +set previewer ${XDG_CONFIG_HOME:$HOME/.config}/lf/scope set shellopts '-eu' set ifs "\n" set scrolloff 10 @@ -36,7 +36,7 @@ cmd delete ${{ cmd moveto ${{ set -f clear; echo "Move to where?" - dest="$(cut -d' ' -f2- $XDG_CONFIG_HOME/directories | fzf)" && + dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:$HOME/.config}/directories | fzf)" && eval mv -iv $fx $dest && notify-send "🚚 File(s) moved." "File(s) moved to $dest." }} @@ -44,7 +44,7 @@ cmd moveto ${{ cmd copyto ${{ set -f clear; echo "Copy to where?" - dest="$(cut -d' ' -f2- $XDG_CONFIG_HOME/directories | fzf)" && + dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:$HOME/.config}/directories | fzf)" && eval cp -ivr $fx $dest && notify-send "📋 File(s) copied." "File(s) copies to $dest." }} @@ -54,9 +54,9 @@ cmd bulkrename ${{ }} # Bindings -map c $lf -remote "send $id cd $(cut -d' ' -f2 $XDG_CONFIG_HOME/directories | fzf)" +map c $lf -remote "send $id cd $(cut -d' ' -f2 ${XDG_CONFIG_HOME:$HOME/.config}/directories | fzf)" map $lf -remote "send $id select '$(fzf)'" -map J $lf -remote "send $id cd $(cut -d' ' -f2 $XDG_CONFIG_HOME/directories | fzf)" +map J $lf -remote "send $id cd $(cut -d' ' -f2 ${XDG_CONFIG_HOME:$HOME/.config}/directories | fzf)" map gh map g top map D delete diff --git a/.config/mimeapps.list b/.config/mimeapps.list index 5c1c093..30988cc 100644 --- a/.config/mimeapps.list +++ b/.config/mimeapps.list @@ -1,7 +1,7 @@ [Default Applications] # xdg-open will use these settings to determine how to open filetypes. -# These .desktop entries can also be seen and changed in $XDG_DATA_HOME/applications/ +# These .desktop entries can also be seen and changed in ~/.local/share/applications/ text/x-shellscript=text.desktop; x-scheme-handler/magnet=torrent.desktop; diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf index 8a30ca5..521b9a6 100644 --- a/.config/mpd/mpd.conf +++ b/.config/mpd/mpd.conf @@ -1,10 +1,10 @@ -db_file "$XDG_CONFIG_HOME/mpd/database" -log_file "$XDG_CONFIG_HOME/mpd/log" +db_file "${XDG_CONFIG_HOME:$HOME/.config}/mpd/database" +log_file "${XDG_CONFIG_HOME:$HOME/.config}/mpd/log" music_directory "~/Music" -playlist_directory "$XDG_CONFIG_HOME/mpd/playlists" -pid_file "$XDG_CONFIG_HOME/mpd/pid" -state_file "$XDG_CONFIG_HOME/mpd/state" -sticker_file "$XDG_CONFIG_HOME/mpd/sticker.sql" +playlist_directory "${XDG_CONFIG_HOME:$HOME/.config}/mpd/playlists" +pid_file "${XDG_CONFIG_HOME:$HOME/.config}/mpd/pid" +state_file "${XDG_CONFIG_HOME:$HOME/.config}/mpd/state" +sticker_file "${XDG_CONFIG_HOME:$HOME/.config}/mpd/sticker.sql" auto_update "yes" diff --git a/.config/ncmpcpp/config b/.config/ncmpcpp/config index d2e1132..c9bcced 100644 --- a/.config/ncmpcpp/config +++ b/.config/ncmpcpp/config @@ -1,16 +1,11 @@ -############################################################################## -## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ## -## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ## -############################################################################## -# -ncmpcpp_directory = $XDG_CONFIG_HOME/ncmpcpp +ncmpcpp_directory = ${XDG_CONFIG_HOME:$HOME/.config}/ncmpcpp # ## ## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other ## MPD clients (eg. ncmpc) also use that location. ## # -lyrics_directory = $XDG_DATA_HOME/lyrics +lyrics_directory = ${XDG_DATA_HOME:$HOME/.local/share}/lyrics # ##### connection settings ##### # diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index ae94ae1..d0b2c97 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,13 +1,13 @@ let mapleader ="," -if ! filereadable(expand('$XDG_CONFIG_HOME/nvim/autoload/plug.vim')) +if ! filereadable(expand('${XDG_CONFIG_HOME:$HOME/.config}/nvim/autoload/plug.vim')) echo "Downloading junegunn/vim-plug to manage plugins..." - silent !mkdir -p $XDG_CONFIG_HOME/nvim/autoload/ - silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $XDG_CONFIG_HOME/nvim/autoload/plug.vim + silent !mkdir -p ${XDG_CONFIG_HOME:$HOME/.config}/nvim/autoload/ + silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:$HOME/.config}/nvim/autoload/plug.vim autocmd VimEnter * PlugInstall endif -call plug#begin('$XDG_CONFIG_HOME/nvim/plugged') +call plug#begin('${XDG_CONFIG_HOME:$HOME/.config}/nvim/plugged') Plug 'tpope/vim-surround' Plug 'scrooloose/nerdtree' Plug 'junegunn/goyo.vim' diff --git a/.config/ranger/commands.py b/.config/ranger/commands.py index 5b1acd2..c1c7419 100755 --- a/.config/ranger/commands.py +++ b/.config/ranger/commands.py @@ -38,7 +38,7 @@ class my_edit(Command): # reference to the currently selected file. target_filename = self.fm.thisfile.path - # This is a generic function to print text in ranger. + # This is a generic function to print text in ranger. self.fm.notify("Let's edit the file " + target_filename + "!") # Using bad=True in fm.notify allows you to print error messages: @@ -60,7 +60,7 @@ class my_edit(Command): # https://github.com/ranger/ranger/wiki/Integrating-File-Search-with-fzf -# Now, simply bind this function to a key, by adding this to your $XDG_CONFIG_HOME/ranger/rc.conf: map fzf_select +# Now, simply bind this function to a key, by adding this to your ~/.config/ranger/rc.conf: map fzf_select class fzf_select(Command): """ :fzf_select diff --git a/.config/ranger/luke_ranger_readme.md b/.config/ranger/luke_ranger_readme.md index f6ee93f..4511151 100644 --- a/.config/ranger/luke_ranger_readme.md +++ b/.config/ranger/luke_ranger_readme.md @@ -32,10 +32,10 @@ These "verbs" take "nouns" or "arguments," like these: + d -- "~/Documents" + D -- "~/Downloads" -+ cf -- "$XDG_CONFIG_HOME" ++ cf -- "~/.config" + And many others, including those you add to `~/.bmdirs`. -Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/Documents, for example. "mD" will move the selected file(s) to ~/Downloads. "tcf" will create a new tab in $XDG_CONFIG_HOME, etc. etc. +Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/Documents, for example. "mD" will move the selected file(s) to ~/Downloads. "tcf" will create a new tab in ~/.config, etc. etc. ## Many little additions! @@ -60,7 +60,7 @@ Press any "verb" followed by any "argument" to perform a folder operation. "gd" + Txs -- copy slideshow/beamer template to new file + Txh -- copy handout template to new file + Image commands: - + bg -- (for i3 users) makes an image your background (assuming i3 is looking at $XDG_CONFIG_HOME/wall.png for your background) + + bg -- makes an image your background (assuming i3 is looking at ~/.local/share/bg for your background) + bw -- runs Pywal on the selected image, making it your background and generating a color scheme based off of it. + C -- rotates an image (requires imagemagick) + F -- flips an image (requires imagemagick) diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf index ff0d506..c8b5c1a 100644 --- a/.config/ranger/rc.conf +++ b/.config/ranger/rc.conf @@ -5,7 +5,7 @@ set column_ratios 1,3,4 set hidden_filter ^\.|\.(?:pyc|vrb|pyo|lof|bak|swp|aux|log|nav|out|snm|toc|bcf|run\.xml|synctex\.gz|blg|bbl)$|^lost\+found$|^__(py)?cache__$ set show_hidden false set confirm_on_delete multiple -set preview_script $XDG_CONFIG_HOME/ranger/scope.sh +set preview_script ${XDG_CONFIG_HOME:$HOME/.config}/ranger/scope.sh set use_preview_script true set automatically_count_files true set open_all_images true @@ -505,4 +505,4 @@ map Tn eval fm.open_console('shell eyeD3 -n "" ' + fm.thisfile.relative_path, po #Downloading map ytv console shell youtube-dl -ic%space map yta console shell youtube-dl -xic%space -source $XDG_CONFIG_HOME/ranger/shortcuts.conf +source ${XDG_CONFIG_HOME:$HOME/.config}/ranger/shortcuts.conf diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index c07d780..a43e582 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -137,10 +137,10 @@ XF86MyComputer # Function keys super + shift + F1 - grep LARBSWELCOME ~/.xprofile && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || ( echo "notify-send -i "$XDG_DATA_HOME/larbs/larbs.png" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> ~/.xprofile && notify-send "LARBS welcome message" "Welcome message re-enabled." ) + grep LARBSWELCOME ~/.xprofile && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || ( echo "notify-send -i "${XDG_DATA_HOME:$HOME/.local/share}/larbs/larbs.png" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> ~/.xprofile && notify-send "LARBS welcome message" "Welcome message re-enabled." ) # Show readme super + F1 - groff -mom $XDG_DATA_HOME/larbs/readme.mom -Tpdf | zathura - + groff -mom ${XDG_DATA_HOME:$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura - # F2 restarts either dwm or i3 and is bound in each. # Change display super + F3 diff --git a/.config/sxiv/exec/key-handler b/.config/sxiv/exec/key-handler index 279f9f6..796b091 100755 --- a/.config/sxiv/exec/key-handler +++ b/.config/sxiv/exec/key-handler @@ -4,13 +4,13 @@ do case "$1" in "w") setbg "$file" & ;; "c") - [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" $XDG_CONFIG_HOME/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" + [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:$HOME/.config}/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" [ -z "$destdir" ] && exit [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." & ;; "m") - [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" $XDG_CONFIG_HOME/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" + [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:$HOME/.config}/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" [ -z "$destdir" ] && exit [ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." & diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index ed77ea8..cba88df 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -1,5 +1,5 @@ " vim: filetype=vifm -source $XDG_CONFIG_HOME/vifm/vifmshortcuts +source ${XDG_CONFIG_HOME:$HOME/.config}/vifm/vifmshortcuts set vicmd=$EDITOR set syscalls diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 679dc93..18f1882 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -12,8 +12,8 @@ SAVEHIST=10000 HISTFILE=~/.cache/zsh/history # Load aliases and shortcuts if existent. -[ -f "$XDG_CONFIG_HOME/shortcutrc" ] && source "$XDG_CONFIG_HOME/shortcutrc" -[ -f "$XDG_CONFIG_HOME/aliasrc" ] && source "$XDG_CONFIG_HOME/aliasrc" +[ -f "${XDG_CONFIG_HOME:$HOME/.config}/shortcutrc" ] && source "${XDG_CONFIG_HOME:$HOME/.config}/shortcutrc" +[ -f "${XDG_CONFIG_HOME:$HOME/.config}/aliasrc" ] && source "${XDG_CONFIG_HOME:$HOME/.config}/aliasrc" # Basic auto/tab complete: autoload -U compinit diff --git a/.local/bin/cron/crontog b/.local/bin/cron/crontog index 9889d76..565c5e2 100755 --- a/.local/bin/cron/crontog +++ b/.local/bin/cron/crontog @@ -3,4 +3,4 @@ # Toggles all cronjobs off/on. # Stores disabled crontabs in ~/.consaved until restored. -([ -f $XDG_CONFIG_HOME/cronsaved ] && crontab - < $XDG_CONFIG_HOME/cronsaved && rm $XDG_CONFIG_HOME/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > $XDG_CONFIG_HOME/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.") +([ -f ${XDG_CONFIG_HOME:$HOME/.config}/cronsaved ] && crontab - < ${XDG_CONFIG_HOME:$HOME/.config}/cronsaved && rm ${XDG_CONFIG_HOME:$HOME/.config}/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > ${XDG_CONFIG_HOME:$HOME/.config}/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.") diff --git a/.local/bin/dmenuunicode b/.local/bin/dmenuunicode index df8c7a0..6740be4 100755 --- a/.local/bin/dmenuunicode +++ b/.local/bin/dmenuunicode @@ -5,7 +5,7 @@ # Must have xclip installed to even show menu. xclip -h 2>/dev/null || exit 1 -chosen=$(cut -d ';' -f1 $XDG_DATA_HOME/larbs/emoji | dmenu -i -l 20 | sed "s/ .*//") +chosen=$(cut -d ';' -f1 ${XDG_DATA_HOME:$HOME/.local/share}/larbs/emoji | dmenu -i -l 20 | sed "s/ .*//") [ "$chosen" != "" ] || exit diff --git a/.local/bin/getkeys b/.local/bin/getkeys index 0a12d22..a1113f1 100755 --- a/.local/bin/getkeys +++ b/.local/bin/getkeys @@ -1,5 +1,5 @@ #!/bin/sh -cat $XDG_DATA_HOME/larbs/getkeys/"$1" 2>/dev/null && exit +cat ${XDG_DATA_HOME:$HOME/.local/share}/larbs/getkeys/"$1" 2>/dev/null && exit echo "Run command with one of the following arguments for info about that program:" -ls $XDG_DATA_HOME/larbs/getkeys +ls ${XDG_DATA_HOME:$HOME/.local/share}/larbs/getkeys diff --git a/.local/bin/i3cmds/toggle-welcome b/.local/bin/i3cmds/toggle-welcome index d8cc0ef..1f08eb1 100755 --- a/.local/bin/i3cmds/toggle-welcome +++ b/.local/bin/i3cmds/toggle-welcome @@ -2,7 +2,7 @@ # Toggles the LARBS welcome message. -PIC="$XDG_DATA_HOME/larbs/larbs.png" +PIC="${XDG_DATA_HOME:$HOME/.local/share}/larbs/larbs.png" grep LARBSWELCOME "$HOME/.xprofile" && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send -i "$PIC" "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || diff --git a/.local/bin/podentr b/.local/bin/podentr index 5bdc0ca..e2fec46 100755 --- a/.local/bin/podentr +++ b/.local/bin/podentr @@ -4,4 +4,4 @@ [ "$(pgrep -x $(basename $0) | wc -l)" -gt 2 ] && exit -echo $XDG_DATA_HOME/newsboat/queue | entr -p queueandnotify 2>/dev/null +echo ${XDG_DATA_HOME:$HOME/.local/share}/newsboat/queue | entr -p queueandnotify 2>/dev/null diff --git a/.local/bin/queueandnotify b/.local/bin/queueandnotify index 24746c8..002c2a3 100755 --- a/.local/bin/queueandnotify +++ b/.local/bin/queueandnotify @@ -3,7 +3,7 @@ # Podboat sucks. This script replaces it. # It reads the newsboat queue, queuing downloads with taskspooler. # It also removes the junk from extentions. -queuefile="$XDG_DATA_HOME/newsboat/queue" +queuefile="${XDG_DATA_HOME:$HOME/.local/share}/newsboat/queue" while read -r line; do [ -z "$line" ] && continue diff --git a/.local/bin/rssadd b/.local/bin/rssadd index 9dcdd7b..924ee52 100755 --- a/.local/bin/rssadd +++ b/.local/bin/rssadd @@ -2,7 +2,7 @@ ! echo "$1" | grep "https*://\S\+\.[A-Za-z]\+\S*" >/dev/null && notify-send "That doesn't look like a full URL." && exit -RSSFILE="$XDG_CONFIG_HOME/newsboat/urls" +RSSFILE="${XDG_CONFIG_HOME:$HOME/.config}/newsboat/urls" if awk '{print $1}' "$RSSFILE" | grep "^$1$" >/dev/null; then notify-send "You already have this RSS feed." else diff --git a/.local/bin/shortcuts b/.local/bin/shortcuts index 112d140..6ef9ce4 100755 --- a/.local/bin/shortcuts +++ b/.local/bin/shortcuts @@ -1,11 +1,11 @@ #!/usr/bin/env bash # Output locations. Unactivated progs should go to /dev/null. -shell_shortcuts="$XDG_CONFIG_HOME/shortcutrc" -ranger_shortcuts="$XDG_CONFIG_HOME/ranger/shortcuts.conf" +shell_shortcuts="${XDG_CONFIG_HOME:$HOME/.config}/shortcutrc" +ranger_shortcuts="${XDG_CONFIG_HOME:$HOME/.config}/ranger/shortcuts.conf" qute_shortcuts="/dev/null" fish_shortcuts="/dev/null" -vifm_shortcuts="$XDG_CONFIG_HOME/vifm/vifmshortcuts" +vifm_shortcuts="${XDG_CONFIG_HOME:$HOME/.config}/vifm/vifmshortcuts" # Remove, prepare files rm -f "$ranger_shortcuts" "$qute_shortcuts" 2>/dev/null @@ -14,14 +14,14 @@ printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts" # Format the `directories` file in the correct syntax and sent it to all three configs. -sed "s/\s*#.*$//;/^\s*$/d" "$XDG_CONFIG_HOME/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ +sed "s/\s*#.*$//;/^\s*$/d" "${XDG_CONFIG_HOME:$HOME/.config}/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ >(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \ >(awk '{print "map g" $1, ":cd", $2 "\nmap t" $1, ":cd", $2 "\nmap M" $1, ":cd", $2 ":mo\nmap Y" $1, ":cd", $2 ":co" }' >> "$vifm_shortcuts") \ >(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \ | awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts" # Format the `files` file in the correct syntax and sent it to both configs. -sed "s/\s*#.*$//;/^\s*$/d" "$XDG_CONFIG_HOME/files" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ +sed "s/\s*#.*$//;/^\s*$/d" "${XDG_CONFIG_HOME:$HOME/.config}/files" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ >(awk '{print "abbr", $1, "\"$EDITOR "$2"\""}' >> "$fish_shortcuts") \ >(awk '{print "map", $1, ":e", $2 "" }' >> "$vifm_shortcuts") \ | awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts" diff --git a/.local/bin/statusbar/clock b/.local/bin/statusbar/clock index f412bcb..e33cfee 100755 --- a/.local/bin/statusbar/clock +++ b/.local/bin/statusbar/clock @@ -4,7 +4,7 @@ date '+%Y %b %d (%a) %I:%M%p' case $BLOCK_BUTTON in 1) pgrep -x dunst >/dev/null && notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;; - 2) $TERMINAL -e calcurse -D $XDG_CONFIG_HOME/calcurse ;; + 2) $TERMINAL -e calcurse -D ${XDG_CONFIG_HOME:$HOME/.config}/calcurse ;; 3) pgrep -x dunst >/dev/null && notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\` - Middle click opens calcurse if installed" ;; esac diff --git a/.local/bin/statusbar/help b/.local/bin/statusbar/help index d58f5cc..d05a90c 100755 --- a/.local/bin/statusbar/help +++ b/.local/bin/statusbar/help @@ -1,7 +1,7 @@ #!/bin/sh case $BLOCK_BUTTON in - 1) groff -mom $XDG_DATA_HOME/larbs/readme.mom -Tpdf | zathura - ;; + 1) groff -mom ${XDG_DATA_HOME:$HOME/.local/share}/larbs/readme.mom -Tpdf | zathura - ;; 2) i3 restart ;; 3) pgrep -x dunst >/dev/null && notify-send "❓ Help module" "\- Left click to open LARBS guide. - Middle click to refresh i3.";; diff --git a/.local/bin/statusbar/iplocate b/.local/bin/statusbar/iplocate index 6d1038c..2f1b08b 100755 --- a/.local/bin/statusbar/iplocate +++ b/.local/bin/statusbar/iplocate @@ -6,4 +6,4 @@ # https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/ ifinstalled "geoiplookup" || exit addr="$(curl ifconfig.me 2>/dev/null)" || exit -grep "flag: " $XDG_CONFIG_HOME/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//" +grep "flag: " ${XDG_CONFIG_HOME:$HOME/.config}/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//" diff --git a/.local/bin/statusbar/mailbox b/.local/bin/statusbar/mailbox index 72d4511..28deb45 100755 --- a/.local/bin/statusbar/mailbox +++ b/.local/bin/statusbar/mailbox @@ -13,7 +13,7 @@ case $BLOCK_BUTTON in - Middle click syncs mail" ;; esac -unread="$(find $XDG_DATA_HOME/mail/*/INBOX/new/* -type f | wc -l 2>/dev/null)" +unread="$(find ${XDG_DATA_HOME:$HOME/.local/share}/mail/*/INBOX/new/* -type f | wc -l 2>/dev/null)" icon="$(cat "/tmp/imapsyncicon_$USER")" diff --git a/.local/bin/statusbar/news b/.local/bin/statusbar/news index e72ef57..85fed45 100755 --- a/.local/bin/statusbar/news +++ b/.local/bin/statusbar/news @@ -14,4 +14,4 @@ case $BLOCK_BUTTON in Note: Only one instance of newsboat (including updates) may be running at a time." ;; esac - cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed s/^0$//g)$(cat $XDG_CONFIG_HOME/newsboat/.update 2>/dev/null)" + cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed s/^0$//g)$(cat ${XDG_CONFIG_HOME:$HOME/.config}/newsboat/.update 2>/dev/null)" diff --git a/.local/bin/statusbar/weather b/.local/bin/statusbar/weather index 63415b4..8c85857 100755 --- a/.local/bin/statusbar/weather +++ b/.local/bin/statusbar/weather @@ -7,18 +7,18 @@ # You could set up a shell alias to view the full file in a pager in the # terminal if desired. This function will only be run once a day when needed. getforecast() { ping -q -c 1 1.1.1.1 >/dev/null && -curl -sf "wttr.in/$LOCATION" > "$XDG_DATA_HOME/weatherreport" || exit 1 ;} +curl -sf "wttr.in/$LOCATION" > "${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" || exit 1 ;} # Some very particular and terse stream manipulation. We get the maximum # precipication chance and the daily high and low from the downloaded file and # display them with coresponding emojis. -showweather() { printf "%s" "$(sed '16q;d' "$XDG_DATA_HOME/weatherreport" | +showweather() { printf "%s" "$(sed '16q;d' "${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" | grep -wo "[0-9]*%" | sort -rn | sed "s/^/☔ /g;1q" | tr -d '\n')" -sed '13q;d' "$XDG_DATA_HOME/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}' ;} +sed '13q;d' "${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}' ;} # The BLOCK_BUTTON bloat for clicking in i3. case $BLOCK_BUTTON in - 1) $TERMINAL -e less -Srf "$XDG_DATA_HOME/weatherreport" ;; + 1) $TERMINAL -e less -Srf "${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" ;; 2) getforecast && showweather ;; 3) pgrep -x dunst >/dev/null && notify-send "🌈 Weather module" "\- Left click for full forecast. - Middle click to update forecast. @@ -29,7 +29,7 @@ esac # The test if our forcecast is updated to the day. If it isn't download a new # weather report from wttr.in with the above function. -[ "$(stat -c %y "$XDG_DATA_HOME/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] || +[ "$(stat -c %y "${XDG_DATA_HOME:$HOME/.local/share}/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] || getforecast showweather diff --git a/.profile b/.profile index fdc94ec..d067c73 100644 --- a/.profile +++ b/.profile @@ -3,8 +3,8 @@ # Adds `~/.local/bin` to $PATH export PATH="$PATH:$(du "$HOME/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" -# Get default LARBS WM from $XDG_DATA_HOME/larbs/wm -export LARBSWM="$(cat $XDG_DATA_HOME/larbs/wm 2>/dev/null)" && +# Get default LARBS WM from ${XDG_DATA_HOME:$HOME/.local/share}/larbs/wm +export LARBSWM="$(cat ${XDG_DATA_HOME:$HOME/.local/share}/larbs/wm 2>/dev/null)" && [ "$LARBSWM" = "dwm" ] || export LARBSWM="i3" # Default programs: @@ -19,16 +19,16 @@ eval "$(sed 's/^[^#].*/export &/g;t;d' ~/.config/user-dirs.dirs)" # ~/ Clean-up: #export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs. -export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch-config" -export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" +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/wget/wgetrc" -export INPUTRC="$XDG_CONFIG_HOME/inputrc" -export ZDOTDIR="$XDG_CONFIG_HOME/zsh" -export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" +export WGETRC="${XDG_CONFIG_HOME:$HOME/.config}/wget/wgetrc" +export INPUTRC="${XDG_CONFIG_HOME:$HOME/.config}/inputrc" +export ZDOTDIR="${XDG_CONFIG_HOME:$HOME/.config}/zsh" +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/android" -export CARGO_HOME="$XDG_DATA_HOME/cargo" +export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:$HOME/.config}/android" +export CARGO_HOME="${XDG_DATA_HOME:$HOME/.local/share}/cargo" # Other program settings: export DICS="/usr/share/stardict/dic/" @@ -43,10 +43,10 @@ export LESS_TERMCAP_se="$(printf '%b' '')" export LESS_TERMCAP_us="$(printf '%b' '')" export LESS_TERMCAP_ue="$(printf '%b' '')" -[ ! -f $XDG_CONFIG_HOME/shortcutrc ] && shortcuts >/dev/null 2>&1 +[ ! -f ${XDG_CONFIG_HOME:$HOME/.config}/shortcutrc ] && shortcuts >/dev/null 2>&1 # Start graphical server on tty1 if not already running. [ "$(tty)" = "/dev/tty1" ] && ! pgrep -x Xorg >/dev/null && exec startx # Switch escape and caps if tty and no passwd required: -sudo -n loadkeys $XDG_DATA_HOME/larbs/ttymaps.kmap 2>/dev/null +sudo -n loadkeys ${XDG_DATA_HOME:$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null diff --git a/.xprofile b/.xprofile index 853aa58..2f812e5 100644 --- a/.xprofile +++ b/.xprofile @@ -10,7 +10,7 @@ dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XA mpd & # music player daemon-you might prefer it as a service though remaps & # run the remaps script, switching caps/esc and more; check it for more info setbg & # set the background with the `setbg` script -#xrdb $XDG_CONFIG_HOME/Xresources & # Uncomment to use Xresources colors/settings on startup +#xrdb ${XDG_CONFIG_HOME:$HOME/.config}/Xresources & # Uncomment to use Xresources colors/settings on startup xcompmgr & # xcompmgr for transparency $STATUSBAR & # start the statusbar dunst & # dunst for notifications