diff --git a/.config/aliasrc b/.config/aliasrc index 1806d50..34bf437 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 ~/.config/shortcutrc" \ + ref="shortcuts >/dev/null; source $XDG_CONFIG_HOME/shortcutrc" \ weath="less -S $XDG_DATA_HOME/weatherreport" \ diff --git a/.config/directories b/.config/directories index 24bdd21..cd3aafb 100644 --- a/.config/directories +++ b/.config/directories @@ -5,6 +5,6 @@ D ~/Downloads m ~/Music pp ~/Pictures vv ~/Videos -cf ~/.config +cf $XDG_CONFIG_HOME sc ~/.local/bin mn /mnt diff --git a/.config/files b/.config/files index b34f184..6aee460 100644 --- a/.config/files +++ b/.config/files @@ -1,15 +1,15 @@ -bf ~/.config/files -bd ~/.config/directories -bw ~/.config/bookmarks -cfa ~/.config/aliasrc +bf $XDG_CONFIG_HOME/files +bd $XDG_CONFIG_HOME/directories +bw $XDG_CONFIG_HOME/bookmarks +cfa $XDG_CONFIG_HOME/aliasrc cfz $ZDOTDIR/.zshrc -cfv ~/.config/nvim/init.vim -cfm ~/.config/mutt/muttrc +cfv $XDG_CONFIG_HOME/nvim/init.vim +cfm $XDG_CONFIG_HOME/mutt/muttrc cfd ~/.Xdefaults -cfu ~/.config/newsboat/urls -cfn ~/.config/newsboat/config -cfmb ~/.config/ncmpcpp/bindings -cfmc ~/.config/ncmpcpp/config -cfk ~/.config/sxhkd/sxhkdrc -cfi ~/.config/i3/config -cfb ~/.config/i3blocks/config +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 diff --git a/.config/lf/lfrc b/.config/lf/lfrc index 27900a1..3b4cc14 100644 --- a/.config/lf/lfrc +++ b/.config/lf/lfrc @@ -2,7 +2,7 @@ # Basic vars set shell sh -set previewer ~/.config/lf/scope +set previewer $XDG_CONFIG_HOME/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- ~/.config/directories | fzf)" && + dest="$(cut -d' ' -f2- $XDG_CONFIG_HOME/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- ~/.config/directories | fzf)" && + dest="$(cut -d' ' -f2- $XDG_CONFIG_HOME/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 ~/.config/directories | fzf)" +map c $lf -remote "send $id cd $(cut -d' ' -f2 $XDG_CONFIG_HOME/directories | fzf)" map $lf -remote "send $id select '$(fzf)'" -map J $lf -remote "send $id cd $(cut -d' ' -f2 ~/.config/directories | fzf)" +map J $lf -remote "send $id cd $(cut -d' ' -f2 $XDG_CONFIG_HOME/directories | fzf)" map gh map g top map D delete diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf index a0548ec..8a30ca5 100644 --- a/.config/mpd/mpd.conf +++ b/.config/mpd/mpd.conf @@ -1,10 +1,10 @@ -db_file "~/.config/mpd/database" -log_file "~/.config/mpd/log" +db_file "$XDG_CONFIG_HOME/mpd/database" +log_file "$XDG_CONFIG_HOME/mpd/log" music_directory "~/Music" -playlist_directory "~/.config/mpd/playlists" -pid_file "~/.config/mpd/pid" -state_file "~/.config/mpd/state" -sticker_file "~/.config/mpd/sticker.sql" +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" auto_update "yes" diff --git a/.config/ncmpcpp/config b/.config/ncmpcpp/config index 40fcbc6..d2e1132 100644 --- a/.config/ncmpcpp/config +++ b/.config/ncmpcpp/config @@ -3,7 +3,7 @@ ## or $XDG_CONFIG_HOME/ncmpcpp/config and set up your preferences. ## ############################################################################## # -ncmpcpp_directory = ~/.config/ncmpcpp +ncmpcpp_directory = $XDG_CONFIG_HOME/ncmpcpp # ## ## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index d8b0ba2..ae94ae1 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,13 +1,13 @@ let mapleader ="," -if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) +if ! filereadable(expand('$XDG_CONFIG_HOME/nvim/autoload/plug.vim')) echo "Downloading junegunn/vim-plug to manage plugins..." - silent !mkdir -p ~/.config/nvim/autoload/ - silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim + 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 autocmd VimEnter * PlugInstall endif -call plug#begin('~/.config/nvim/plugged') +call plug#begin('$XDG_CONFIG_HOME/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 71fd2a2..5b1acd2 100755 --- a/.config/ranger/commands.py +++ b/.config/ranger/commands.py @@ -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 ~/.config/ranger/rc.conf: map fzf_select +# Now, simply bind this function to a key, by adding this to your $XDG_CONFIG_HOME/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 51c5dd1..f6ee93f 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 -- "~/.config" ++ cf -- "$XDG_CONFIG_HOME" + 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 ~/.config, 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 $XDG_CONFIG_HOME, 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 ~/.config/wall.png for your background) + + bg -- (for i3 users) makes an image your background (assuming i3 is looking at $XDG_CONFIG_HOME/wall.png 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 89b4b8c..ff0d506 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 ~/.config/ranger/scope.sh +set preview_script $XDG_CONFIG_HOME/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 ~/.config/ranger/shortcuts.conf +source $XDG_CONFIG_HOME/ranger/shortcuts.conf diff --git a/.config/sxiv/exec/key-handler b/.config/sxiv/exec/key-handler index d9f1825..e096f6e 100755 --- a/.config/sxiv/exec/key-handler +++ b/.config/sxiv/exec/key-handler @@ -4,12 +4,12 @@ do case "$1" in "w") setbg "$file" & ;; "c") - [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/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/directories | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")" [ -z "$destdir" ] && exit cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." & ;; "m") - [ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ~/.config/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/directories | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")" [ -z "$destdir" ] && 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 b327786..ed77ea8 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -1,5 +1,5 @@ " vim: filetype=vifm -source ~/.config/vifm/vifmshortcuts +source $XDG_CONFIG_HOME/vifm/vifmshortcuts set vicmd=$EDITOR set syscalls diff --git a/.local/bin/cron/crontog b/.local/bin/cron/crontog index 67f620b..9889d76 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 ~/.config/cronsaved ] && crontab - < ~/.config/cronsaved && rm ~/.config/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > ~/.config/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.") +([ -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.") diff --git a/.local/bin/statusbar/clock b/.local/bin/statusbar/clock index d17f3c6..f412bcb 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 ~/.config/calcurse ;; + 2) $TERMINAL -e calcurse -D $XDG_CONFIG_HOME/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/iplocate b/.local/bin/statusbar/iplocate index 4ca4f10..6d1038c 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: " ~/.config/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//" +grep "flag: " $XDG_CONFIG_HOME/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//" diff --git a/.local/bin/statusbar/news b/.local/bin/statusbar/news index a8842ad..e72ef57 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 ~/.config/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/newsboat/.update 2>/dev/null)" diff --git a/.local/share/larbs/getkeys/sxiv b/.local/share/larbs/getkeys/sxiv index df5cb1e..4031039 100644 --- a/.local/share/larbs/getkeys/sxiv +++ b/.local/share/larbs/getkeys/sxiv @@ -12,4 +12,4 @@ sxiv is the image viewer. r - Reload image if changed m - Mark/unmark image w - Zoom to fit window - ctrl-x - Run external command (see ~/.config/sxiv/exec/key-handler for options) + ctrl-x - Run external command (see $XDG_CONFIG_HOME/sxiv/exec/key-handler for options) diff --git a/.local/share/larbs/readme.mom b/.local/share/larbs/readme.mom index c46b1a8..03151a7 100644 --- a/.local/share/larbs/readme.mom +++ b/.local/share/larbs/readme.mom @@ -64,7 +64,7 @@ Below in this document, there is information about where to change programs/comp .PP Additionally, while this isn't a part of the desktop environment, the default editing mode in the shell is using vi bindings. If you want to learn more of this, run \f(CWMod+Shift+E\fP and type and select the option for "vi mode in shell". -This setting can be changed if you don't like it by deleting or commenting out the contents of \f(CW~/.config/inputrc\fP. +This setting can be changed if you don't like it by deleting or commenting out the contents of \f(CW$XDG_CONFIG_HOME/inputrc\fP. .HEADING 2 "The Status Bar" .PP To the left, you'll see the numbers of your current workspace/tag(s). @@ -73,7 +73,7 @@ Each module on the right of the status bar is a script located in \f(CW~/.local/ You can see what they do and modify them from there. I'm sure you can figure it out. .PP -In i3, the program i3blocks controls what modules appear in the statusbar; its config file is in \f(CW~/.config/i3blocks/config\fP. +In i3, the program i3blocks controls what modules appear in the statusbar; its config file is in \f(CW$XDG_CONFIG_HOME/i3blocks/config\fP. .HEADING 2 "Deeper Tutorials" .PP Press \f(CWmod+shift+e\fP at any time to get a menu of programs to watch videos about streaming directly from YouTube. @@ -252,7 +252,7 @@ buttons, screen brightness, email, web browsing buttons, etc.) to what you would expect. .HEADING 1 "Configuration" .PP -Dotfiles/settings files are located in \f(CW~/.config/\fP, note that dotfiles to programs not included in LARBS are there as well by requests of users. I do not necessarily maintain all these dotfiles, but they remain as legacy. +Dotfiles/settings files are located in \f(CW$XDG_CONFIG_HOME/\fP, note that dotfiles to programs not included in LARBS are there as well by requests of users. I do not necessarily maintain all these dotfiles, but they remain as legacy. .PP Suckless programs, st (the terminal) and dmenu among others do not have traditional config files, but have their source code location in \f(CW~/.local/src/\fP. There you can modify their \f(CWconfig.h\fP files, then \f(CWsudo make install\fP to reinstall. @@ -278,7 +278,7 @@ In the Linux terminal, those binds have other more important purposes, so you ca Additionally, I've set vim to use the clipboard as the default buffer, which means when you copy or delete something in vim, it will be in your system clipboard as well, so you can \f(CWctrl-v\fP it into your browser instance, etc. You can also paste material copied from other programs into vim with the typical vim bindings. .HEADING 2 "How do I change the background/wallpaper?" .PP -The system will always read the file \f(CW~/.config/wall.png\fP as the wallpaper. +The system will always read the file \f(CW$XDG_CONFIG_HOME/wall.png\fP as the wallpaper. The script \f(CWsetbg\fP, if run on an image will set it as the persistent background. When using the file manager, you can simply hover over an image name and type \f(CWbg\fP and this will run \f(CWsetbg\fP. .HEADING 2 "How I change the colorscheme?" @@ -296,7 +296,7 @@ You can sync your mail by pressing \f(CWMod+F8\fP and you can set a cronjob to s .HEADING 2 "How do I set up my music?" .PP By default, mpd, the music daemon assumes that \f(CW~/Music\fP is your music directory. -This can be changed in \f(CW~/.config/mpd/mpd.conf\fP. +This can be changed in \f(CW$XDG_CONFIG_HOME/mpd/mpd.conf\fP. When you add music to your music folder, you may have to run \f(CWmpc up\fP in the terminal to update the database. mpd is controlled by ncmpcpp, which is accessible by \f(CWMod+m\fP. .HEADING 2 "How do I update LARBS?" diff --git a/.profile b/.profile index 74a99bf..b62ae21 100644 --- a/.profile +++ b/.profile @@ -40,7 +40,7 @@ export LESS_TERMCAP_se="$(printf '%b' '')" export LESS_TERMCAP_us="$(printf '%b' '')" export LESS_TERMCAP_ue="$(printf '%b' '')" -[ ! -f ~/.config/shortcutrc ] && shortcuts >/dev/null 2>&1 +[ ! -f $XDG_CONFIG_HOME/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 diff --git a/.xprofile b/.xprofile index 677eff1..853aa58 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 ~/.config/Xresources & # Uncomment to use Xresources colors/settings on startup +#xrdb $XDG_CONFIG_HOME/Xresources & # Uncomment to use Xresources colors/settings on startup xcompmgr & # xcompmgr for transparency $STATUSBAR & # start the statusbar dunst & # dunst for notifications diff --git a/README.md b/README.md index 069055d..a788148 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ These are the dotfiles deployed by [LARBS](https://larbs.xyz) and as seen on [my - tmux - other stuff like xdg default programs, inputrc and more, etc. - I try to minimize what's directly in `~` so: - - All configs that can be in `~/.config/` are. - - Some environmental variables have been set in `~/.zprofile` to move configs into `~/.config/` + - All configs that can be in `$XDG_CONFIG_HOME/` are. + - Some environmental variables have been set in `~/.zprofile` to move configs into `$XDG_CONFIG_HOME/` - Bookmarks in text files used by various scripts (like `~/.local/bin/shortcuts`) - - File bookmarks in `~/.config/files` - - Directory bookmarks in `~/.config/directories` + - File bookmarks in `$XDG_CONFIG_HOME/files` + - Directory bookmarks in `$XDG_CONFIG_HOME/directories` ## Want even more?