configs
This commit is contained in:
commit
30e94a06db
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
chromium/Variations
|
||||
27
dunst/dunstrc
Normal file
27
dunst/dunstrc
Normal file
@ -0,0 +1,27 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
width = 370
|
||||
height = 350
|
||||
offset = 0x19
|
||||
padding = 2
|
||||
horizontal_padding = 2
|
||||
transparency = 25
|
||||
font = Monospace 12
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
[urgency_low]
|
||||
background = "#1d2021"
|
||||
foreground = "#928374"
|
||||
timeout = 3
|
||||
|
||||
[urgency_normal]
|
||||
foreground = "#ebdbb2"
|
||||
background = "#458588"
|
||||
timeout = 5
|
||||
|
||||
[urgency_critical]
|
||||
background = "#1cc24d"
|
||||
foreground = "#ebdbb2"
|
||||
frame_color = "#fabd2f"
|
||||
timeout = 10
|
||||
47
firefox/larbs.js
Normal file
47
firefox/larbs.js
Normal file
@ -0,0 +1,47 @@
|
||||
// These are changes made on top of the Arkenfox JS file to tweak it as
|
||||
// desired. Any of these settings can be overridden by the user.
|
||||
|
||||
// Disable the Twitter/R*ddit/Faceberg ads in the URL bar:
|
||||
user_pref("browser.urlbar.quicksuggest.enabled", false);
|
||||
user_pref("browser.urlbar.suggest.topsites", false); // [FF78+]
|
||||
|
||||
// Do not suggest web history in the URL bar:
|
||||
user_pref("browser.urlbar.suggest.history", false);
|
||||
|
||||
// Do not prefil forms:
|
||||
user_pref("signon.prefillForms", false);
|
||||
|
||||
// Do not autocomplete in the URL bar:
|
||||
user_pref("browser.urlbar.autoFill", false);
|
||||
|
||||
// Enable the addition of search keywords:
|
||||
user_pref("keyword.enabled", true);
|
||||
|
||||
// Allow access to http (i.e. not https) sites:
|
||||
user_pref("dom.security.https_only_mode", false);
|
||||
|
||||
// Keep cookies until expiration or user deletion:
|
||||
user_pref("network.cookie.lifetimePolicy", 0);
|
||||
|
||||
user_pref("dom.webnotifications.serviceworker.enabled", false);
|
||||
|
||||
// Disable push notifications:
|
||||
user_pref("dom.push.enabled", false);
|
||||
|
||||
// Disable the pocket antifeature:
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
|
||||
// Don't autodelete cookies on shutdown:
|
||||
user_pref("privacy.clearOnShutdown.cookies", false);
|
||||
|
||||
// Enable custom userChrome.js:
|
||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||
|
||||
// This could otherwise cause some issues on bank logins and other annoying sites:
|
||||
user_pref("network.http.referer.XOriginPolicy", 0);
|
||||
|
||||
// Disable Firefox sync and its menu entries
|
||||
user_pref("identity.fxaccounts.enabled", false);
|
||||
|
||||
// Fix the issue where right mouse button instantly clicks
|
||||
user_pref("ui.context_menus.after_mouseup", true);
|
||||
40
fontconfig/fonts.conf
Executable file
40
fontconfig/fonts.conf
Executable file
@ -0,0 +1,40 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Linux Libertine</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>FontAwesome</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>FontAwesome</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer>
|
||||
<family>Linux Biolinum</family>
|
||||
<family>Joy Pixels</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>FontAwesome</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Noto Sans Mono</family>
|
||||
<family>Liberation Mono</family>
|
||||
<family>FontAwesome</family>
|
||||
<family>Braille</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
19
gtk-2.0/gtkrc-2.0
Normal file
19
gtk-2.0/gtkrc-2.0
Normal file
@ -0,0 +1,19 @@
|
||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "~/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Arc-Gruvbox"
|
||||
gtk-icon-theme-name="Adwaita"
|
||||
gtk-font-name="Sans 10"
|
||||
gtk-cursor-theme-name="Adwaita"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_TEXT
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintfull"
|
||||
gtk-xft-rgba="rgb"
|
||||
2
gtk-3.0/bookmarks
Normal file
2
gtk-3.0/bookmarks
Normal file
@ -0,0 +1,2 @@
|
||||
file:///home/victor/pix/memes
|
||||
file:///home/victor/gits/stable-diffusion-webui/models
|
||||
16
gtk-3.0/settings.ini
Normal file
16
gtk-3.0/settings.ini
Normal file
@ -0,0 +1,16 @@
|
||||
[Settings]
|
||||
gtk-theme-name=Arc-Gruvbox
|
||||
gtk-icon-theme-name=Adwaita
|
||||
gtk-font-name=Sans 10
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_TEXT
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintfull
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-cursor-theme-name=Adwaita
|
||||
4
lf/cleaner
Executable file
4
lf/cleaner
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
if [ -n "$FIFO_UEBERZUG" ]; then
|
||||
printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG"
|
||||
fi
|
||||
77
lf/icons
Normal file
77
lf/icons
Normal file
@ -0,0 +1,77 @@
|
||||
di 📁
|
||||
fi 📃
|
||||
tw 🤝
|
||||
ow 📂
|
||||
ln ⛓
|
||||
or ❌
|
||||
ex 🎯
|
||||
*.txt ✍
|
||||
*.mom ✍
|
||||
*.me ✍
|
||||
*.ms ✍
|
||||
*.avif 🖼
|
||||
*.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 📦
|
||||
*.z64 🎮
|
||||
*.v64 🎮
|
||||
*.n64 🎮
|
||||
*.gba 🎮
|
||||
*.nes 🎮
|
||||
*.gdi 🎮
|
||||
*.1 ℹ
|
||||
*.nfo ℹ
|
||||
*.info ℹ
|
||||
*.log 📙
|
||||
*.iso 📀
|
||||
*.img 📀
|
||||
*.bib 🎓
|
||||
*.ged 👪
|
||||
*.part 💔
|
||||
*.torrent 🔽
|
||||
*.jar ♨
|
||||
*.java ♨
|
||||
153
lf/lfrc
Normal file
153
lf/lfrc
Normal file
@ -0,0 +1,153 @@
|
||||
# Luke's lf settings
|
||||
|
||||
|
||||
# Note on Image Previews
|
||||
# For those wanting image previews, like this system, there are four steps to
|
||||
# set it up. These are done automatically for LARBS users, but I will state
|
||||
# them here for others doing it manually.
|
||||
#
|
||||
# 1. ueberzug must be installed.
|
||||
# 2. The scope file (~/.config/lf/scope for me), must have a command similar to
|
||||
# mine to generate ueberzug images.
|
||||
# 3. A `set cleaner` line as below is a cleaner script.
|
||||
# 4. lf should be started through a wrapper script (~/.local/bin/lfub for me)
|
||||
# that creates the environment for ueberzug. This command can be be aliased
|
||||
# in your shellrc (`alias lf="lfub") or if set to a binding, should be
|
||||
# called directly instead of normal lf.
|
||||
|
||||
# Basic vars
|
||||
set shellopts '-eu'
|
||||
set ifs "\n"
|
||||
set scrolloff 10
|
||||
set icons
|
||||
set period 1
|
||||
set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml"
|
||||
set cleaner '~/.config/lf/cleaner'
|
||||
set previewer '~/.config/lf/scope'
|
||||
set autoquit true
|
||||
|
||||
# cmds/functions
|
||||
cmd open ${{
|
||||
case $(file --mime-type "$(readlink -f $f)" -b) in
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) localc $fx ;;
|
||||
image/vnd.djvu|application/pdf|application/octet-stream|application/postscript) setsid -f zathura $fx >/dev/null 2>&1 ;;
|
||||
text/*|application/json|inode/x-empty|application/x-subrip) $EDITOR $fx;;
|
||||
image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;;
|
||||
image/svg+xml) display -- $f ;;
|
||||
image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|avif\|tif\|ico\)\(_large\)*$" |
|
||||
setsid -f sxiv -aio 2>/dev/null | while read -r file; do
|
||||
[ -z "$file" ] && continue
|
||||
lf -remote "send select \"$file\""
|
||||
lf -remote "send toggle"
|
||||
done &
|
||||
;;
|
||||
audio/*|video/x-ms-asf) mpv --audio-display=no $f ;;
|
||||
video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;;
|
||||
application/pdf|application/vnd.djvu|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;;
|
||||
application/pgp-encrypted) $EDITOR $fx ;;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document|application/vnd.oasis.opendocument.text|application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|application/octet-stream|application/vnd.oasis.opendocument.spreadsheet|application/vnd.oasis.opendocument.spreadsheet-template|application/vnd.openxmlformats-officedocument.presentationml.presentation|application/vnd.oasis.opendocument.presentation-template|application/vnd.oasis.opendocument.presentation|application/vnd.ms-powerpoint|application/vnd.oasis.opendocument.graphics|application/vnd.oasis.opendocument.graphics-template|application/vnd.oasis.opendocument.formula|application/vnd.oasis.opendocument.database) setsid -f libreoffice $fx >/dev/null 2>&1 ;;
|
||||
*) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
|
||||
|
||||
cmd extract ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
printf "%s\n\t" "$fx"
|
||||
printf "extract?[y/N]"
|
||||
read ans
|
||||
[ $ans = "y" ] && aunpack $fx
|
||||
}}
|
||||
|
||||
cmd delete ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
printf "%s\n\t" "$fx"
|
||||
printf "delete?[y/N]"
|
||||
read ans
|
||||
[ $ans = "y" ] && rm -rf -- $fx
|
||||
}}
|
||||
|
||||
cmd moveto ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
clear; echo "Move to where?"
|
||||
dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
|
||||
for x in $fx; do
|
||||
eval mv -iv \"$x\" \"$dest\"
|
||||
done &&
|
||||
notify-send "🚚 File(s) moved." "File(s) moved to $dest."
|
||||
}}
|
||||
|
||||
cmd copyto ${{
|
||||
clear; tput cup $(($(tput lines)/3)); tput bold
|
||||
set -f
|
||||
clear; echo "Copy to where?"
|
||||
dest="$(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|')" &&
|
||||
for x in $fx; do
|
||||
eval cp -ivr \"$x\" \"$dest\"
|
||||
done &&
|
||||
notify-send "📋 File(s) copied." "File(s) copies to $dest."
|
||||
}}
|
||||
|
||||
cmd setbg "$1"
|
||||
|
||||
cmd bulkrename ${{
|
||||
tmpfile_old="$(mktemp)"
|
||||
tmpfile_new="$(mktemp)"
|
||||
|
||||
[ -n "$fs" ] && fs=$(basename -a $fs) || fs=$(ls)
|
||||
|
||||
echo "$fs" > "$tmpfile_old"
|
||||
echo "$fs" > "$tmpfile_new"
|
||||
$EDITOR "$tmpfile_new"
|
||||
|
||||
[ "$(wc -l < "$tmpfile_old")" -eq "$(wc -l < "$tmpfile_new")" ] || { rm -f "$tmpfile_old" "$tmpfile_new"; exit 1; }
|
||||
|
||||
paste "$tmpfile_old" "$tmpfile_new" | while IFS="$(printf '\t')" read -r src dst
|
||||
do
|
||||
[ "$src" = "$dst" ] || [ -e "$dst" ] || mv -- "$src" "$dst"
|
||||
done
|
||||
|
||||
rm -f "$tmpfile_old" "$tmpfile_new"
|
||||
lf -remote "send $id unselect"
|
||||
}}
|
||||
|
||||
# Bindings
|
||||
map <c-f> $lf -remote "send $id select \"$(fzf)\""
|
||||
map J $lf -remote "send $id cd $(sed -e 's/\s*#.*//' -e '/^$/d' -e 's/^\S*\s*//' ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
|
||||
map gh
|
||||
map g top
|
||||
map D delete
|
||||
map E extract
|
||||
map C copyto
|
||||
map M moveto
|
||||
map <c-n> push :mkdir<space>
|
||||
map <c-r> reload
|
||||
map <c-s> set hidden!
|
||||
map <enter> shell
|
||||
map x $$f
|
||||
map X !$f
|
||||
map o &mimeopen "$f"
|
||||
map O $mimeopen --ask "$f"
|
||||
|
||||
map A :rename; cmd-end # at the very end
|
||||
map c push A<c-u> # new rename
|
||||
map I :rename; cmd-home # at the very beginning
|
||||
map i :rename # before extension
|
||||
map a :rename; cmd-right # after extension
|
||||
map B bulkrename
|
||||
map b $setbg $f
|
||||
|
||||
map <c-e> down
|
||||
map <c-y> up
|
||||
map V push :!nvim<space>
|
||||
|
||||
map W $setsid -f $TERMINAL >/dev/null 2>&1
|
||||
|
||||
map Y $printf "%s" "$fx" | xclip -selection clipboard
|
||||
|
||||
# Source Bookmarks
|
||||
source "~/.config/lf/shortcutrc"
|
||||
52
lf/scope
Executable file
52
lf/scope
Executable file
@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
|
||||
# File preview handler for lf.
|
||||
|
||||
set -C -f
|
||||
IFS="$(printf '%b_' '\n')"; IFS="${IFS%_}"
|
||||
|
||||
image() {
|
||||
if [ -f "$1" ] && [ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ] && command -V ueberzug >/dev/null 2>&1; then
|
||||
printf '{"action": "add", "identifier": "PREVIEW", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$4" "$5" "$(($2-1))" "$(($3-1))" "$1" > "$FIFO_UEBERZUG"
|
||||
else
|
||||
mediainfo "$6"
|
||||
fi
|
||||
}
|
||||
|
||||
ifub() {
|
||||
[ -n "$DISPLAY" ] && [ -z "$WAYLAND_DISPLAY" ] && command -V ueberzug >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Note that the cache file name is a function of file information, meaning if
|
||||
# an image appears in multiple places across the machine, it will not have to
|
||||
# be regenerated once seen.
|
||||
|
||||
case "$(file --dereference --brief --mime-type -- "$1")" in
|
||||
image/avif) CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE" ] && convert "$1" "$CACHE.jpg"
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5" "$1" ;;
|
||||
image/*) image "$1" "$2" "$3" "$4" "$5" "$1" ;;
|
||||
text/html) lynx -width="$4" -display_charset=utf-8 -dump "$1" ;;
|
||||
text/troff) man ./ "$1" | col -b ;;
|
||||
text/* | */xml | application/json) bat --terminal-width "$(($4-2))" -f "$1" ;;
|
||||
audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;;
|
||||
video/* )
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE" ] && ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0
|
||||
image "$CACHE" "$2" "$3" "$4" "$5" "$1"
|
||||
;;
|
||||
*/pdf)
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE.jpg" ] && pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE"
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5" "$1"
|
||||
;;
|
||||
*/epub+zip|*/mobi*)
|
||||
CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
|
||||
[ ! -f "$CACHE.jpg" ] && gnome-epub-thumbnailer "$1" "$CACHE.jpg"
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5" "$1"
|
||||
;;
|
||||
application/*zip) atool --list -- "$1" ;;
|
||||
*opendocument*) odt2txt "$1" ;;
|
||||
application/pgp-encrypted) gpg -d -- "$1" ;;
|
||||
esac
|
||||
exit 1
|
||||
29
lf/shortcutrc
Normal file
29
lf/shortcutrc
Normal file
@ -0,0 +1,29 @@
|
||||
map Ccac cd "/home/victor/.cache"
|
||||
map Ccf cd "/home/victor/.config"
|
||||
map CD cd "/home/victor/down"
|
||||
map Cd cd "/home/victor/dox"
|
||||
map Cdt cd "/home/victor/.local/share"
|
||||
map Crr cd "/home/victor/.local/src"
|
||||
map Ch cd "/home/victor"
|
||||
map Cm cd "/home/victor/music"
|
||||
map Cmn cd "/mnt"
|
||||
map Cpp cd "/home/victor/pix"
|
||||
map Csc cd "/home/victor/.local/bin"
|
||||
map Csrc cd "/home/victor/.local/src"
|
||||
map Cvv cd "/home/victor/vids"
|
||||
map Ebf $$EDITOR "/home/victor/.config/shell/bm-files"
|
||||
map Ebd $$EDITOR "/home/victor/.config/shell/bm-dirs"
|
||||
map Ecfx $$EDITOR "/home/victor/.config/x11/xresources"
|
||||
map Ecfb $$EDITOR "~/.local/src/dwmblocks/config.h"
|
||||
map Ecfv $$EDITOR "/home/victor/.config/nvim/init.lua"
|
||||
map Ecfz $$EDITOR "/home/victor/.config/zsh/.zshrc"
|
||||
map Ecfa $$EDITOR "/home/victor/.config/shell/aliasrc"
|
||||
map Ecfp $$EDITOR "/home/victor/.config/shell/profile"
|
||||
map Ecfm $$EDITOR "/home/victor/.config/mutt/muttrc"
|
||||
map Ecfn $$EDITOR "/home/victor/.config/newsboat/config"
|
||||
map Ecfu $$EDITOR "/home/victor/.config/newsboat/urls"
|
||||
map Ecfmb $$EDITOR "/home/victor/.config/ncmpcpp/bindings"
|
||||
map Ecfmc $$EDITOR "/home/victor/.config/ncmpcpp/config"
|
||||
map Ecfl $$EDITOR "/home/victor/.config/lf/lfrc"
|
||||
map EcfL $$EDITOR "/home/victor/.config/lf/scope"
|
||||
map EcfX $$EDITOR "/home/victor/.config/sxiv/exec/key-handler"
|
||||
25
mimeapps.list
Normal file
25
mimeapps.list
Normal file
@ -0,0 +1,25 @@
|
||||
[Default Applications]
|
||||
|
||||
# xdg-open will use these settings to determine how to open filetypes.
|
||||
# These .desktop entries can also be seen and changed in ~/.local/share/applications/
|
||||
|
||||
text/x-shellscript=text.desktop;
|
||||
x-scheme-handler/magnet=torrent.desktop;
|
||||
application/x-bittorrent=torrent.desktop;
|
||||
x-scheme-handler/mailto=thunderbird.desktop;
|
||||
text/plain=text.desktop;
|
||||
application/postscript=pdf.desktop;
|
||||
application/pdf=pdf.desktop;
|
||||
image/png=img.desktop;
|
||||
image/jpeg=img.desktop;
|
||||
image/gif=img.desktop;
|
||||
application/rss+xml=rss.desktop
|
||||
video/x-matroska=video.desktop
|
||||
video/mp4=video.desktop
|
||||
x-scheme-handler/lbry=lbry.desktop
|
||||
inode/directory=file.desktop
|
||||
text/html=librewolf.desktop
|
||||
x-scheme-handler/http=librewolf.desktop
|
||||
x-scheme-handler/https=librewolf.desktop
|
||||
x-scheme-handler/about=librewolf.desktop
|
||||
x-scheme-handler/unknown=librewolf.desktop
|
||||
21
mpd/mpd.conf
Normal file
21
mpd/mpd.conf
Normal file
@ -0,0 +1,21 @@
|
||||
music_directory "~/Music"
|
||||
playlist_directory "~/.config/mpd/playlists"
|
||||
|
||||
auto_update "yes"
|
||||
bind_to_address "127.0.0.1"
|
||||
restore_paused "yes"
|
||||
max_output_buffer_size "16384"
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse"
|
||||
#type "alsa"
|
||||
#name "ALSA"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer feed"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
5
mpv/input.conf
Normal file
5
mpv/input.conf
Normal file
@ -0,0 +1,5 @@
|
||||
l seek 5
|
||||
h seek -5
|
||||
j seek -60
|
||||
k seek 60
|
||||
S cycle sub
|
||||
47
mpv/mpv.conf
Normal file
47
mpv/mpv.conf
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
# Enable caching
|
||||
cache=yes
|
||||
cache-default=512
|
||||
cache-file=./cache
|
||||
|
||||
# Save timestamps to a file
|
||||
osd-fractions=yes
|
||||
osd-status-msg="[$timestamp] ${filename/no-ext} [${duration} / ${playlist-pos-1}/${playlist-count}]"
|
||||
|
||||
# Recommended video output settings
|
||||
vo=gpu
|
||||
gpu-context=auto
|
||||
hwdec=auto
|
||||
|
||||
# Audio settings
|
||||
audio-channels=auto
|
||||
|
||||
# Subtitle settings
|
||||
sub-auto=fuzzy
|
||||
|
||||
# Volume normalization
|
||||
volume-max=100
|
||||
volume-normalization=yes
|
||||
|
||||
# Mouse input settings
|
||||
input-cursor=yes
|
||||
mouse-movements=yes
|
||||
mouse-speed=1.0
|
||||
|
||||
# Default playback speed
|
||||
speed=1.0
|
||||
|
||||
# Skip forward/backward in seconds
|
||||
osd-duration=1000
|
||||
input-sec-up="seek +10"
|
||||
input-sec-down="seek -10"
|
||||
|
||||
# Display video info
|
||||
msg-level=all=status
|
||||
|
||||
|
||||
[extension.webm]
|
||||
loop-playlist=yes
|
||||
loop-playlist-start=inf
|
||||
loop-file=inf
|
||||
|
||||
21
mpv/script_modules/mpvSockets/LICENSE
Normal file
21
mpv/script_modules/mpvSockets/LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Wis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
76
mpv/script_modules/mpvSockets/README.md
Normal file
76
mpv/script_modules/mpvSockets/README.md
Normal file
@ -0,0 +1,76 @@
|
||||
# mpvSockets
|
||||
create one sockets per mpv instance (with the instance's process **ID** (PID), (**unique**)), instead of one socket for the last started instance
|
||||
|
||||
dangling sockets for crashed or killed instances is an issue,
|
||||
not sure if this script should handle/remove them or the clients/users, or both.
|
||||
|
||||
# Installation
|
||||
Download the single script file to your mpv-scripts-directory
|
||||
## Linux / unixes:
|
||||
``` bash
|
||||
curl "https://raw.githubusercontent.com/wis/mpvSockets/master/mpvSockets.lua" --create-dirs -o "$Your_Mpv_Scripts_Directory_Location/mpvSockets.lua"
|
||||
```
|
||||
if you're on Linux, most likely the location is `~/.config/mpv/scripts`, so run this before:
|
||||
``` bash
|
||||
$Your_Mpv_Scripts_Directory_Location=$HOME/config/mpv/scripts
|
||||
```
|
||||
## Windows (untested)
|
||||
powershell:
|
||||
``` powershell
|
||||
Invoke-WebRequest -OutFile "$env:LOCALAPPDATA\mpv\scripts\mpvSockets.lua" "https://raw.githubusercontent.com/wis/mpvSockets/master/mpvSockets.lua"
|
||||
```
|
||||
|
||||
# Usage, with Mpv's [JSON IPC](https://github.com/mpv-player/mpv/blob/master/DOCS/man/ipc.rst)
|
||||
## Linux / unixes (unix sockets):
|
||||
a script that pauses all running mpv instances:
|
||||
bash:
|
||||
``` bash
|
||||
#!/bin/bash
|
||||
for i in $(ls /tmp/mpvSockets/*); do
|
||||
echo '{ "command": ["set_property", "pause", true] }' | socat - "$i";
|
||||
done
|
||||
# Socat is a command line based utility that establishes two bidirec-tional byte streams and transfers data between them.
|
||||
# available on Linux and FreeBSD, propably most unixes. you can also use
|
||||
```
|
||||
|
||||
## Windows (named pipes):
|
||||
quote from https://mpv.io/manual/stable/#command-prompt-example
|
||||
> Unfortunately, it's not as easy to test the IPC protocol on Windows, since Windows ports of socat (in Cygwin and MSYS2) don't understand named pipes. In the absence of a simple tool to send and receive from bidirectional pipes, the echo command can be used to send commands, but not receive replies from the command prompt.
|
||||
>
|
||||
> Assuming mpv was started with:
|
||||
>
|
||||
> `mpv file.mkv --input-ipc-server=\\.\pipe\mpvsocket`
|
||||
> You can send commands from a command prompt:
|
||||
>
|
||||
> `echo show-text ${playback-time} >\\.\pipe\mpvsocket`
|
||||
To be able to simultaneously read and write from the IPC pipe, like on Linux, it's necessary to write an external program that uses overlapped file I/O (or some wrapper like .NET's NamedPipeClientStream.)
|
||||
|
||||
powershell client writer and reader (untested):
|
||||
``` powershell
|
||||
# socat.ps1
|
||||
# usage: socat.ps1 <Pipe-name> <Message>
|
||||
$sockedName = args[0]
|
||||
$message = args[1]
|
||||
|
||||
$npipeClient = new-object System.IO.Pipes.NamedPipeClientStream('.', $socketName, [System.IO.Pipes.PipeDirection]::InOut, [System.IO.Pipes.PipeOptions]::None, [System.Security.Principal.TokenImpersonationLevel]::Impersonation)
|
||||
|
||||
$pipeReader = $pipeWriter = $null
|
||||
try {
|
||||
$npipeClient.Connect()
|
||||
$pipeReader = new-object System.IO.StreamReader($npipeClient)
|
||||
$pipeWriter = new-object System.IO.StreamWriter($npipeClient)
|
||||
$pipeWriter.AutoFlush = $true
|
||||
|
||||
$pipeWriter.WriteLine($message)
|
||||
|
||||
while (($data = $pipeReader.ReadLine()) -ne $null) {
|
||||
$data
|
||||
}
|
||||
}
|
||||
catch {
|
||||
"An error occurred that could not be resolved."
|
||||
}
|
||||
finally {
|
||||
$npipeClient.Dispose()
|
||||
}
|
||||
```
|
||||
36
mpv/script_modules/mpvSockets/mpvSockets.lua
Normal file
36
mpv/script_modules/mpvSockets/mpvSockets.lua
Normal file
@ -0,0 +1,36 @@
|
||||
-- mpvSockets, one socket per instance, removes socket on exit
|
||||
|
||||
local utils = require 'mp.utils'
|
||||
|
||||
local function get_temp_path()
|
||||
local directory_seperator = package.config:match("([^\n]*)\n?")
|
||||
local example_temp_file_path = os.tmpname()
|
||||
|
||||
-- remove generated temp file
|
||||
pcall(os.remove, example_temp_file_path)
|
||||
|
||||
local seperator_idx = example_temp_file_path:reverse():find(directory_seperator)
|
||||
local temp_path_length = #example_temp_file_path - seperator_idx
|
||||
|
||||
return example_temp_file_path:sub(1, temp_path_length)
|
||||
end
|
||||
|
||||
tempDir = get_temp_path()
|
||||
|
||||
function join_paths(...)
|
||||
local arg={...}
|
||||
path = ""
|
||||
for i,v in ipairs(arg) do
|
||||
path = utils.join_path(path, tostring(v))
|
||||
end
|
||||
return path;
|
||||
end
|
||||
|
||||
ppid = utils.getpid()
|
||||
os.execute("mkdir " .. join_paths(tempDir, "mpvSockets") .. " 2>/dev/null")
|
||||
mp.set_property("options/input-ipc-server", join_paths(tempDir, "mpvSockets", ppid))
|
||||
|
||||
function shutdown_handler()
|
||||
os.remove(join_paths(tempDir, "mpvSockets", ppid))
|
||||
end
|
||||
mp.register_event("shutdown", shutdown_handler)
|
||||
3
mpv/scripts/modules.lua
Normal file
3
mpv/scripts/modules.lua
Normal file
@ -0,0 +1,3 @@
|
||||
local mpv_config_dir_path = require("mp").command_native({"expand-path", "~~/"})
|
||||
function load(relative_path) dofile(mpv_config_dir_path .. "/script_modules/" .. relative_path) end
|
||||
load("mpvSockets/mpvSockets.lua")
|
||||
479
ncmpcpp/bindings
Normal file
479
ncmpcpp/bindings
Normal file
@ -0,0 +1,479 @@
|
||||
##############################################################
|
||||
## This is the example bindings file. Copy it to ##
|
||||
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
|
||||
## and set up your preferences ##
|
||||
##############################################################
|
||||
#
|
||||
#def_key "mouse"
|
||||
# mouse_event
|
||||
#
|
||||
#def_key "up"
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "shift-up"
|
||||
# select_item
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "down"
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "shift-down"
|
||||
# select_item
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "["
|
||||
# scroll_up_album
|
||||
#
|
||||
#def_key "]"
|
||||
# scroll_down_album
|
||||
#
|
||||
#def_key "{"
|
||||
# scroll_up_artist
|
||||
#
|
||||
#def_key "}"
|
||||
# scroll_down_artist
|
||||
#
|
||||
#def_key "page_up"
|
||||
# page_up
|
||||
#
|
||||
#def_key "page_down"
|
||||
# page_down
|
||||
#
|
||||
#def_key "home"
|
||||
# move_home
|
||||
#
|
||||
#def_key "end"
|
||||
# move_end
|
||||
#
|
||||
#def_key "insert"
|
||||
# select_item
|
||||
#
|
||||
#def_key "enter"
|
||||
# enter_directory
|
||||
#
|
||||
#def_key "enter"
|
||||
# toggle_output
|
||||
#
|
||||
#def_key "enter"
|
||||
# run_action
|
||||
#
|
||||
#def_key "enter"
|
||||
# play_item
|
||||
#
|
||||
#def_key "space"
|
||||
# add_item_to_playlist
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_lyrics_update_on_song_change
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_visualization_type
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_playlist_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_browser_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_stored_playlist
|
||||
#
|
||||
#def_key "right"
|
||||
# next_column
|
||||
#
|
||||
#def_key "right"
|
||||
# slave_screen
|
||||
#
|
||||
#def_key "right"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "+"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "left"
|
||||
# previous_column
|
||||
#
|
||||
#def_key "left"
|
||||
# master_screen
|
||||
#
|
||||
#def_key "left"
|
||||
# volume_down
|
||||
#
|
||||
#def_key "-"
|
||||
# volume_down
|
||||
#
|
||||
#def_key ":"
|
||||
# execute_command
|
||||
#
|
||||
#def_key "tab"
|
||||
# next_screen
|
||||
#
|
||||
#def_key "shift-tab"
|
||||
# previous_screen
|
||||
#
|
||||
#def_key "f1"
|
||||
# show_help
|
||||
#
|
||||
#def_key "1"
|
||||
# show_playlist
|
||||
#
|
||||
#def_key "2"
|
||||
# show_browser
|
||||
#
|
||||
#def_key "2"
|
||||
# change_browse_mode
|
||||
#
|
||||
#def_key "3"
|
||||
# show_search_engine
|
||||
#
|
||||
#def_key "3"
|
||||
# reset_search_engine
|
||||
#
|
||||
#def_key "4"
|
||||
# show_media_library
|
||||
#
|
||||
#def_key "4"
|
||||
# toggle_media_library_columns_mode
|
||||
#
|
||||
#def_key "5"
|
||||
# show_playlist_editor
|
||||
#
|
||||
#def_key "6"
|
||||
# show_tag_editor
|
||||
#
|
||||
#def_key "7"
|
||||
# show_outputs
|
||||
#
|
||||
#def_key "8"
|
||||
# show_visualizer
|
||||
#
|
||||
#def_key "="
|
||||
# show_clock
|
||||
#
|
||||
#def_key "@"
|
||||
# show_server_info
|
||||
#
|
||||
#def_key "s"
|
||||
# stop
|
||||
#
|
||||
#def_key "p"
|
||||
# pause
|
||||
#
|
||||
#def_key ">"
|
||||
# next
|
||||
#
|
||||
#def_key "<"
|
||||
# previous
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "backspace"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "backspace"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "f"
|
||||
# seek_forward
|
||||
#
|
||||
#def_key "b"
|
||||
# seek_backward
|
||||
#
|
||||
#def_key "r"
|
||||
# toggle_repeat
|
||||
#
|
||||
#def_key "z"
|
||||
# toggle_random
|
||||
#
|
||||
#def_key "y"
|
||||
# save_tag_changes
|
||||
#
|
||||
#def_key "y"
|
||||
# start_searching
|
||||
#
|
||||
#def_key "y"
|
||||
# toggle_single
|
||||
#
|
||||
#def_key "R"
|
||||
# toggle_consume
|
||||
#
|
||||
#def_key "Y"
|
||||
# toggle_replay_gain_mode
|
||||
#
|
||||
#def_key "T"
|
||||
# toggle_add_mode
|
||||
#
|
||||
#def_key "|"
|
||||
# toggle_mouse
|
||||
#
|
||||
#def_key "#"
|
||||
# toggle_bitrate_visibility
|
||||
#
|
||||
#def_key "Z"
|
||||
# shuffle
|
||||
#
|
||||
#def_key "x"
|
||||
# toggle_crossfade
|
||||
#
|
||||
#def_key "X"
|
||||
# set_crossfade
|
||||
#
|
||||
#def_key "u"
|
||||
# update_database
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# sort_playlist
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_browser_sort_mode
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_media_library_sort_mode
|
||||
#
|
||||
#def_key "ctrl-r"
|
||||
# reverse_playlist
|
||||
#
|
||||
#def_key "ctrl-f"
|
||||
# apply_filter
|
||||
#
|
||||
#def_key "ctrl-_"
|
||||
# select_found_items
|
||||
#
|
||||
#def_key "/"
|
||||
# find
|
||||
#
|
||||
#def_key "/"
|
||||
# find_item_forward
|
||||
#
|
||||
#def_key "?"
|
||||
# find
|
||||
#
|
||||
#def_key "?"
|
||||
# find_item_backward
|
||||
#
|
||||
#def_key "."
|
||||
# next_found_item
|
||||
#
|
||||
#def_key ","
|
||||
# previous_found_item
|
||||
#
|
||||
#def_key "w"
|
||||
# toggle_find_mode
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_song
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_tag
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_album
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_directory_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_playlist_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_lyrics
|
||||
#
|
||||
#def_key "i"
|
||||
# show_song_info
|
||||
#
|
||||
#def_key "I"
|
||||
# show_artist_info
|
||||
#
|
||||
#def_key "g"
|
||||
# jump_to_position_in_song
|
||||
#
|
||||
#def_key "l"
|
||||
# show_lyrics
|
||||
#
|
||||
#def_key "ctrl-v"
|
||||
# select_range
|
||||
#
|
||||
#def_key "v"
|
||||
# reverse_selection
|
||||
#
|
||||
#def_key "V"
|
||||
# remove_selection
|
||||
#
|
||||
#def_key "B"
|
||||
# select_album
|
||||
#
|
||||
#def_key "a"
|
||||
# add_selected_items
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_playlist
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_main_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_main_playlist
|
||||
#
|
||||
#def_key "m"
|
||||
# move_sort_order_up
|
||||
#
|
||||
#def_key "m"
|
||||
# move_selected_items_up
|
||||
#
|
||||
#def_key "n"
|
||||
# move_sort_order_down
|
||||
#
|
||||
#def_key "n"
|
||||
# move_selected_items_down
|
||||
#
|
||||
#def_key "M"
|
||||
# move_selected_items_to
|
||||
#
|
||||
#def_key "A"
|
||||
# add
|
||||
#
|
||||
#def_key "S"
|
||||
# save_playlist
|
||||
#
|
||||
#def_key "o"
|
||||
# jump_to_playing_song
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_browser
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_playlist_editor
|
||||
#
|
||||
#def_key "~"
|
||||
# jump_to_media_library
|
||||
#
|
||||
#def_key "E"
|
||||
# jump_to_tag_editor
|
||||
#
|
||||
#def_key "U"
|
||||
# toggle_playing_song_centering
|
||||
#
|
||||
#def_key "P"
|
||||
# toggle_display_mode
|
||||
#
|
||||
#def_key "\\"
|
||||
# toggle_interface
|
||||
#
|
||||
#def_key "!"
|
||||
# toggle_separators_between_albums
|
||||
#
|
||||
#def_key "L"
|
||||
# toggle_lyrics_fetcher
|
||||
#
|
||||
#def_key "F"
|
||||
# fetch_lyrics_in_background
|
||||
#
|
||||
#def_key "alt-l"
|
||||
# toggle_fetching_lyrics_in_background
|
||||
#
|
||||
#def_key "ctrl-l"
|
||||
# toggle_screen_lock
|
||||
#
|
||||
#def_key "`"
|
||||
# toggle_library_tag_type
|
||||
#
|
||||
#def_key "`"
|
||||
# refetch_lyrics
|
||||
#
|
||||
#def_key "`"
|
||||
# add_random_items
|
||||
#
|
||||
#def_key "ctrl-p"
|
||||
# set_selected_items_priority
|
||||
#
|
||||
#def_key "q"
|
||||
# quit
|
||||
#
|
||||
#
|
||||
#def_key "f"
|
||||
# find
|
||||
#def_key "f"
|
||||
# find_item_forward
|
||||
|
||||
def_key "+"
|
||||
show_clock
|
||||
def_key "="
|
||||
volume_up
|
||||
|
||||
def_key "j"
|
||||
scroll_down
|
||||
def_key "k"
|
||||
scroll_up
|
||||
|
||||
def_key "ctrl-u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "ctrl-d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "u"
|
||||
page_up
|
||||
#push_characters "kkkkkkkkkkkkkkk"
|
||||
def_key "d"
|
||||
page_down
|
||||
#push_characters "jjjjjjjjjjjjjjj"
|
||||
def_key "h"
|
||||
previous_column
|
||||
def_key "l"
|
||||
next_column
|
||||
|
||||
def_key "."
|
||||
show_lyrics
|
||||
|
||||
def_key "n"
|
||||
next_found_item
|
||||
def_key "N"
|
||||
previous_found_item
|
||||
|
||||
# not used but bound
|
||||
def_key "J"
|
||||
move_sort_order_down
|
||||
def_key "K"
|
||||
move_sort_order_up
|
||||
def_key "h"
|
||||
jump_to_parent_directory
|
||||
def_key "l"
|
||||
enter_directory
|
||||
def_key "l"
|
||||
run_action
|
||||
def_key "l"
|
||||
play_item
|
||||
def_key "m"
|
||||
show_media_library
|
||||
def_key "m"
|
||||
toggle_media_library_columns_mode
|
||||
def_key "t"
|
||||
show_tag_editor
|
||||
def_key "v"
|
||||
show_visualizer
|
||||
def_key "G"
|
||||
move_end
|
||||
def_key "g"
|
||||
move_home
|
||||
#jump_to_position_in_song
|
||||
def_key "U"
|
||||
update_database
|
||||
def_key "s"
|
||||
reset_search_engine
|
||||
def_key "s"
|
||||
show_search_engine
|
||||
def_key "f"
|
||||
show_browser
|
||||
def_key "f"
|
||||
change_browse_mode
|
||||
def_key "x"
|
||||
delete_playlist_items
|
||||
def_key "P"
|
||||
show_playlist
|
||||
33
ncmpcpp/config
Normal file
33
ncmpcpp/config
Normal file
@ -0,0 +1,33 @@
|
||||
# vim: filetype=conf
|
||||
|
||||
ncmpcpp_directory = "~/.config/ncmpcpp"
|
||||
lyrics_directory = "~/.local/share/lyrics"
|
||||
mpd_music_dir = "~/Music"
|
||||
message_delay_time = "1"
|
||||
visualizer_type = "spectrum"
|
||||
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
|
||||
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f}
|
||||
song_library_format = {%n - }{%t}|{%f}
|
||||
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
|
||||
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
|
||||
current_item_prefix = $(cyan)$r$b
|
||||
current_item_suffix = $/r$(end)$/b
|
||||
current_item_inactive_column_prefix = $(magenta)$r
|
||||
current_item_inactive_column_suffix = $/r$(end)
|
||||
playlist_display_mode = columns
|
||||
browser_display_mode = columns
|
||||
progressbar_look = ->
|
||||
media_library_primary_tag = album_artist
|
||||
media_library_albums_split_by_date = no
|
||||
startup_screen = "media_library"
|
||||
display_volume_level = no
|
||||
ignore_leading_the = yes
|
||||
external_editor = nvim
|
||||
use_console_editor = yes
|
||||
empty_tag_color = magenta
|
||||
main_window_color = white
|
||||
progressbar_color = black:b
|
||||
progressbar_elapsed_color = blue:b
|
||||
statusbar_color = red
|
||||
statusbar_time_color = cyan:b
|
||||
execute_on_song_change="pkill -RTMIN+11 dwmblocks"
|
||||
55
newsboat/config
Normal file
55
newsboat/config
Normal file
@ -0,0 +1,55 @@
|
||||
#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 --restrict-filenames" ; 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
|
||||
10
newsboat/urls
Normal file
10
newsboat/urls
Normal file
@ -0,0 +1,10 @@
|
||||
https://lukesmith.xyz/rss.xml
|
||||
https://videos.lukesmith.xyz/feeds/videos.xml?videoChannelId=2 "~Luke Smith (Videos)"
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith (YouTube)"
|
||||
https://lindypress.net/rss
|
||||
https://notrelated.xyz/rss
|
||||
https://landchad.net/rss.xml
|
||||
https://based.cooking/index.xml
|
||||
https://artixlinux.org/feed.php "tech"
|
||||
https://www.archlinux.org/feeds/news/ "tech"
|
||||
https://github.com/LukeSmithxyz/voidrice/commits/master.atom "~LARBS dotfiles"
|
||||
5
pinentry/preexec
Executable file
5
pinentry/preexec
Executable file
@ -0,0 +1,5 @@
|
||||
#!/hint/sh
|
||||
|
||||
# Define additional functionality for pinentry. For example
|
||||
test -e /usr/lib/libgcr-base-3.so.1 && exec /usr/bin/pinentry-gnome3 "$@"
|
||||
#test -e /usr/lib/libQt5Widgets.so.5 && exec /usr/bin/pinentry-qt "$@"
|
||||
BIN
pulse/cookie
Normal file
BIN
pulse/cookie
Normal file
Binary file not shown.
4
pulse/daemon.conf
Normal file
4
pulse/daemon.conf
Normal file
@ -0,0 +1,4 @@
|
||||
# Never exit pulseaudio if idle. This is to deal with an issue of Chromium
|
||||
# browsers not properly starting Pulseaudio by themselves. When the underlying
|
||||
# issue is solved, this file/directory should be removed.
|
||||
exit-idle-time = -1
|
||||
63
shell/aliasrc
Normal file
63
shell/aliasrc
Normal file
@ -0,0 +1,63 @@
|
||||
#!/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" \
|
||||
code="vscodium" \
|
||||
edge="microsoft-edge-stable" \
|
||||
|
||||
# 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" \
|
||||
14
shell/bm-dirs
Normal file
14
shell/bm-dirs
Normal file
@ -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/down}
|
||||
d ${XDG_DOCUMENTS_DIR:-$HOME/dox}
|
||||
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/pix}
|
||||
sc $HOME/.local/bin
|
||||
src $HOME/.local/src
|
||||
vv ${XDG_VIDEOS_DIR:-$HOME/vids}
|
||||
23
shell/bm-files
Normal file
23
shell/bm-files
Normal file
@ -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.lua # 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
|
||||
19
shell/inputrc
Normal file
19
shell/inputrc
Normal file
@ -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
|
||||
82
shell/profile
Normal file
82
shell/profile
Normal file
@ -0,0 +1,82 @@
|
||||
#!/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 TERMINAL_PROG="st"
|
||||
|
||||
# Change the default crypto/weather monitor sites.
|
||||
# export CRYPTOURL="rate.sx"
|
||||
# export WTTRURL="wttr.in"
|
||||
|
||||
# ~/ 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/x11/xinitrc"
|
||||
#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 WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
|
||||
export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
#export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||
export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
|
||||
export KODI_DATA="$XDG_DATA_HOME/kodi"
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store"
|
||||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||
export ANDROID_SDK_HOME="$XDG_CONFIG_HOME/android"
|
||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
export GOMODCACHE="$XDG_CACHE_HOME/go/mod"
|
||||
export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible/ansible.cfg"
|
||||
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 PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc"
|
||||
export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
|
||||
export XDG_DESKTOP_DIR="$HOME/"
|
||||
export XDG_DOWNLOAD_DIR="$HOME/down"
|
||||
export XDG_TEMPLATES_DIR="$HOME/temp"
|
||||
export XDG_PUBLICSHARE_DIR="$HOME/pub"
|
||||
export XDG_DOCUMENTS_DIR="$HOME/dox"
|
||||
export XDG_MUSIC_DIR="$HOME/music"
|
||||
export XDG_PICTURES_DIR="$HOME/pix"
|
||||
export XDG_VIDEOS_DIR="$HOME/vids"
|
||||
|
||||
# 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' '[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 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
|
||||
|
||||
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && setsid shortcuts >/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:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null
|
||||
30
shell/shortcutrc
Normal file
30
shell/shortcutrc
Normal file
@ -0,0 +1,30 @@
|
||||
# vim: filetype=sh
|
||||
alias cac="cd /home/victor/.cache && ls -A" \
|
||||
cf="cd /home/victor/.config && ls -A" \
|
||||
D="cd /home/victor/down && ls -A" \
|
||||
d="cd /home/victor/dox && ls -A" \
|
||||
dt="cd /home/victor/.local/share && ls -A" \
|
||||
rr="cd /home/victor/.local/src && ls -A" \
|
||||
h="cd /home/victor && ls -A" \
|
||||
m="cd /home/victor/music && ls -A" \
|
||||
mn="cd /mnt && ls -A" \
|
||||
pp="cd /home/victor/pix && ls -A" \
|
||||
sc="cd /home/victor/.local/bin && ls -A" \
|
||||
src="cd /home/victor/.local/src && ls -A" \
|
||||
vv="cd /home/victor/vids && ls -A" \
|
||||
bf="$EDITOR /home/victor/.config/shell/bm-files" \
|
||||
bd="$EDITOR /home/victor/.config/shell/bm-dirs" \
|
||||
cfx="$EDITOR /home/victor/.config/x11/xresources" \
|
||||
cfb="$EDITOR ~/.local/src/dwmblocks/config.h" \
|
||||
cfv="$EDITOR /home/victor/.config/nvim/init.lua" \
|
||||
cfz="$EDITOR /home/victor/.config/zsh/.zshrc" \
|
||||
cfa="$EDITOR /home/victor/.config/shell/aliasrc" \
|
||||
cfp="$EDITOR /home/victor/.config/shell/profile" \
|
||||
cfm="$EDITOR /home/victor/.config/mutt/muttrc" \
|
||||
cfn="$EDITOR /home/victor/.config/newsboat/config" \
|
||||
cfu="$EDITOR /home/victor/.config/newsboat/urls" \
|
||||
cfmb="$EDITOR /home/victor/.config/ncmpcpp/bindings" \
|
||||
cfmc="$EDITOR /home/victor/.config/ncmpcpp/config" \
|
||||
cfl="$EDITOR /home/victor/.config/lf/lfrc" \
|
||||
cfL="$EDITOR /home/victor/.config/lf/scope" \
|
||||
cfX="$EDITOR /home/victor/.config/sxiv/exec/key-handler" \
|
||||
29
shell/zshnameddirrc
Normal file
29
shell/zshnameddirrc
Normal file
@ -0,0 +1,29 @@
|
||||
hash -d cac=/home/victor/.cache
|
||||
hash -d cf=/home/victor/.config
|
||||
hash -d D=/home/victor/down
|
||||
hash -d d=/home/victor/dox
|
||||
hash -d dt=/home/victor/.local/share
|
||||
hash -d rr=/home/victor/.local/src
|
||||
hash -d h=/home/victor
|
||||
hash -d m=/home/victor/music
|
||||
hash -d mn=/mnt
|
||||
hash -d pp=/home/victor/pix
|
||||
hash -d sc=/home/victor/.local/bin
|
||||
hash -d src=/home/victor/.local/src
|
||||
hash -d vv=/home/victor/vids
|
||||
hash -d bf=/home/victor/.config/shell/bm-files
|
||||
hash -d bd=/home/victor/.config/shell/bm-dirs
|
||||
hash -d cfx=/home/victor/.config/x11/xresources
|
||||
hash -d cfb=~/.local/src/dwmblocks/config.h
|
||||
hash -d cfv=/home/victor/.config/nvim/init.lua
|
||||
hash -d cfz=/home/victor/.config/zsh/.zshrc
|
||||
hash -d cfa=/home/victor/.config/shell/aliasrc
|
||||
hash -d cfp=/home/victor/.config/shell/profile
|
||||
hash -d cfm=/home/victor/.config/mutt/muttrc
|
||||
hash -d cfn=/home/victor/.config/newsboat/config
|
||||
hash -d cfu=/home/victor/.config/newsboat/urls
|
||||
hash -d cfmb=/home/victor/.config/ncmpcpp/bindings
|
||||
hash -d cfmc=/home/victor/.config/ncmpcpp/config
|
||||
hash -d cfl=/home/victor/.config/lf/lfrc
|
||||
hash -d cfL=/home/victor/.config/lf/scope
|
||||
hash -d cfX=/home/victor/.config/sxiv/exec/key-handler
|
||||
33
sxiv/exec/key-handler
Executable file
33
sxiv/exec/key-handler
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
while read -r file
|
||||
do
|
||||
case "$1" in
|
||||
"w") setbg "$file" & ;;
|
||||
"c")
|
||||
[ -z "$destdir" ] && destdir="$(sed "s/#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
|
||||
[ ! -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*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
|
||||
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
|
||||
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
|
||||
;;
|
||||
"r")
|
||||
convert -rotate 90 "$file" "$file" ;;
|
||||
"R")
|
||||
convert -rotate -90 "$file" "$file" ;;
|
||||
"f")
|
||||
convert -flop "$file" "$file" ;;
|
||||
"y")
|
||||
printf "%s" "$file" | tr -d '\n' | xclip -selection clipboard &&
|
||||
notify-send "$file copied to clipboard" & ;;
|
||||
"Y")
|
||||
readlink -f "$file" | tr -d '\n' | xclip -selection clipboard &&
|
||||
notify-send "$(readlink -f "$file") copied to clipboard" & ;;
|
||||
"d")
|
||||
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
|
||||
"g") ifinstalled gimp && setsid -f gimp "$file" ;;
|
||||
"i") notify-send "File information" "$(mediainfo "$file" | sed "s/[ ]\+:/:/g;s/: /: <b>/;s/$/<\/b>/" | grep "<b>")" ;;
|
||||
esac
|
||||
done
|
||||
8
user-dirs.dirs
Normal file
8
user-dirs.dirs
Normal file
@ -0,0 +1,8 @@
|
||||
XDG_DESKTOP_DIR="$HOME/"
|
||||
XDG_DOWNLOAD_DIR="$HOME/down"
|
||||
XDG_TEMPLATES_DIR="$HOME/temp"
|
||||
XDG_PUBLICSHARE_DIR="$HOME/pub"
|
||||
XDG_DOCUMENTS_DIR="$HOME/dox"
|
||||
XDG_MUSIC_DIR="$HOME/music"
|
||||
XDG_PICTURES_DIR="$HOME/pix"
|
||||
XDG_VIDEOS_DIR="$HOME/vids"
|
||||
32
wal/postrun
Executable file
32
wal/postrun
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
dunstconf="${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc"
|
||||
zathuraconf="${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc"
|
||||
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/wal/colors.sh"
|
||||
|
||||
mkdir -p "${dunstconf%/*}" "${zathuraconf%/*}"
|
||||
|
||||
mv -n "$dunstconf" "$dunstconf.bak"
|
||||
mv -n "$zathuraconf" "$zathuraconf.bak"
|
||||
|
||||
ln -sf "${XDG_CACHE_HOME:-$HOME/.cache}/wal/dunstrc" "$dunstconf"
|
||||
ln -sf "${XDG_CACHE_HOME:-$HOME/.cache}/wal/zathurarc" "$zathuraconf"
|
||||
|
||||
fix_sequences() {
|
||||
e=$'\e'
|
||||
sequences=$(cat)
|
||||
foreground_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]10[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
background_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]11[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
cursor_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]12[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
|
||||
|
||||
for term in /dev/pts/{0..9}*; do
|
||||
echo -e "\e]4;256;${cursor_color}\a\c" > "${term}" 2>/dev/null
|
||||
echo -e "\e]4;258;${background_color}\a\c" > "${term}" 2>/dev/null
|
||||
echo -e "\e]4;259;${foreground_color}\a\c" > "${term}" 2>/dev/null
|
||||
done
|
||||
}
|
||||
|
||||
fix_sequences <"${XDG_CACHE_HOME:-$HOME/.cache}/wal/sequences"
|
||||
|
||||
pkill dunst; setsid -f dunst
|
||||
27
wal/templates/dunstrc
Normal file
27
wal/templates/dunstrc
Normal file
@ -0,0 +1,27 @@
|
||||
[global]
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
width = 370
|
||||
height = 350
|
||||
offset = 0x19
|
||||
padding = 2
|
||||
horizontal_padding = 2
|
||||
transparency = 25
|
||||
font = Monospace 12
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
[urgency_low]
|
||||
background = "{color0}" # color0
|
||||
foreground = "{color8}" # color8
|
||||
timeout = 3
|
||||
|
||||
[urgency_normal]
|
||||
foreground = "{color15}" # color15
|
||||
background = "{color4}" # color4
|
||||
timeout = 5
|
||||
|
||||
[urgency_critical]
|
||||
background = "{color1}" # color1
|
||||
foreground = "{color15}" # color15
|
||||
frame_color = "{color11}" # color11
|
||||
timeout = 10
|
||||
36
wal/templates/zathurarc
Normal file
36
wal/templates/zathurarc
Normal file
@ -0,0 +1,36 @@
|
||||
set sandbox none
|
||||
set statusbar-h-padding 0
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 1
|
||||
set selection-clipboard clipboard
|
||||
map u scroll half-up
|
||||
map d scroll half-down
|
||||
map D toggle_page_mode
|
||||
map r reload
|
||||
map R rotate
|
||||
map K zoom in
|
||||
map J zoom out
|
||||
map i recolor
|
||||
map p print
|
||||
map g goto top
|
||||
|
||||
set default-bg "{background}"
|
||||
set default-fg "{foreground}"
|
||||
set statusbar-bg "{background}"
|
||||
set statusbar-fg "{foreground}"
|
||||
set inputbar-bg "{background}"
|
||||
set inputbar-fg "{foreground}"
|
||||
set notification-bg "{background}"
|
||||
set notification-fg "{foreground}"
|
||||
set notification-error-bg "{background}"
|
||||
set notification-error-fg "{foreground}"
|
||||
set notification-warning-bg "{background}"
|
||||
set notification-warning-fg "{foreground}"
|
||||
set highlight-color "{color3}"
|
||||
set highlight-active-color "{color4}"
|
||||
set completion-bg "{color3}"
|
||||
set completion-fg "{color4}"
|
||||
set completion-highlight-bg "{color3}"
|
||||
set completion-highlight-fg "{color4}"
|
||||
set recolor-lightcolor "{background}"
|
||||
set recolor-darkcolor "{foreground}"
|
||||
1
wget/wgetrc
Normal file
1
wget/wgetrc
Normal file
@ -0,0 +1 @@
|
||||
hsts-file=~/.cache/wget-hsts
|
||||
17
x11/xinitrc
Executable file
17
x11/xinitrc
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
# xinitrc runs automatically when you run startx.
|
||||
|
||||
# There are some small but important commands that need to be run when we start
|
||||
# the graphical environment. There is a link to this file in ~/.xprofile
|
||||
# because that file is run automatically if someone uses a display manager
|
||||
# (login screen) and so they are needed there. To prevent doubling up commands,
|
||||
# I source them here with the line below.
|
||||
|
||||
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
|
||||
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
|
||||
else
|
||||
. "$HOME/.xprofile"
|
||||
fi
|
||||
|
||||
ssh-agent dwm
|
||||
18
x11/xprofile
Executable file
18
x11/xprofile
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This file runs when a DM logs you into a graphical session.
|
||||
# If you use startx/xinit like a Chad, this file will also be sourced.
|
||||
|
||||
xrandr --dpi 96 # Set DPI. User may want to use a larger number for larger screens.
|
||||
setbg & # set the background with the `setbg` script
|
||||
# xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources & xrdbpid=$! # Uncomment to use Xresources colors/settings on startup
|
||||
autostart="mpd picom dunst unclutter pipewire remapd"
|
||||
|
||||
eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
|
||||
dbus-update-activation-environment --all # Update dbus environment variables
|
||||
for program in $autostart; do
|
||||
pidof -sx "$program" || "$program" &
|
||||
done >/dev/null 2>&1
|
||||
|
||||
# Ensure that xrdb has finished running before moving on to start the WM/DE.
|
||||
[ -n "$xrdbpid" ] && wait "$xrdbpid"
|
||||
156
x11/xresources
Normal file
156
x11/xresources
Normal file
@ -0,0 +1,156 @@
|
||||
!! Transparency (0-1):
|
||||
*.alpha: 0.8
|
||||
|
||||
!! Set a default font and font size as below:
|
||||
*.font: monospace:size=10
|
||||
|
||||
/* name dark light */
|
||||
/* black 0 8 */
|
||||
/* red 1 9 */
|
||||
/* green 2 10 */
|
||||
/* yellow 3 11 */
|
||||
/* blue 4 12 */
|
||||
/* purple 5 13 */
|
||||
/* cyan 6 14 */
|
||||
/* white 7 15 */
|
||||
|
||||
/* !! gruvbox: */
|
||||
/* *.color0: #1d2021 */
|
||||
/* *.color1: #cc241d */
|
||||
/* *.color2: #98971a */
|
||||
/* *.color3: #d79921 */
|
||||
/* *.color4: #458588 */
|
||||
/* *.color5: #b16286 */
|
||||
/* *.color6: #689d6a */
|
||||
/* *.color7: #a89984 */
|
||||
/* *.color8: #928374 */
|
||||
/* *.color9: #fb4934 */
|
||||
/* *.color10: #b8bb26 */
|
||||
/* *.color11: #fabd2f */
|
||||
/* *.color12: #83a598 */
|
||||
/* *.color13: #d3869b */
|
||||
/* *.color14: #8ec07c */
|
||||
/* *.color15: #ebdbb2 */
|
||||
/* *.color256: #1d2021 */
|
||||
/* *.color257: #ebdbb2 */
|
||||
|
||||
/* !! gruvbox light: */
|
||||
/* *.color0: #fbf1c7 */
|
||||
/* *.color1: #cc241d */
|
||||
/* *.color2: #98971a */
|
||||
/* *.color3: #d79921 */
|
||||
/* *.color4: #458588 */
|
||||
/* *.color5: #b16286 */
|
||||
/* *.color6: #689d6a */
|
||||
/* *.color7: #7c6f64 */
|
||||
/* *.color8: #928374 */
|
||||
/* *.color9: #9d0006 */
|
||||
/* *.color10: #79740e */
|
||||
/* *.color11: #b57614 */
|
||||
/* *.color12: #076678 */
|
||||
/* *.color13: #8f3f71 */
|
||||
/* *.color14: #427b58 */
|
||||
/* *.color15: #3c3836 */
|
||||
/* *.background: #fbf1c7 */
|
||||
/* *.foreground: #282828 */
|
||||
/* st.alpha: 0.9 */
|
||||
|
||||
/* !! brogrammer: */
|
||||
/* *.foreground: #d6dbe5 */
|
||||
/* *.background: #131313 */
|
||||
/* *.color0: #1f1f1f */
|
||||
/* *.color8: #d6dbe5 */
|
||||
/* *.color1: #f81118 */
|
||||
/* *.color9: #de352e */
|
||||
/* *.color2: #2dc55e */
|
||||
/* *.color10: #1dd361 */
|
||||
/* *.color3: #ecba0f */
|
||||
/* *.color11: #f3bd09 */
|
||||
/* *.color4: #2a84d2 */
|
||||
/* *.color12: #1081d6 */
|
||||
/* *.color5: #4e5ab7 */
|
||||
/* *.color13: #5350b9 */
|
||||
/* *.color6: #1081d6 */
|
||||
/* *.color14: #0f7ddb */
|
||||
/* *.color7: #d6dbe5 */
|
||||
/* *.color15: #ffffff */
|
||||
/* *.colorBD: #d6dbe5 */
|
||||
|
||||
/* ! base16 */
|
||||
/* *.color0: #181818 */
|
||||
/* *.color1: #ab4642 */
|
||||
/* *.color2: #a1b56c */
|
||||
/* *.color3: #f7ca88 */
|
||||
/* *.color4: #7cafc2 */
|
||||
/* *.color5: #ba8baf */
|
||||
/* *.color6: #86c1b9 */
|
||||
/* *.color7: #d8d8d8 */
|
||||
/* *.color8: #585858 */
|
||||
/* *.color9: #ab4642 */
|
||||
/* *.color10: #a1b56c */
|
||||
/* *.color11: #f7ca88 */
|
||||
/* *.color12: #7cafc2 */
|
||||
/* *.color13: #ba8baf */
|
||||
/* *.color14: #86c1b9 */
|
||||
/* *.color15: #f8f8f8 */
|
||||
|
||||
/* !! solarized */
|
||||
/* *.color0: #073642 */
|
||||
/* *.color1: #dc322f */
|
||||
/* *.color2: #859900 */
|
||||
/* *.color3: #b58900 */
|
||||
/* *.color4: #268bd2 */
|
||||
/* *.color5: #d33682 */
|
||||
/* *.color6: #2aa198 */
|
||||
/* *.color7: #eee8d5 */
|
||||
/* *.color9: #cb4b16 */
|
||||
/* *.color8: #fdf6e3 */
|
||||
/* *.color10: #586e75 */
|
||||
/* *.color11: #657b83 */
|
||||
/* *.color12: #839496 */
|
||||
/* *.color13: #6c71c4 */
|
||||
/* *.color14: #93a1a1 */
|
||||
/* *.color15: #fdf6e3 */
|
||||
|
||||
/* !! xterm */
|
||||
/* *.color0: #000000 */
|
||||
/* *.color1: #cd0000 */
|
||||
/* *.color2: #00cd00 */
|
||||
/* *.color3: #cdcd00 */
|
||||
/* *.color4: #0000cd */
|
||||
/* *.color5: #cd00cd */
|
||||
/* *.color6: #00cdcd */
|
||||
/* *.color7: #e5e5e5 */
|
||||
/* *.color8: #4d4d4d */
|
||||
/* *.color9: #ff0000 */
|
||||
/* *.color10: #00ff00 */
|
||||
/* *.color11: #ffff00 */
|
||||
/* *.color12: #0000ff */
|
||||
/* *.color13: #ff00ff */
|
||||
/* *.color14: #00ffff */
|
||||
/* *.color15: #aabac8 */
|
||||
/* *.background: #000000 */
|
||||
|
||||
/* ! Dracula Xresources palette */
|
||||
/* *.foreground: #F8F8F2 */
|
||||
/* *.background: #282A36 */
|
||||
/* *.color0: #000000 */
|
||||
/* *.color8: #4D4D4D */
|
||||
/* *.color1: #FF5555 */
|
||||
/* *.color9: #FF6E67 */
|
||||
/* *.color2: #50FA7B */
|
||||
/* *.color10: #5AF78E */
|
||||
/* *.color3: #F1FA8C */
|
||||
/* *.color11: #F4F99D */
|
||||
/* *.color4: #BD93F9 */
|
||||
/* *.color12: #CAA9FA */
|
||||
/* *.color5: #FF79C6 */
|
||||
/* *.color13: #FF92D0 */
|
||||
/* *.color6: #8BE9FD */
|
||||
/* *.color14: #9AEDFE */
|
||||
/* *.color7: #BFBFBF */
|
||||
/* *.color15: #E6E6E6 */
|
||||
|
||||
/* *.background: .color0 */
|
||||
/* *.color256: 0#1d2021 */
|
||||
/* *.color257: 15#ebdbb2 */
|
||||
15
zathura/zathurarc
Normal file
15
zathura/zathurarc
Normal file
@ -0,0 +1,15 @@
|
||||
set sandbox none
|
||||
set statusbar-h-padding 0
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 1
|
||||
set selection-clipboard clipboard
|
||||
map u scroll half-up
|
||||
map d scroll half-down
|
||||
map D toggle_page_mode
|
||||
map r reload
|
||||
map R rotate
|
||||
map K zoom in
|
||||
map J zoom out
|
||||
map i recolor
|
||||
map p print
|
||||
map g goto top
|
||||
1
zsh/.gitignore
vendored
Normal file
1
zsh/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
ohmyzsh/**/*
|
||||
1795
zsh/.zcompdump
Normal file
1795
zsh/.zcompdump
Normal file
File diff suppressed because it is too large
Load Diff
89
zsh/.zshrc
Normal file
89
zsh/.zshrc
Normal file
@ -0,0 +1,89 @@
|
||||
# Luke's config for the Zoomer Shell
|
||||
# Uncomment below for debugging part (1/2)
|
||||
# zmodload zsh/zprof
|
||||
|
||||
# Enable colors and change prompt:
|
||||
autoload -U colors && colors # Load colors
|
||||
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
|
||||
setopt autocd # Automatically cd into typed directory.
|
||||
stty stop undef # Disable ctrl-s to freeze terminal.
|
||||
setopt interactive_comments
|
||||
# History in cache directory:
|
||||
HISTSIZE=10000000
|
||||
SAVEHIST=10000000
|
||||
HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history"
|
||||
|
||||
# Load aliases and shortcuts if existent.
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc"
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc"
|
||||
|
||||
# Basic auto/tab complete:
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
|
||||
# vi mode
|
||||
bindkey -v
|
||||
export KEYTIMEOUT=1
|
||||
# Use keychain to load ssh-agent
|
||||
eval `keychain --eval --quiet --noask --agents ssh id_rsa ~/.ssh/id_rsa`
|
||||
# Use vim keys in tab complete menu:
|
||||
bindkey -M menuselect 'h' vi-backward-char
|
||||
bindkey -M menuselect 'k' vi-up-line-or-history
|
||||
bindkey -M menuselect 'l' vi-forward-char
|
||||
bindkey -M menuselect 'j' vi-down-line-or-history
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
# Change cursor shape for different vi modes.
|
||||
function zle-keymap-select () {
|
||||
case $KEYMAP in
|
||||
vicmd) echo -ne '\e[1 q';; # block
|
||||
viins|main) echo -ne '\e[5 q';; # beam
|
||||
esac
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
zle-line-init() {
|
||||
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
|
||||
echo -ne "\e[5 q"
|
||||
}
|
||||
zle -N zle-line-init
|
||||
echo -ne '\e[5 q' # Use beam shape cursor on startup.
|
||||
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
|
||||
|
||||
# Use lf to switch directories and bind it to ctrl-o
|
||||
lfcd () {
|
||||
tmp="$(mktemp -uq)"
|
||||
trap 'rm -f $tmp >/dev/null 2>&1 && trap - HUP INT QUIT TERM PWR EXIT' HUP INT QUIT TERM PWR EXIT
|
||||
lf -last-dir-path="$tmp" "$@"
|
||||
if [ -f "$tmp" ]; then
|
||||
dir="$(cat "$tmp")"
|
||||
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
|
||||
fi
|
||||
}
|
||||
bindkey -s '^o' '^ulfcd\n'
|
||||
|
||||
bindkey -s '^a' '^ubc -lq\n'
|
||||
|
||||
bindkey -s '^f' '^ucd "$(dirname "$(fzf)")"\n'
|
||||
|
||||
bindkey '^[[P' delete-char
|
||||
|
||||
# Edit line in vim with ctrl-e:
|
||||
autoload edit-command-line; zle -N edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
bindkey -M vicmd '^[[P' vi-delete-char
|
||||
bindkey -M vicmd '^e' edit-command-line
|
||||
bindkey -M visual '^[[P' vi-delete
|
||||
|
||||
# Pre plugin variables:
|
||||
zstyle ':omz:plugins:nvm' lazy yes
|
||||
## Load plugins:
|
||||
source ~/.config/zsh/copyfile.zsh
|
||||
source /home/victor/.config/zsh/nvm/nvm.plugin.zsh
|
||||
# Load syntax highlighting; should be last.
|
||||
source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null
|
||||
# Uncomment below for debugging part (2/2)
|
||||
# zprof
|
||||
20
zsh/copyfile.zsh
Normal file
20
zsh/copyfile.zsh
Normal file
@ -0,0 +1,20 @@
|
||||
# Copy the content of a file to the clipboard using xclip
|
||||
function copyfile() {
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Usage: copy-file-to-clipboard <file>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! command -v xclip &> /dev/null; then
|
||||
echo "xclip is not installed. Please install it first."
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [[ ! -f $1 ]]; then
|
||||
echo "$1 is not a valid file."
|
||||
return 1
|
||||
fi
|
||||
|
||||
xclip -sel clip < "$1"
|
||||
echo "$1 content copied to clipboard."
|
||||
}
|
||||
60
zsh/nvm/README.md
Normal file
60
zsh/nvm/README.md
Normal file
@ -0,0 +1,60 @@
|
||||
# nvm plugin
|
||||
|
||||
This plugin adds autocompletions for [nvm](https://github.com/nvm-sh/nvm) — a Node.js version manager. It also
|
||||
automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
|
||||
|
||||
To use it, add `nvm` to the plugins array of your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... nvm)
|
||||
```
|
||||
|
||||
## Settings
|
||||
|
||||
If you installed nvm in a directory other than `$HOME/.nvm`, set and export `NVM_DIR` to be the directory
|
||||
where you installed nvm.
|
||||
|
||||
These settings should go in your zshrc file, before Oh My Zsh is sourced:
|
||||
|
||||
- **`NVM_HOMEBREW`**: if you installed nvm via Homebrew, in a directory other than `/usr/local/opt/nvm`, you
|
||||
can set `NVM_HOMEBREW` to be the directory where you installed it. For example, on Apple Silicon-based Macs,
|
||||
[Homebrew is installed in `/opt/homebrew`](https://docs.brew.sh/Installation). To get the directory where
|
||||
nvm has been installed, regardless of chip architecture, use `NVM_HOMEBREW=$(brew --prefix nvm)`.
|
||||
|
||||
## Customization
|
||||
|
||||
#### Lazy startup
|
||||
|
||||
This option will help you to defer nvm's load until you use it to speed-up your zsh startup. This will source
|
||||
nvm script only when using it, and will create a function for `node`, `npm`, `pnpm`, `yarn`, and the
|
||||
command(s) specified by `lazy-cmd` option, so when you call either of them, nvm will be loaded and run with
|
||||
default version. To enable it, you can add this snippet to your zshrc, before Oh My Zsh is sourced:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' lazy yes
|
||||
```
|
||||
|
||||
Then, to define extra commands that will also trigger nvm load, you can use a similar syntax, adding as many
|
||||
as you want:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
|
||||
```
|
||||
|
||||
#### `.nvmrc` autoload
|
||||
|
||||
If set, the plugin will automatically load a node version when if finds a
|
||||
[`.nvmrc` file](https://github.com/nvm-sh/nvm#nvmrc) in the current working directory indicating which node
|
||||
version to load. This can be done, similar as previous options, adding:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' autoload yes
|
||||
```
|
||||
|
||||
To remove the output generated by NVM when autoloading, you can set the following option:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' silent-autoload yes
|
||||
```
|
||||
|
||||
Note: _this will not remove regular `nvm` output_
|
||||
34
zsh/nvm/_nvm
Normal file
34
zsh/nvm/_nvm
Normal file
@ -0,0 +1,34 @@
|
||||
#compdef nvm
|
||||
#autoload
|
||||
|
||||
[[ -f "$NVM_DIR/nvm.sh" ]] || return 0
|
||||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'help:show help'
|
||||
'--version:print out the latest released version of nvm'
|
||||
'install:download and install a version in <node|iojs|node version number>'
|
||||
'install-latest-npm:download and install the latest npm version'
|
||||
'uninstall:uninstall a version'
|
||||
'use:modify PATH to use <version>. Uses .nvmrc if available'
|
||||
'exec:run <command> on <version>. Uses .nvmrc if available'
|
||||
'run:run `node` on <version> with <args> as arguments. Uses .nvmrc if available'
|
||||
'current:list installed versions'
|
||||
'ls:list installed versions or versions matching a given description'
|
||||
'version:resolve the given description to a single local version'
|
||||
'version-remote:resolve the given description to a single remote version'
|
||||
'ls-remote:list remote versions available for install'
|
||||
'deactivate:undo effects of `nvm` on current shell'
|
||||
'alias:show or set aliases'
|
||||
'unalias:deletes an alias'
|
||||
'reinstall-packages:reinstall global `npm` packages contained in <version> to current version'
|
||||
'unload:unload `nvm` from shell'
|
||||
'which:display path to installed node version. Uses .nvmrc if available'
|
||||
)
|
||||
|
||||
_arguments -C '*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "nvm subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
105
zsh/nvm/nvm.plugin.zsh
Normal file
105
zsh/nvm/nvm.plugin.zsh
Normal file
@ -0,0 +1,105 @@
|
||||
# See https://github.com/nvm-sh/nvm#installation-and-update
|
||||
if [[ -z "$NVM_DIR" ]]; then
|
||||
if [[ -d "$HOME/.nvm" ]]; then
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
elif [[ -d "${XDG_CONFIG_HOME:-$HOME/.config}/nvm" ]]; then
|
||||
export NVM_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/nvm"
|
||||
elif (( $+commands[brew] )); then
|
||||
NVM_HOMEBREW="${NVM_HOMEBREW:-${HOMEBREW_PREFIX:-$(brew --prefix)}/opt/nvm}"
|
||||
if [[ -d "$NVM_HOMEBREW" ]]; then
|
||||
export NVM_DIR="$NVM_HOMEBREW"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't try to load nvm if command already available
|
||||
# Note: nvm is a function so we need to use `which`
|
||||
which nvm &>/dev/null && return
|
||||
|
||||
# TODO: 2022-11-11: Remove soft-deprecate options
|
||||
if (( ${+NVM_LAZY} + ${+NVM_LAZY_CMD} + ${+NVM_AUTOLOAD} )); then
|
||||
# Get list of NVM_* variable settings defined
|
||||
local -a used_vars
|
||||
used_vars=(${(o)parameters[(I)NVM_(AUTOLOAD|LAZY|LAZY_CMD)]})
|
||||
# Nicely print the list in the style `var1, var2 and var3`
|
||||
echo "${fg[yellow]}[nvm plugin] Variable-style settings are deprecated. Instead of ${(j:, :)used_vars[1,-2]}${used_vars[-2]+ and }${used_vars[-1]}, use:\n"
|
||||
if (( $+NVM_AUTOLOAD )); then
|
||||
echo " zstyle ':omz:plugins:nvm' autoload yes"
|
||||
zstyle ':omz:plugins:nvm' autoload yes
|
||||
fi
|
||||
if (( $+NVM_LAZY )); then
|
||||
echo " zstyle ':omz:plugins:nvm' lazy yes"
|
||||
zstyle ':omz:plugins:nvm' lazy yes
|
||||
fi
|
||||
if (( $+NVM_LAZY_CMD )); then
|
||||
echo " zstyle ':omz:plugins:nvm' lazy-cmd $NVM_LAZY_CMD"
|
||||
zstyle ':omz:plugins:nvm' lazy-cmd $NVM_LAZY_CMD
|
||||
fi
|
||||
echo "$reset_color"
|
||||
unset used_vars NVM_AUTOLOAD NVM_LAZY NVM_LAZY_CMD
|
||||
fi
|
||||
|
||||
if zstyle -t ':omz:plugins:nvm' lazy; then
|
||||
# Call nvm when first using nvm, node, npm, pnpm, yarn or other commands in lazy-cmd
|
||||
zstyle -a ':omz:plugins:nvm' lazy-cmd nvm_lazy_cmd
|
||||
eval "
|
||||
function nvm node npm pnpm yarn $nvm_lazy_cmd {
|
||||
unfunction nvm node npm pnpm yarn $nvm_lazy_cmd
|
||||
# Load nvm if it exists in \$NVM_DIR
|
||||
[[ -f \"\$NVM_DIR/nvm.sh\" ]] && source \"\$NVM_DIR/nvm.sh\"
|
||||
\"\$0\" \"\$@\"
|
||||
}
|
||||
"
|
||||
unset nvm_lazy_cmd
|
||||
elif [[ -f "$NVM_DIR/nvm.sh" ]]; then
|
||||
# Load nvm if it exists in $NVM_DIR
|
||||
source "$NVM_DIR/nvm.sh"
|
||||
else
|
||||
return
|
||||
fi
|
||||
|
||||
# Autoload nvm when finding a .nvmrc file in the current directory
|
||||
# Adapted from: https://github.com/nvm-sh/nvm#zsh
|
||||
if zstyle -t ':omz:plugins:nvm' autoload; then
|
||||
function load-nvmrc {
|
||||
local node_version="$(nvm version)"
|
||||
local nvmrc_path="$(nvm_find_nvmrc)"
|
||||
local nvm_silent=""
|
||||
zstyle -t ':omz:plugins:nvm' silent-autoload && nvm_silent="--silent"
|
||||
|
||||
if [[ -n "$nvmrc_path" ]]; then
|
||||
local nvmrc_node_version=$(nvm version $(cat "$nvmrc_path" | tr -dc '[:print:]'))
|
||||
|
||||
if [[ "$nvmrc_node_version" = "N/A" ]]; then
|
||||
nvm install
|
||||
elif [[ "$nvmrc_node_version" != "$node_version" ]]; then
|
||||
nvm use $nvm_silent
|
||||
fi
|
||||
elif [[ "$node_version" != "$(nvm version default)" ]]; then
|
||||
if [[ -z $nvm_silent ]]; then
|
||||
echo "Reverting to nvm default version"
|
||||
fi
|
||||
|
||||
nvm use default $nvm_silent
|
||||
fi
|
||||
}
|
||||
|
||||
autoload -U add-zsh-hook
|
||||
add-zsh-hook chpwd load-nvmrc
|
||||
|
||||
load-nvmrc
|
||||
fi
|
||||
|
||||
# Load nvm bash completion
|
||||
for nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
|
||||
if [[ -f "$nvm_completion" ]]; then
|
||||
# Load bashcompinit
|
||||
autoload -U +X bashcompinit && bashcompinit
|
||||
# Bypass compinit call in nvm bash completion script. See:
|
||||
# https://github.com/nvm-sh/nvm/blob/4436638/bash_completion#L86-L93
|
||||
ZSH_VERSION= source "$nvm_completion"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
unset NVM_HOMEBREW nvm_completion
|
||||
1
zsh/ohmyzsh
Submodule
1
zsh/ohmyzsh
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 00241073105643874531e1826b7df6d2cb3cadfb
|
||||
Loading…
x
Reference in New Issue
Block a user