summaryrefslogtreecommitdiff
path: root/dotfiles
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles')
-rw-r--r--dotfiles/common/.Xmodmap (renamed from dotfiles/system/.Xmodmap)0
-rw-r--r--dotfiles/common/.Xresources (renamed from dotfiles/system/.Xresources)0
-rw-r--r--dotfiles/common/.authcode (renamed from dotfiles/system/.authcode)0
-rw-r--r--dotfiles/common/.authinfo.gpg (renamed from dotfiles/system/.authinfo.gpg)0
-rw-r--r--dotfiles/common/.bash_logout (renamed from dotfiles/system/.bash_logout)0
-rw-r--r--dotfiles/common/.bash_profile11
-rw-r--r--dotfiles/common/.bashrc76
-rw-r--r--dotfiles/common/.bashrc.d/aliases.sh91
-rw-r--r--dotfiles/common/.bashrc.d/emacs.sh24
-rw-r--r--dotfiles/common/.bashrc.d/fzf.sh122
-rw-r--r--dotfiles/common/.bashrc.d/git.sh32
-rw-r--r--dotfiles/common/.bashrc.d/media.sh41
-rw-r--r--dotfiles/common/.bashrc.d/utilities.sh206
-rw-r--r--dotfiles/common/.config/.cmailpass.gpg2
-rw-r--r--dotfiles/common/.config/.gmailpass.gpg (renamed from dotfiles/system/.config/.gmailpass.gpg)0
-rw-r--r--dotfiles/common/.config/.tidal-dl.json (renamed from dotfiles/system/.config/.tidal-dl.json)0
-rw-r--r--dotfiles/common/.config/.tidal-dl.token.json (renamed from dotfiles/system/.config/.tidal-dl.token.json)0
-rw-r--r--dotfiles/common/.config/audacious/QtUi.conf (renamed from dotfiles/system/.config/audacious/QtUi.conf)0
-rw-r--r--dotfiles/common/.config/audacious/config (renamed from dotfiles/system/.config/audacious/config)0
-rw-r--r--dotfiles/common/.config/audacious/playlist-state (renamed from dotfiles/system/.config/audacious/playlist-state)0
-rw-r--r--dotfiles/common/.config/audacious/playlists/1000.audpl (renamed from dotfiles/system/.config/audacious/playlists/1000.audpl)0
-rw-r--r--dotfiles/common/.config/audacious/playlists/order (renamed from dotfiles/system/.config/audacious/playlists/order)0
-rw-r--r--dotfiles/common/.config/audacious/plugin-registry (renamed from dotfiles/system/.config/audacious/plugin-registry)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/azw3_output.py (renamed from dotfiles/system/.config/calibre/conversion/azw3_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/comic_input.py (renamed from dotfiles/system/.config/calibre/conversion/comic_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/debug.py (renamed from dotfiles/system/.config/calibre/conversion/debug.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/docx_input.py (renamed from dotfiles/system/.config/calibre/conversion/docx_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/docx_output.py (renamed from dotfiles/system/.config/calibre/conversion/docx_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/epub_output.py (renamed from dotfiles/system/.config/calibre/conversion/epub_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/fb2_input.py (renamed from dotfiles/system/.config/calibre/conversion/fb2_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/fb2_output.py (renamed from dotfiles/system/.config/calibre/conversion/fb2_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/heuristics.py (renamed from dotfiles/system/.config/calibre/conversion/heuristics.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/htmlz_output.py (renamed from dotfiles/system/.config/calibre/conversion/htmlz_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/kepub_output.py (renamed from dotfiles/system/.config/calibre/conversion/kepub_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/look_and_feel.py (renamed from dotfiles/system/.config/calibre/conversion/look_and_feel.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/lrf_output.py (renamed from dotfiles/system/.config/calibre/conversion/lrf_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/metadata.py (renamed from dotfiles/system/.config/calibre/conversion/metadata.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/mobi_output.py (renamed from dotfiles/system/.config/calibre/conversion/mobi_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/page_setup.py (renamed from dotfiles/system/.config/calibre/conversion/page_setup.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/pdb_output.py (renamed from dotfiles/system/.config/calibre/conversion/pdb_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/pdf_input.py (renamed from dotfiles/system/.config/calibre/conversion/pdf_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/pdf_output.py (renamed from dotfiles/system/.config/calibre/conversion/pdf_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/pmlz_output.py (renamed from dotfiles/system/.config/calibre/conversion/pmlz_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/rb_output.py (renamed from dotfiles/system/.config/calibre/conversion/rb_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/rtf_input.py (renamed from dotfiles/system/.config/calibre/conversion/rtf_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/search_and_replace.py (renamed from dotfiles/system/.config/calibre/conversion/search_and_replace.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/snb_output.py (renamed from dotfiles/system/.config/calibre/conversion/snb_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/structure_detection.py (renamed from dotfiles/system/.config/calibre/conversion/structure_detection.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/toc.py (renamed from dotfiles/system/.config/calibre/conversion/toc.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/txt_input.py (renamed from dotfiles/system/.config/calibre/conversion/txt_input.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/txt_output.py (renamed from dotfiles/system/.config/calibre/conversion/txt_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/conversion/txtz_output.py (renamed from dotfiles/system/.config/calibre/conversion/txtz_output.py)0
-rw-r--r--dotfiles/common/.config/calibre/custom_recipes/The Economist_1001.recipe (renamed from dotfiles/system/.config/calibre/custom_recipes/The Economist_1001.recipe)0
-rw-r--r--dotfiles/common/.config/calibre/custom_recipes/The New York Times_1000.recipe (renamed from dotfiles/system/.config/calibre/custom_recipes/The New York Times_1000.recipe)0
-rw-r--r--dotfiles/common/.config/calibre/custom_recipes/index.json (renamed from dotfiles/system/.config/calibre/custom_recipes/index.json)0
-rw-r--r--dotfiles/common/.config/calibre/customize.py.json (renamed from dotfiles/system/.config/calibre/customize.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/device_drivers_KOBOTOUCH.py.json (renamed from dotfiles/system/.config/calibre/device_drivers_KOBOTOUCH.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json (renamed from dotfiles/system/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/device_drivers_USER_DEFINED.py.json (renamed from dotfiles/system/.config/calibre/device_drivers_USER_DEFINED.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/fonts/scanner_cache.json (renamed from dotfiles/system/.config/calibre/fonts/scanner_cache.json)0
-rw-r--r--dotfiles/common/.config/calibre/global.py.json (renamed from dotfiles/system/.config/calibre/global.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/gui.py.json (renamed from dotfiles/system/.config/calibre/gui.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/history.plist (renamed from dotfiles/system/.config/calibre/history.plist)0
-rw-r--r--dotfiles/common/.config/calibre/icons-any.rcc (renamed from dotfiles/system/.config/calibre/icons-any.rcc)bin1291528 -> 1291528 bytes
-rw-r--r--dotfiles/common/.config/calibre/icons-dark.rcc (renamed from dotfiles/system/.config/calibre/icons-dark.rcc)bin204531 -> 204531 bytes
-rw-r--r--dotfiles/common/.config/calibre/metadata-sources-cache.json (renamed from dotfiles/system/.config/calibre/metadata-sources-cache.json)0
-rw-r--r--dotfiles/common/.config/calibre/metadata_sources/global.json (renamed from dotfiles/system/.config/calibre/metadata_sources/global.json)0
-rw-r--r--dotfiles/common/.config/calibre/mtp_devices.json (renamed from dotfiles/system/.config/calibre/mtp_devices.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Apple Books covers.zip (renamed from dotfiles/system/.config/calibre/plugins/Apple Books covers.zip)bin22815 -> 22815 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Barnes & Noble.zip (renamed from dotfiles/system/.config/calibre/plugins/Barnes & Noble.zip)bin120252 -> 120252 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Clean Comments.zip (renamed from dotfiles/system/.config/calibre/plugins/Clean Comments.zip)bin41082 -> 41082 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Extract ISBN.zip (renamed from dotfiles/system/.config/calibre/plugins/Extract ISBN.zip)bin183577 -> 183577 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Favourites Menu.json (renamed from dotfiles/system/.config/calibre/plugins/Favourites Menu.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Favourites Menu.zip (renamed from dotfiles/system/.config/calibre/plugins/Favourites Menu.zip)bin124019 -> 124019 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Find Duplicates.json (renamed from dotfiles/system/.config/calibre/plugins/Find Duplicates.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Find Duplicates.zip (renamed from dotfiles/system/.config/calibre/plugins/Find Duplicates.zip)bin519469 -> 519469 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/KePub Metadata Reader.zip (renamed from dotfiles/system/.config/calibre/plugins/KePub Metadata Reader.zip)bin24156 -> 24156 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/KePub Metadata Writer.zip (renamed from dotfiles/system/.config/calibre/plugins/KePub Metadata Writer.zip)bin24958 -> 24958 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Kindle hi-res covers.zip (renamed from dotfiles/system/.config/calibre/plugins/Kindle hi-res covers.zip)bin15129 -> 15129 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Kobo Metadata.zip (renamed from dotfiles/system/.config/calibre/plugins/Kobo Metadata.zip)bin556602 -> 556602 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Kobo Utilities.json (renamed from dotfiles/system/.config/calibre/plugins/Kobo Utilities.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Kobo Utilities.zip (renamed from dotfiles/system/.config/calibre/plugins/Kobo Utilities.zip)bin264321 -> 264321 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/KoboTouchExtended.zip (renamed from dotfiles/system/.config/calibre/plugins/KoboTouchExtended.zip)bin49513 -> 49513 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Open With.json (renamed from dotfiles/system/.config/calibre/plugins/Open With.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Open With.zip (renamed from dotfiles/system/.config/calibre/plugins/Open With.zip)bin225919 -> 225919 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Reading List.json (renamed from dotfiles/system/.config/calibre/plugins/Reading List.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Reading List.zip (renamed from dotfiles/system/.config/calibre/plugins/Reading List.zip)bin425425 -> 425425 bytes
-rw-r--r--dotfiles/common/.config/calibre/plugins/Search The Internet.json (renamed from dotfiles/system/.config/calibre/plugins/Search The Internet.json)0
-rw-r--r--dotfiles/common/.config/calibre/plugins/Wikidata.zip (renamed from dotfiles/system/.config/calibre/plugins/Wikidata.zip)bin39319 -> 39319 bytes
-rw-r--r--dotfiles/common/.config/calibre/save_to_disk.py.json (renamed from dotfiles/system/.config/calibre/save_to_disk.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/scheduler.xml (renamed from dotfiles/system/.config/calibre/scheduler.xml)0
-rw-r--r--dotfiles/common/.config/calibre/server-config.txt (renamed from dotfiles/system/.config/calibre/server-config.txt)0
-rw-r--r--dotfiles/common/.config/calibre/server-custom-list-template.json (renamed from dotfiles/system/.config/calibre/server-custom-list-template.json)0
-rw-r--r--dotfiles/common/.config/calibre/server-search-the-net.json (renamed from dotfiles/system/.config/calibre/server-search-the-net.json)0
-rw-r--r--dotfiles/common/.config/calibre/server-users.sqlite (renamed from dotfiles/system/.config/calibre/server-users.sqlite)bin12288 -> 12288 bytes
-rw-r--r--dotfiles/common/.config/calibre/shortcuts/main.json (renamed from dotfiles/system/.config/calibre/shortcuts/main.json)0
-rw-r--r--dotfiles/common/.config/calibre/smtp.py.json (renamed from dotfiles/system/.config/calibre/smtp.py.json)0
-rw-r--r--dotfiles/common/.config/calibre/tag-map-rules.json (renamed from dotfiles/system/.config/calibre/tag-map-rules.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer-webengine.json (renamed from dotfiles/system/.config/calibre/viewer-webengine.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer.json (renamed from dotfiles/system/.config/calibre/viewer.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json (renamed from dotfiles/system/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json (renamed from dotfiles/system/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json (renamed from dotfiles/system/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json (renamed from dotfiles/system/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json (renamed from dotfiles/system/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json (renamed from dotfiles/system/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json (renamed from dotfiles/system/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json)0
-rw-r--r--dotfiles/common/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json (renamed from dotfiles/system/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json)0
-rw-r--r--dotfiles/common/.config/conky/conky.conf (renamed from dotfiles/system/.config/conky/conky.conf)0
-rw-r--r--dotfiles/common/.config/dunst/dunstrc (renamed from dotfiles/system/.config/dunst/dunstrc)0
-rw-r--r--dotfiles/common/.config/environment.d/envvars.conf (renamed from dotfiles/system/.config/environment.d/envvars.conf)0
-rw-r--r--dotfiles/common/.config/feh/keys (renamed from dotfiles/system/.config/feh/keys)2
-rw-r--r--dotfiles/common/.config/flameshot/flameshot.ini (renamed from dotfiles/system/.config/flameshot/flameshot.ini)0
-rw-r--r--dotfiles/common/.config/fontconfig/fonts.conf (renamed from dotfiles/system/.config/fontconfig/fonts.conf)0
-rw-r--r--dotfiles/common/.config/gtk-3.0/gtk.css (renamed from dotfiles/system/.config/gtk-3.0/gtk.css)0
-rw-r--r--dotfiles/common/.config/gtk-3.0/settings.ini (renamed from dotfiles/system/.config/gtk-3.0/settings.ini)0
-rw-r--r--dotfiles/common/.config/htop/htoprc (renamed from dotfiles/system/.config/htop/htoprc)0
-rw-r--r--dotfiles/common/.config/mc/panels.ini (renamed from dotfiles/system/.config/mc/panels.ini)0
-rw-r--r--dotfiles/common/.config/mpd/mpd.conf (renamed from dotfiles/system/.config/mpd/mpd.conf)0
-rw-r--r--dotfiles/common/.config/mpd/musicpd.conf (renamed from dotfiles/system/.config/mpd/musicpd.conf)0
-rw-r--r--dotfiles/common/.config/mpv/input.conf (renamed from dotfiles/system/.config/mpv/input.conf)0
-rw-r--r--dotfiles/common/.config/mpv/mpv.conf (renamed from dotfiles/system/.config/mpv/mpv.conf)0
-rw-r--r--dotfiles/common/.config/ncmpcpp/bindings (renamed from dotfiles/system/.config/ncmpcpp/bindings)0
-rw-r--r--dotfiles/common/.config/ncmpcpp/config (renamed from dotfiles/system/.config/ncmpcpp/config)0
-rw-r--r--dotfiles/common/.config/picom.conf (renamed from dotfiles/system/.config/picom.conf)0
-rw-r--r--dotfiles/common/.config/qalculate/qalculate-gtk.cfg (renamed from dotfiles/system/.config/qalculate/qalculate-gtk.cfg)2
-rw-r--r--dotfiles/common/.config/qt5ct/qt5ct.conf (renamed from dotfiles/system/.config/qt5ct/qt5ct.conf)0
-rw-r--r--dotfiles/common/.config/qt6ct/qt6ct.conf29
-rw-r--r--dotfiles/common/.config/ranger/commands.py (renamed from dotfiles/system/.config/ranger/commands.py)0
-rw-r--r--dotfiles/common/.config/ranger/commands_full.py (renamed from dotfiles/system/.config/ranger/commands_full.py)0
-rw-r--r--dotfiles/common/.config/ranger/rc.conf (renamed from dotfiles/system/.config/ranger/rc.conf)0
-rw-r--r--dotfiles/common/.config/ranger/rifle.conf (renamed from dotfiles/system/.config/ranger/rifle.conf)0
-rwxr-xr-xdotfiles/common/.config/ranger/scope.sh (renamed from dotfiles/system/.config/ranger/scope.sh)0
-rw-r--r--dotfiles/common/.config/redshift.conf (renamed from dotfiles/system/.config/redshift.conf)0
-rw-r--r--dotfiles/common/.config/rofi/config.rasi (renamed from dotfiles/system/.config/rofi/config.rasi)0
-rw-r--r--dotfiles/common/.config/rofi/themes/rounded-gray-dark.rasi (renamed from dotfiles/system/.config/rofi/themes/rounded-gray-dark.rasi)0
-rw-r--r--dotfiles/common/.config/sxhkd/sxhkdrc (renamed from dotfiles/system/.config/sxhkd/sxhkdrc)2
-rw-r--r--dotfiles/common/.config/systemd/user/emacs.service (renamed from dotfiles/system/.config/systemd/user/emacs.service)0
-rw-r--r--dotfiles/common/.config/systemd/user/geoclue-agent.service (renamed from dotfiles/system/.config/systemd/user/geoclue-agent.service)0
-rw-r--r--dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf (renamed from dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf)0
-rw-r--r--dotfiles/common/.config/tickrs/config.yml (renamed from dotfiles/system/.config/tickrs/config.yml)0
-rw-r--r--dotfiles/common/.config/topgrade.toml (renamed from dotfiles/system/.config/topgrade.toml)0
-rw-r--r--dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf (renamed from dotfiles/system/.config/touchpad-indicator/touchpad-indicator.conf)0
l---------dotfiles/common/.config/transmission-daemon (renamed from dotfiles/system/.config/transmission-daemon)0
-rw-r--r--dotfiles/common/.config/transmission/settings.json (renamed from dotfiles/system/.config/transmission/settings.json)0
-rw-r--r--dotfiles/common/.config/user-dirs.dirs (renamed from dotfiles/system/.config/user-dirs.dirs)0
-rw-r--r--dotfiles/common/.config/user-dirs.locale (renamed from dotfiles/system/.config/user-dirs.locale)0
-rw-r--r--dotfiles/common/.config/yt-dlp/config20
-rw-r--r--dotfiles/common/.config/zathura/zathurarc (renamed from dotfiles/system/.config/zathura/zathurarc)0
-rw-r--r--dotfiles/common/.gitconfig (renamed from dotfiles/system/.gitconfig)0
-rw-r--r--dotfiles/common/.gitignore (renamed from dotfiles/system/.gitignore)0
-rw-r--r--dotfiles/common/.gtkrc-2.0 (renamed from dotfiles/system/.gtkrc-2.0)0
-rw-r--r--dotfiles/common/.hushlogin (renamed from dotfiles/system/.hushlogin)0
-rw-r--r--dotfiles/common/.latexmkrc (renamed from dotfiles/system/.latexmkrc)0
-rwxr-xr-xdotfiles/common/.local/bin/AAXtoMP3 (renamed from dotfiles/system/.local/bin/AAXtoMP3)0
-rwxr-xr-xdotfiles/common/.local/bin/ai-assistants (renamed from dotfiles/system/.local/bin/ai-assistants)0
-rwxr-xr-xdotfiles/common/.local/bin/any2flac (renamed from dotfiles/system/.local/bin/any2flac)0
-rwxr-xr-xdotfiles/common/.local/bin/any2opus (renamed from dotfiles/system/.local/bin/any2opus)0
-rwxr-xr-xdotfiles/common/.local/bin/build-emacs.sh (renamed from dotfiles/system/.local/bin/build-emacs.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/clobberall (renamed from dotfiles/system/.local/bin/clobberall)0
-rw-r--r--dotfiles/common/.local/bin/cron/README.md (renamed from dotfiles/system/.local/bin/cron/README.md)0
-rwxr-xr-xdotfiles/common/.local/bin/cron/checkup (renamed from dotfiles/system/.local/bin/cron/checkup)0
-rwxr-xr-xdotfiles/common/.local/bin/cron/crontog (renamed from dotfiles/system/.local/bin/cron/crontog)0
-rwxr-xr-xdotfiles/common/.local/bin/dab (renamed from dotfiles/system/.local/bin/dab)0
-rwxr-xr-xdotfiles/common/.local/bin/ec (renamed from dotfiles/system/.local/bin/ec)0
-rwxr-xr-xdotfiles/common/.local/bin/em (renamed from dotfiles/system/.local/bin/em)0
-rwxr-xr-xdotfiles/common/.local/bin/et (renamed from dotfiles/system/.local/bin/et)0
-rwxr-xr-xdotfiles/common/.local/bin/extractaudio (renamed from dotfiles/system/.local/bin/extractaudio)0
-rwxr-xr-xdotfiles/common/.local/bin/get-arch-iso.sh (renamed from dotfiles/system/.local/bin/get-arch-iso.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/gitconfig_defaults (renamed from dotfiles/system/.local/bin/gitconfig_defaults)0
-rwxr-xr-xdotfiles/common/.local/bin/ifinstalled (renamed from dotfiles/system/.local/bin/ifinstalled)0
-rwxr-xr-xdotfiles/common/.local/bin/linkhandler (renamed from dotfiles/system/.local/bin/linkhandler)0
-rwxr-xr-xdotfiles/common/.local/bin/mkplaylist (renamed from dotfiles/system/.local/bin/mkplaylist)0
-rwxr-xr-xdotfiles/common/.local/bin/mpd_play_yt_stream (renamed from dotfiles/system/.local/bin/mpd_play_yt_stream)0
-rwxr-xr-xdotfiles/common/.local/bin/msmtp-enqueue.sh (renamed from dotfiles/system/.local/bin/msmtp-enqueue.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/msmtp-listqueue.sh (renamed from dotfiles/system/.local/bin/msmtp-listqueue.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/msmtp-runqueue.sh (renamed from dotfiles/system/.local/bin/msmtp-runqueue.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/open-file-in-eww (renamed from dotfiles/system/.local/bin/open-file-in-eww)0
-rwxr-xr-xdotfiles/common/.local/bin/opus2mp3 (renamed from dotfiles/system/.local/bin/opus2mp3)0
-rwxr-xr-xdotfiles/common/.local/bin/org-capture.sh (renamed from dotfiles/system/.local/bin/org-capture.sh)0
-rwxr-xr-xdotfiles/common/.local/bin/org-protocol-setup9
-rwxr-xr-xdotfiles/common/.local/bin/ps-mem (renamed from dotfiles/system/.local/bin/ps-mem)0
-rwxr-xr-xdotfiles/common/.local/bin/refresharchkeys (renamed from dotfiles/system/.local/bin/refresharchkeys)0
-rwxr-xr-xdotfiles/common/.local/bin/ssh-createkeys (renamed from dotfiles/system/.local/bin/ssh-createkeys)0
-rwxr-xr-xdotfiles/common/.local/bin/timezone-change (renamed from dotfiles/system/.local/bin/timezone-change)0
-rwxr-xr-xdotfiles/common/.local/bin/timezone-set (renamed from dotfiles/system/.local/bin/timezone-set)0
-rwxr-xr-xdotfiles/common/.local/bin/torwrap (renamed from dotfiles/system/.local/bin/torwrap)0
-rwxr-xr-xdotfiles/common/.local/bin/updatemirrors (renamed from dotfiles/system/.local/bin/updatemirrors)0
-rwxr-xr-xdotfiles/common/.local/bin/warpinator-start (renamed from dotfiles/system/.local/bin/warpinator-start)0
-rw-r--r--dotfiles/common/.local/share/applications/mimeapps.list (renamed from dotfiles/system/.local/share/applications/mimeapps.list)0
-rw-r--r--dotfiles/common/.local/share/applications/org-protocol.desktop (renamed from dotfiles/system/.local/share/applications/org-protocol.desktop)0
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/2a03.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/2a03.wsz)bin19553 -> 19553 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Adidas2-3.zip (renamed from dotfiles/system/.local/share/audacious/Skins/Adidas2-3.zip)bin29938 -> 29938 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Blac.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Blac.wsz)bin129798 -> 129798 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz)bin226617 -> 226617 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Digital_Stereo_73.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Digital_Stereo_73.wsz)bin64065 -> 64065 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz)bin244168 -> 244168 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Future_Audio_1.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Future_Audio_1.wsz)bin92650 -> 92650 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz)bin75766 -> 75766 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz)bin311586 -> 311586 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz)bin139475 -> 139475 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/PioneerAmp.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/PioneerAmp.wsz)bin55340 -> 55340 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz)bin105829 -> 105829 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/SONY3.WSZ (renamed from dotfiles/system/.local/share/audacious/Skins/SONY3.WSZ)bin42268 -> 42268 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Sony MD.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Sony MD.wsz)bin79957 -> 79957 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Spy Amp.zip (renamed from dotfiles/system/.local/share/audacious/Skins/Spy Amp.zip)bin51211 -> 51211 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz)bin202473 -> 202473 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz)bin198970 -> 198970 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz)bin191945 -> 191945 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz)bin208361 -> 208361 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Steel_Stereo.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Steel_Stereo.wsz)bin224116 -> 224116 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/Technoia_ver001.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/Technoia_ver001.wsz)bin148428 -> 148428 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/base-2.91.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/base-2.91.wsz)bin101121 -> 101121 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/deviantamp.zip (renamed from dotfiles/system/.local/share/audacious/Skins/deviantamp.zip)bin77218 -> 77218 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/iWinamp_V1.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/iWinamp_V1.wsz)bin142681 -> 142681 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/nadamp.zip (renamed from dotfiles/system/.local/share/audacious/Skins/nadamp.zip)bin38073 -> 38073 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/s_Pioneer.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/s_Pioneer.wsz)bin54003 -> 54003 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/satellite.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/satellite.wsz)bin46562 -> 46562 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/sonympfx3lcdv111.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/sonympfx3lcdv111.wsz)bin41131 -> 41131 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/spyamp.zip (renamed from dotfiles/system/.local/share/audacious/Skins/spyamp.zip)bin76065 -> 76065 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/spyamp_sepia.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/spyamp_sepia.wsz)bin61038 -> 61038 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/spyampy2k.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/spyampy2k.wsz)bin124124 -> 124124 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/spyampy2k3.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/spyampy2k3.wsz)bin100716 -> 100716 bytes
-rw-r--r--dotfiles/common/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz (renamed from dotfiles/system/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz)bin143271 -> 143271 bytes
-rw-r--r--dotfiles/common/.local/share/emoji (renamed from dotfiles/system/.local/share/emoji)0
-rw-r--r--dotfiles/common/.local/share/fonts/AppleColorEmoji.ttf (renamed from dotfiles/system/.local/share/fonts/AppleColorEmoji.ttf)bin42722048 -> 42722048 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.otf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.otf)bin74596 -> 74596 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.ttf)bin114872 -> 114872 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff)bin41892 -> 41892 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff2)bin38584 -> 38584 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.otf)bin75756 -> 75756 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.ttf)bin116664 -> 116664 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff)bin42536 -> 42536 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff2)bin39272 -> 39272 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.otf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.otf)bin75172 -> 75172 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.ttf)bin115636 -> 115636 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff)bin42116 -> 42116 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff2)bin38948 -> 38948 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.otf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.otf)bin72688 -> 72688 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.ttf)bin114656 -> 114656 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff)bin40708 -> 40708 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff2)bin37736 -> 37736 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf)bin2294328 -> 2294328 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf)bin2295172 -> 2295172 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf)bin2294116 -> 2294116 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf)bin2293800 -> 2293800 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf)bin103704 -> 103704 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff)bin49132 -> 49132 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2)bin40404 -> 40404 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf)bin101012 -> 101012 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff)bin45572 -> 45572 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2 (renamed from dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2)bin37568 -> 37568 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-Bold.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-Bold.otf)bin112176 -> 112176 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-BoldItalic.otf)bin120580 -> 120580 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-DemiBold.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-DemiBold.otf)bin110188 -> 110188 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-DemiBoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-DemiBoldItalic.otf)bin121136 -> 121136 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-ExtraBold.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-ExtraBold.otf)bin111532 -> 111532 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-ExtraBoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-ExtraBoldItalic.otf)bin120080 -> 120080 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-ExtraLight.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-ExtraLight.otf)bin108024 -> 108024 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-ExtraLightItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-ExtraLightItalic.otf)bin118496 -> 118496 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-Heavy.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-Heavy.otf)bin113700 -> 113700 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-HeavyItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-HeavyItalic.otf)bin123024 -> 123024 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-Light.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-Light.otf)bin108372 -> 108372 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-LightItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-LightItalic.otf)bin118272 -> 118272 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-Regular.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-Regular.otf)bin107884 -> 107884 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-RegularItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-RegularItalic.otf)bin117452 -> 117452 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-Thin.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-Thin.otf)bin105640 -> 105640 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CartographCF-ThinItalic.otf (renamed from dotfiles/system/.local/share/fonts/CartographCF-ThinItalic.otf)bin116284 -> 116284 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CodeliaLigatures-Bold.otf (renamed from dotfiles/system/.local/share/fonts/CodeliaLigatures-Bold.otf)bin118064 -> 118064 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CodeliaLigatures-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/CodeliaLigatures-BoldItalic.otf)bin117860 -> 117860 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CodeliaLigatures-Italic.otf (renamed from dotfiles/system/.local/share/fonts/CodeliaLigatures-Italic.otf)bin114384 -> 114384 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/CodeliaLigatures-Regular.otf (renamed from dotfiles/system/.local/share/fonts/CodeliaLigatures-Regular.otf)bin116684 -> 116684 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Bold.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Bold.otf)bin92016 -> 92016 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf)bin92188 -> 92188 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Italic.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Italic.otf)bin95120 -> 95120 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Light.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Light.otf)bin95088 -> 95088 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-LightItalic.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-LightItalic.otf)bin96648 -> 96648 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Medium.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Medium.otf)bin94056 -> 94056 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf)bin95256 -> 95256 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Regular.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Regular.otf)bin93004 -> 93004 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-SBIta.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-SBIta.otf)bin96380 -> 96380 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Semibold.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Semibold.otf)bin94744 -> 94744 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-Thin.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-Thin.otf)bin89560 -> 89560 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf)bin90044 -> 90044 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-ULIta.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-ULIta.otf)bin97832 -> 97832 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/ComicCodeLigatures-UltraLight.otf (renamed from dotfiles/system/.local/share/fonts/ComicCodeLigatures-UltraLight.otf)bin95728 -> 95728 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Courier 10 Pitch Regular.otf (renamed from dotfiles/system/.local/share/fonts/Courier 10 Pitch Regular.otf)bin35196 -> 35196 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/MERIFONT.TTF (renamed from dotfiles/system/.local/share/fonts/MERIFONT.TTF)bin49504 -> 49504 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-Black.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-Black.ttf)bin141700 -> 141700 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-BlackItalic.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-BlackItalic.ttf)bin142620 -> 142620 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-Bold.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-Bold.ttf)bin142040 -> 142040 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-BoldItalic.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-BoldItalic.ttf)bin143832 -> 143832 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-Italic.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-Italic.ttf)bin142648 -> 142648 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-Light.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-Light.ttf)bin148124 -> 148124 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-LightItalic.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-LightItalic.ttf)bin142056 -> 142056 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/Merriweather-Regular.ttf (renamed from dotfiles/system/.local/share/fonts/Merriweather-Regular.ttf)bin149120 -> 149120 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/MonoLisa-Bold.otf (renamed from dotfiles/system/.local/share/fonts/MonoLisa-Bold.otf)bin118736 -> 118736 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/MonoLisa-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/MonoLisa-BoldItalic.otf)bin119056 -> 119056 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/MonoLisa-Regular.otf (renamed from dotfiles/system/.local/share/fonts/MonoLisa-Regular.otf)bin116244 -> 116244 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/MonoLisa-RegularItalic.otf (renamed from dotfiles/system/.local/share/fonts/MonoLisa-RegularItalic.otf)bin116892 -> 116892 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-Bold.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-Bold.otf)bin64528 -> 64528 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf)bin66320 -> 66320 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBold.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBold.otf)bin64428 -> 64428 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf)bin65864 -> 65864 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBold.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBold.otf)bin63976 -> 63976 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf)bin65820 -> 65820 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-Heavy.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-Heavy.otf)bin63884 -> 63884 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf)bin66264 -> 66264 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-Light.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-Light.otf)bin64140 -> 64140 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-LightItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-LightItalic.otf)bin66732 -> 66732 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-Medium.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-Medium.otf)bin64364 -> 64364 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf)bin66216 -> 66216 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-Regular.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-Regular.otf)bin64392 -> 64392 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf (renamed from dotfiles/system/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf)bin66240 -> 66240 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProB_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProB_09.ttf)bin4607292 -> 4607292 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProB_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProB_liga_09.ttf)bin4624112 -> 4624112 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProI_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProI_09.ttf)bin4490692 -> 4490692 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProI_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProI_liga_09.ttf)bin4507588 -> 4507588 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProR_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProR_09.ttf)bin5051440 -> 5051440 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProR_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProR_liga_09.ttf)bin5068260 -> 5068260 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProZ_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProZ_09.ttf)bin4439452 -> 4439452 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataProZ_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataProZ_liga_09.ttf)bin4456268 -> 4456268 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_09.ttf)bin3900260 -> 3900260 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf)bin3917076 -> 3917076 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_09.ttf)bin3822344 -> 3822344 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf)bin3839140 -> 3839140 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_09.ttf)bin4233500 -> 4233500 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf)bin4250320 -> 4250320 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_09.ttf)bin3752628 -> 3752628 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf (renamed from dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf)bin3769444 -> 3769444 bytes
-rw-r--r--dotfiles/common/.local/share/fonts/all-the-icons.ttf (renamed from dotfiles/system/.local/share/fonts/all-the-icons.ttf)bin44732 -> 44732 bytes
-rw-r--r--dotfiles/common/.local/share/rhythmbox/playlists.xml (renamed from dotfiles/system/.local/share/rhythmbox/playlists.xml)0
-rw-r--r--dotfiles/common/.local/share/rhythmbox/podcast-timestamp (renamed from dotfiles/system/.local/share/rhythmbox/podcast-timestamp)0
-rw-r--r--dotfiles/common/.local/share/rhythmbox/rhythmdb.xml (renamed from dotfiles/system/.local/share/rhythmbox/rhythmdb.xml)0
-rw-r--r--dotfiles/common/.local/share/thequestionconcerningtechnology.txt (renamed from dotfiles/system/.local/share/thequestionconcerningtechnology.txt)0
-rw-r--r--dotfiles/common/.mbsyncrc (renamed from dotfiles/system/.mbsyncrc)0
-rw-r--r--dotfiles/common/.msmtprc (renamed from dotfiles/system/.msmtprc)4
-rw-r--r--dotfiles/common/.profile81
-rw-r--r--dotfiles/common/.profile.d/auto-tmux-session.sh8
-rw-r--r--dotfiles/common/.profile.d/display.sh11
-rw-r--r--dotfiles/common/.profile.d/framework.sh9
-rw-r--r--dotfiles/common/.ssh/config (renamed from dotfiles/system/.ssh/config)0
-rw-r--r--dotfiles/common/.ssh/decrypt_ssh (renamed from dotfiles/system/.ssh/decrypt_ssh)0
-rw-r--r--dotfiles/common/.ssh/set_perms (renamed from dotfiles/system/.ssh/set_perms)0
-rw-r--r--dotfiles/common/.ssh/ssh.tar.gz.gpg (renamed from dotfiles/system/.ssh/ssh.tar.gz.gpg)bin543 -> 543 bytes
-rw-r--r--dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.dict.dz (renamed from dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.dict.dz)bin27330569 -> 27330569 bytes
-rw-r--r--dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx (renamed from dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx)bin3024035 -> 3024035 bytes
-rw-r--r--dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx.oft (renamed from dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx.oft)bin20062 -> 20062 bytes
-rw-r--r--dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.ifo (renamed from dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.ifo)0
-rw-r--r--dotfiles/common/.stow-global-ignore (renamed from dotfiles/system/.stow-global-ignore)0
-rw-r--r--dotfiles/common/.ticker.yaml (renamed from dotfiles/system/.ticker.yaml)0
-rw-r--r--dotfiles/common/.tmux.conf (renamed from dotfiles/system/.tmux.conf)0
-rw-r--r--dotfiles/common/.vale.ini (renamed from dotfiles/system/.vale.ini)0
-rw-r--r--dotfiles/common/.wegorc (renamed from dotfiles/system/.wegorc)0
-rwxr-xr-xdotfiles/common/.xinitrc (renamed from dotfiles/system/.xinitrc)0
-rw-r--r--dotfiles/common/.xscreensaver (renamed from dotfiles/system/.xscreensaver)0
-rw-r--r--dotfiles/common/.zsh/README.md (renamed from dotfiles/system/.zsh/README.md)0
-rw-r--r--dotfiles/common/.zsh/fzf-tab.zsh (renamed from dotfiles/system/.zsh/fzf-tab.zsh)0
-rw-r--r--dotfiles/common/.zsh/lib/-ftb-colorize (renamed from dotfiles/system/.zsh/lib/-ftb-colorize)0
-rwxr-xr-xdotfiles/common/.zsh/lib/-ftb-fzf (renamed from dotfiles/system/.zsh/lib/-ftb-fzf)0
-rw-r--r--dotfiles/common/.zsh/lib/-ftb-generate-complist (renamed from dotfiles/system/.zsh/lib/-ftb-generate-complist)0
-rw-r--r--dotfiles/common/.zsh/lib/-ftb-generate-header (renamed from dotfiles/system/.zsh/lib/-ftb-generate-header)0
-rw-r--r--dotfiles/common/.zsh/lib/-ftb-generate-query (renamed from dotfiles/system/.zsh/lib/-ftb-generate-query)0
-rw-r--r--dotfiles/common/.zsh/lib/ftb-switch-group (renamed from dotfiles/system/.zsh/lib/ftb-switch-group)0
-rwxr-xr-xdotfiles/common/.zsh/lib/ftb-tmux-popup (renamed from dotfiles/system/.zsh/lib/ftb-tmux-popup)0
-rw-r--r--dotfiles/common/.zsh/lib/zsh-ls-colors/LICENSE (renamed from dotfiles/system/.zsh/lib/zsh-ls-colors/LICENSE)0
-rw-r--r--dotfiles/common/.zsh/lib/zsh-ls-colors/README.md (renamed from dotfiles/system/.zsh/lib/zsh-ls-colors/README.md)0
-rwxr-xr-xdotfiles/common/.zsh/lib/zsh-ls-colors/demo (renamed from dotfiles/system/.zsh/lib/zsh-ls-colors/demo)0
-rw-r--r--dotfiles/common/.zsh/lib/zsh-ls-colors/ls-colors.zsh (renamed from dotfiles/system/.zsh/lib/zsh-ls-colors/ls-colors.zsh)0
-rw-r--r--dotfiles/common/.zsh/modules/.cvsignore (renamed from dotfiles/system/.zsh/modules/.cvsignore)0
-rw-r--r--dotfiles/common/.zsh/modules/.distfiles (renamed from dotfiles/system/.zsh/modules/.distfiles)0
-rw-r--r--dotfiles/common/.zsh/modules/.editorconfig (renamed from dotfiles/system/.zsh/modules/.editorconfig)0
-rw-r--r--dotfiles/common/.zsh/modules/.gitignore (renamed from dotfiles/system/.zsh/modules/.gitignore)0
-rwxr-xr-xdotfiles/common/.zsh/modules/.preconfig (renamed from dotfiles/system/.zsh/modules/.preconfig)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/.cvsignore (renamed from dotfiles/system/.zsh/modules/Config/.cvsignore)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/.distfiles (renamed from dotfiles/system/.zsh/modules/Config/.distfiles)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/aczshoot.m4 (renamed from dotfiles/system/.zsh/modules/Config/aczshoot.m4)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/clean.mk (renamed from dotfiles/system/.zsh/modules/Config/clean.mk)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/config.mk (renamed from dotfiles/system/.zsh/modules/Config/config.mk)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/defs.mk.in (renamed from dotfiles/system/.zsh/modules/Config/defs.mk.in)0
-rwxr-xr-xdotfiles/common/.zsh/modules/Config/installfns.sh (renamed from dotfiles/system/.zsh/modules/Config/installfns.sh)0
-rwxr-xr-xdotfiles/common/.zsh/modules/Config/uninstallfns.sh (renamed from dotfiles/system/.zsh/modules/Config/uninstallfns.sh)0
-rw-r--r--dotfiles/common/.zsh/modules/Config/version.mk (renamed from dotfiles/system/.zsh/modules/Config/version.mk)0
-rw-r--r--dotfiles/common/.zsh/modules/LICENCE (renamed from dotfiles/system/.zsh/modules/LICENCE)0
-rw-r--r--dotfiles/common/.zsh/modules/Makefile.in (renamed from dotfiles/system/.zsh/modules/Makefile.in)0
-rw-r--r--dotfiles/common/.zsh/modules/RECOMPILE_REQUEST (renamed from dotfiles/system/.zsh/modules/RECOMPILE_REQUEST)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/.cvsignore (renamed from dotfiles/system/.zsh/modules/Src/.cvsignore)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/.distfiles (renamed from dotfiles/system/.zsh/modules/Src/.distfiles)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/.exrc (renamed from dotfiles/system/.zsh/modules/Src/.exrc)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/.indent.pro (renamed from dotfiles/system/.zsh/modules/Src/.indent.pro)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/Makefile.in (renamed from dotfiles/system/.zsh/modules/Src/Makefile.in)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/Makemod.in.in (renamed from dotfiles/system/.zsh/modules/Src/Makemod.in.in)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/.cvsignore (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/.cvsignore)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/.distfiles (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/.distfiles)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/.exrc (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/.exrc)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/.gitignore (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/.gitignore)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.c (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.mdd (renamed from dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.mdd)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/builtin.c (renamed from dotfiles/system/.zsh/modules/Src/builtin.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/compat.c (renamed from dotfiles/system/.zsh/modules/Src/compat.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/exec.c (renamed from dotfiles/system/.zsh/modules/Src/exec.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/glob.c (renamed from dotfiles/system/.zsh/modules/Src/glob.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/hashtable.c (renamed from dotfiles/system/.zsh/modules/Src/hashtable.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/hashtable.h (renamed from dotfiles/system/.zsh/modules/Src/hashtable.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/init.c (renamed from dotfiles/system/.zsh/modules/Src/init.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/input.c (renamed from dotfiles/system/.zsh/modules/Src/input.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/jobs.c (renamed from dotfiles/system/.zsh/modules/Src/jobs.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/lex.c (renamed from dotfiles/system/.zsh/modules/Src/lex.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/loop.c (renamed from dotfiles/system/.zsh/modules/Src/loop.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/makepro.awk (renamed from dotfiles/system/.zsh/modules/Src/makepro.awk)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/mem.c (renamed from dotfiles/system/.zsh/modules/Src/mem.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/mkbltnmlst.sh (renamed from dotfiles/system/.zsh/modules/Src/mkbltnmlst.sh)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/mkmakemod.sh (renamed from dotfiles/system/.zsh/modules/Src/mkmakemod.sh)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/module.c (renamed from dotfiles/system/.zsh/modules/Src/module.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/options.c (renamed from dotfiles/system/.zsh/modules/Src/options.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/params.c (renamed from dotfiles/system/.zsh/modules/Src/params.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/parse.c (renamed from dotfiles/system/.zsh/modules/Src/parse.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/pattern.c (renamed from dotfiles/system/.zsh/modules/Src/pattern.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/prompt.c (renamed from dotfiles/system/.zsh/modules/Src/prompt.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/prototypes.h (renamed from dotfiles/system/.zsh/modules/Src/prototypes.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/signals.c (renamed from dotfiles/system/.zsh/modules/Src/signals.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/signals.h (renamed from dotfiles/system/.zsh/modules/Src/signals.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/signames1.awk (renamed from dotfiles/system/.zsh/modules/Src/signames1.awk)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/signames2.awk (renamed from dotfiles/system/.zsh/modules/Src/signames2.awk)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/string.c (renamed from dotfiles/system/.zsh/modules/Src/string.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/utils.c (renamed from dotfiles/system/.zsh/modules/Src/utils.c)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/wcwidth9.h (renamed from dotfiles/system/.zsh/modules/Src/wcwidth9.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/zsh.h (renamed from dotfiles/system/.zsh/modules/Src/zsh.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/zsh.mdd (renamed from dotfiles/system/.zsh/modules/Src/zsh.mdd)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/zsh.rc (renamed from dotfiles/system/.zsh/modules/Src/zsh.rc)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/zsh_system.h (renamed from dotfiles/system/.zsh/modules/Src/zsh_system.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Src/ztype.h (renamed from dotfiles/system/.zsh/modules/Src/ztype.h)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/.cvsignore (renamed from dotfiles/system/.zsh/modules/Test/.cvsignore)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/.distfiles (renamed from dotfiles/system/.zsh/modules/Test/.distfiles)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A01grammar.ztst (renamed from dotfiles/system/.zsh/modules/Test/A01grammar.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A02alias.ztst (renamed from dotfiles/system/.zsh/modules/Test/A02alias.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A03quoting.ztst (renamed from dotfiles/system/.zsh/modules/Test/A03quoting.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A04redirect.ztst (renamed from dotfiles/system/.zsh/modules/Test/A04redirect.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A05execution.ztst (renamed from dotfiles/system/.zsh/modules/Test/A05execution.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A06assign.ztst (renamed from dotfiles/system/.zsh/modules/Test/A06assign.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/A07control.ztst (renamed from dotfiles/system/.zsh/modules/Test/A07control.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B01cd.ztst (renamed from dotfiles/system/.zsh/modules/Test/B01cd.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B02typeset.ztst (renamed from dotfiles/system/.zsh/modules/Test/B02typeset.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B03print.ztst (renamed from dotfiles/system/.zsh/modules/Test/B03print.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B04read.ztst (renamed from dotfiles/system/.zsh/modules/Test/B04read.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B05eval.ztst (renamed from dotfiles/system/.zsh/modules/Test/B05eval.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B06fc.ztst (renamed from dotfiles/system/.zsh/modules/Test/B06fc.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B07emulate.ztst (renamed from dotfiles/system/.zsh/modules/Test/B07emulate.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B08shift.ztst (renamed from dotfiles/system/.zsh/modules/Test/B08shift.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/B09hash.ztst (renamed from dotfiles/system/.zsh/modules/Test/B09hash.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/C01arith.ztst (renamed from dotfiles/system/.zsh/modules/Test/C01arith.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/C02cond.ztst (renamed from dotfiles/system/.zsh/modules/Test/C02cond.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/C03traps.ztst (renamed from dotfiles/system/.zsh/modules/Test/C03traps.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/C04funcdef.ztst (renamed from dotfiles/system/.zsh/modules/Test/C04funcdef.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/C05debug.ztst (renamed from dotfiles/system/.zsh/modules/Test/C05debug.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D01prompt.ztst (renamed from dotfiles/system/.zsh/modules/Test/D01prompt.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D02glob.ztst (renamed from dotfiles/system/.zsh/modules/Test/D02glob.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D03procsubst.ztst (renamed from dotfiles/system/.zsh/modules/Test/D03procsubst.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D04parameter.ztst (renamed from dotfiles/system/.zsh/modules/Test/D04parameter.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D05array.ztst (renamed from dotfiles/system/.zsh/modules/Test/D05array.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D06subscript.ztst (renamed from dotfiles/system/.zsh/modules/Test/D06subscript.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D07multibyte.ztst (renamed from dotfiles/system/.zsh/modules/Test/D07multibyte.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D08cmdsubst.ztst (renamed from dotfiles/system/.zsh/modules/Test/D08cmdsubst.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/D09brace.ztst (renamed from dotfiles/system/.zsh/modules/Test/D09brace.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/E01options.ztst (renamed from dotfiles/system/.zsh/modules/Test/E01options.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/E02xtrace.ztst (renamed from dotfiles/system/.zsh/modules/Test/E02xtrace.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/Makefile.in (renamed from dotfiles/system/.zsh/modules/Test/Makefile.in)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/README (renamed from dotfiles/system/.zsh/modules/Test/README)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V02zregexparse.ztst (renamed from dotfiles/system/.zsh/modules/Test/V02zregexparse.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V03mathfunc.ztst (renamed from dotfiles/system/.zsh/modules/Test/V03mathfunc.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V04features.ztst (renamed from dotfiles/system/.zsh/modules/Test/V04features.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V05styles.ztst (renamed from dotfiles/system/.zsh/modules/Test/V05styles.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V07pcre.ztst (renamed from dotfiles/system/.zsh/modules/Test/V07pcre.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V08zpty.ztst (renamed from dotfiles/system/.zsh/modules/Test/V08zpty.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V09datetime.ztst (renamed from dotfiles/system/.zsh/modules/Test/V09datetime.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/V10private.ztst (renamed from dotfiles/system/.zsh/modules/Test/V10private.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/W01history.ztst (renamed from dotfiles/system/.zsh/modules/Test/W01history.ztst)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/comptest (renamed from dotfiles/system/.zsh/modules/Test/comptest)0
-rw-r--r--dotfiles/common/.zsh/modules/Test/runtests.zsh (renamed from dotfiles/system/.zsh/modules/Test/runtests.zsh)0
-rwxr-xr-xdotfiles/common/.zsh/modules/Test/ztst.zsh (renamed from dotfiles/system/.zsh/modules/Test/ztst.zsh)0
-rw-r--r--dotfiles/common/.zsh/modules/aclocal.m4 (renamed from dotfiles/system/.zsh/modules/aclocal.m4)0
-rw-r--r--dotfiles/common/.zsh/modules/aczsh.m4 (renamed from dotfiles/system/.zsh/modules/aczsh.m4)0
-rwxr-xr-xdotfiles/common/.zsh/modules/config.guess (renamed from dotfiles/system/.zsh/modules/config.guess)0
-rw-r--r--dotfiles/common/.zsh/modules/config.h.in (renamed from dotfiles/system/.zsh/modules/config.h.in)0
-rwxr-xr-xdotfiles/common/.zsh/modules/config.sub (renamed from dotfiles/system/.zsh/modules/config.sub)0
-rwxr-xr-xdotfiles/common/.zsh/modules/configure (renamed from dotfiles/system/.zsh/modules/configure)0
-rw-r--r--dotfiles/common/.zsh/modules/configure.ac (renamed from dotfiles/system/.zsh/modules/configure.ac)0
-rwxr-xr-xdotfiles/common/.zsh/modules/copy_from_zsh_src.zsh (renamed from dotfiles/system/.zsh/modules/copy_from_zsh_src.zsh)0
-rwxr-xr-xdotfiles/common/.zsh/modules/install-sh (renamed from dotfiles/system/.zsh/modules/install-sh)0
-rwxr-xr-xdotfiles/common/.zsh/modules/mkinstalldirs (renamed from dotfiles/system/.zsh/modules/mkinstalldirs)0
-rw-r--r--dotfiles/common/.zsh/modules/patch_cfgac.diff (renamed from dotfiles/system/.zsh/modules/patch_cfgac.diff)0
-rw-r--r--dotfiles/common/.zsh/modules/stamp-h.in (renamed from dotfiles/system/.zsh/modules/stamp-h.in)0
-rw-r--r--dotfiles/common/.zshrc200
-rw-r--r--dotfiles/common/.zshrc.d/aliases.sh91
-rw-r--r--dotfiles/common/.zshrc.d/arch-downgrade.sh47
-rw-r--r--dotfiles/common/.zshrc.d/emacs.sh24
-rw-r--r--dotfiles/common/.zshrc.d/fzf.sh122
-rw-r--r--dotfiles/common/.zshrc.d/git.sh32
-rw-r--r--dotfiles/common/.zshrc.d/media.sh41
-rw-r--r--dotfiles/common/.zshrc.d/utilities.sh206
-rw-r--r--dotfiles/common/documents/bazzite-fractal-save-desktop.sd.tar.gz (renamed from dotfiles/system/documents/bazzite-fractal-save-desktop.sd.tar.gz)bin1387318 -> 1387318 bytes
-rw-r--r--dotfiles/common/documents/bazzite-fractal.sd.tar.gz (renamed from dotfiles/system/documents/bazzite-fractal.sd.tar.gz)bin1415141 -> 1415141 bytes
-rw-r--r--dotfiles/common/music/60s Sounds.m3u (renamed from dotfiles/system/music/60s Sounds.m3u)0
-rw-r--r--dotfiles/common/music/90s Sounds.m3u (renamed from dotfiles/system/music/90s Sounds.m3u)0
-rw-r--r--dotfiles/common/music/Ambient Sleeping Pill.m3u (renamed from dotfiles/system/music/Ambient Sleeping Pill.m3u)0
-rw-r--r--dotfiles/common/music/BAGeL Radio.m3u (renamed from dotfiles/system/music/BAGeL Radio.m3u)0
-rw-r--r--dotfiles/common/music/BBC World Service.m3u (renamed from dotfiles/system/music/BBC World Service.m3u)0
-rw-r--r--dotfiles/common/music/Baroque Sonatas.m3u (renamed from dotfiles/system/music/Baroque Sonatas.m3u)0
-rw-r--r--dotfiles/common/music/Black Flamingos - Space Bar.m4a (renamed from dotfiles/system/music/Black Flamingos - Space Bar.m4a)bin3819479 -> 3819479 bytes
-rw-r--r--dotfiles/common/music/Blues Radio.m3u (renamed from dotfiles/system/music/Blues Radio.m3u)0
-rw-r--r--dotfiles/common/music/Dark Ambient.m3u (renamed from dotfiles/system/music/Dark Ambient.m3u)0
-rw-r--r--dotfiles/common/music/Flux FM Radio.m3u (renamed from dotfiles/system/music/Flux FM Radio.m3u)0
-rw-r--r--dotfiles/common/music/Jazz Radio Happy Hour.m3u (renamed from dotfiles/system/music/Jazz Radio Happy Hour.m3u)0
-rw-r--r--dotfiles/common/music/Jazz Radio Latin Jazz.m3u (renamed from dotfiles/system/music/Jazz Radio Latin Jazz.m3u)0
-rw-r--r--dotfiles/common/music/Jazz Radio New Orleans.m3u (renamed from dotfiles/system/music/Jazz Radio New Orleans.m3u)0
-rw-r--r--dotfiles/common/music/Jazz Radio Only Women.m3u (renamed from dotfiles/system/music/Jazz Radio Only Women.m3u)0
-rw-r--r--dotfiles/common/music/Malvern Radio International Classical.m3u (renamed from dotfiles/system/music/Malvern Radio International Classical.m3u)0
-rw-r--r--dotfiles/common/music/NPR 24 Hour Radio.m3u (renamed from dotfiles/system/music/NPR 24 Hour Radio.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Acoustic Blues.m3u (renamed from dotfiles/system/music/Radio Caprice Acoustic Blues.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Breakbeat.m3u (renamed from dotfiles/system/music/Radio Caprice Breakbeat.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Baroque.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Baroque.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Cello.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Cello.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Impressionism.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Impressionism.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Lute.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Lute.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Medieval.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Medieval.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Piano.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Piano.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Renaissance.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Renaissance.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Sonata.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Sonata.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Strings.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Strings.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Classical Violin.m3u (renamed from dotfiles/system/music/Radio Caprice Classical Violin.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Delta Blues.m3u (renamed from dotfiles/system/music/Radio Caprice Delta Blues.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Downtempo.m3u (renamed from dotfiles/system/music/Radio Caprice Downtempo.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Dubstep.m3u (renamed from dotfiles/system/music/Radio Caprice Dubstep.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Gregorian Chants.m3u (renamed from dotfiles/system/music/Radio Caprice Gregorian Chants.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Hardcore Punk.m3u (renamed from dotfiles/system/music/Radio Caprice Hardcore Punk.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Jazz Bebop.m3u (renamed from dotfiles/system/music/Radio Caprice Jazz Bebop.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Jazz Rap.m3u (renamed from dotfiles/system/music/Radio Caprice Jazz Rap.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Old School Hip-Hop.m3u (renamed from dotfiles/system/music/Radio Caprice Old School Hip-Hop.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Oldies.m3u (renamed from dotfiles/system/music/Radio Caprice Oldies.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Reggae Roots.m3u (renamed from dotfiles/system/music/Radio Caprice Reggae Roots.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Reggae.m3u (renamed from dotfiles/system/music/Radio Caprice Reggae.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Street Punk.m3u (renamed from dotfiles/system/music/Radio Caprice Street Punk.m3u)0
-rw-r--r--dotfiles/common/music/Radio Caprice Trip Hop.m3u (renamed from dotfiles/system/music/Radio Caprice Trip Hop.m3u)0
-rw-r--r--dotfiles/common/music/Radio Swiss Classic French.m3u (renamed from dotfiles/system/music/Radio Swiss Classic French.m3u)0
-rw-r--r--dotfiles/common/music/Radio Swiss Classic German.m3u (renamed from dotfiles/system/music/Radio Swiss Classic German.m3u)0
-rw-r--r--dotfiles/common/music/Radio Swiss Classic Italian.m3u (renamed from dotfiles/system/music/Radio Swiss Classic Italian.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Beat Blender.m3u (renamed from dotfiles/system/music/SomaFM Beat Blender.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Black Rock FM.m3u (renamed from dotfiles/system/music/SomaFM Black Rock FM.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Boot Liquor.m3u (renamed from dotfiles/system/music/SomaFM Boot Liquor.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Cliqhop IDM.m3u (renamed from dotfiles/system/music/SomaFM Cliqhop IDM.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Dark Zone.m3u (renamed from dotfiles/system/music/SomaFM Dark Zone.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Deep Space One.m3u (renamed from dotfiles/system/music/SomaFM Deep Space One.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Digitalis.m3u (renamed from dotfiles/system/music/SomaFM Digitalis.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Drone Zone.m3u (renamed from dotfiles/system/music/SomaFM Drone Zone.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Dub Step Beyond.m3u (renamed from dotfiles/system/music/SomaFM Dub Step Beyond.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Fluid.m3u (renamed from dotfiles/system/music/SomaFM Fluid.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Folk Forward.m3u (renamed from dotfiles/system/music/SomaFM Folk Forward.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Groove Salad Classic.m3u (renamed from dotfiles/system/music/SomaFM Groove Salad Classic.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Groove Salad.m3u (renamed from dotfiles/system/music/SomaFM Groove Salad.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Heavyweight Reggae.m3u (renamed from dotfiles/system/music/SomaFM Heavyweight Reggae.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Illinois Street Lounge.m3u (renamed from dotfiles/system/music/SomaFM Illinois Street Lounge.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Indie Pop Rocks.m3u (renamed from dotfiles/system/music/SomaFM Indie Pop Rocks.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM PopTron.m3u (renamed from dotfiles/system/music/SomaFM PopTron.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Secret Agent.m3u (renamed from dotfiles/system/music/SomaFM Secret Agent.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Sonic Universe.m3u (renamed from dotfiles/system/music/SomaFM Sonic Universe.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Space Station Soma.m3u (renamed from dotfiles/system/music/SomaFM Space Station Soma.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Suburbs of Goa.m3u (renamed from dotfiles/system/music/SomaFM Suburbs of Goa.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Synphaera.m3u (renamed from dotfiles/system/music/SomaFM Synphaera.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM The Trip.m3u (renamed from dotfiles/system/music/SomaFM The Trip.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Underground 80s.m3u (renamed from dotfiles/system/music/SomaFM Underground 80s.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM Vaporwaves.m3u (renamed from dotfiles/system/music/SomaFM Vaporwaves.m3u)0
-rw-r--r--dotfiles/common/music/SomaFM n5MD Radio.m3u (renamed from dotfiles/system/music/SomaFM n5MD Radio.m3u)0
-rw-r--r--dotfiles/common/music/Sunday Baroque.m3u (renamed from dotfiles/system/music/Sunday Baroque.m3u)0
-rw-r--r--dotfiles/common/music/Surf Rock.m3u (renamed from dotfiles/system/music/Surf Rock.m3u)0
-rw-r--r--dotfiles/common/music/Venice Classic Radio.m3u (renamed from dotfiles/system/music/Venice Classic Radio.m3u)0
-rw-r--r--dotfiles/common/music/WWNO.m3u (renamed from dotfiles/system/music/WWNO.m3u)0
-rw-r--r--dotfiles/common/music/WWOZ New Orleans.m3u (renamed from dotfiles/system/music/WWOZ New Orleans.m3u)0
-rw-r--r--dotfiles/common/pictures/cjennings.jpg (renamed from dotfiles/system/pictures/cjennings.jpg)bin31438 -> 31438 bytes
-rw-r--r--dotfiles/common/pictures/devilman.jpg (renamed from dotfiles/system/pictures/devilman.jpg)bin41707 -> 41707 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/a-streetcar-named-despair.jpg (renamed from dotfiles/system/pictures/wallpaper/a-streetcar-named-despair.jpg)bin287530 -> 287530 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/atari-canyon.png (renamed from dotfiles/system/pictures/wallpaper/atari-canyon.png)bin6054214 -> 6054214 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/balance.jpg (renamed from dotfiles/system/pictures/wallpaper/balance.jpg)bin1189046 -> 1189046 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg (renamed from dotfiles/system/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg)bin80887 -> 80887 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg (renamed from dotfiles/system/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg)bin233590 -> 233590 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/blues-brothers-and-hooker.png (renamed from dotfiles/system/pictures/wallpaper/blues-brothers-and-hooker.png)bin641584 -> 641584 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg (renamed from dotfiles/system/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg)bin197164 -> 197164 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/capetown-south-africa.jpg (renamed from dotfiles/system/pictures/wallpaper/capetown-south-africa.jpg)bin6793104 -> 6793104 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/damrak-amsterdam-netherlands.jpg (renamed from dotfiles/system/pictures/wallpaper/damrak-amsterdam-netherlands.jpg)bin1520134 -> 1520134 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/dark-lion.jpg (renamed from dotfiles/system/pictures/wallpaper/dark-lion.jpg)bin419505 -> 419505 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/deadline.jpg (renamed from dotfiles/system/pictures/wallpaper/deadline.jpg)bin2789105 -> 2789105 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/dodge-this.png (renamed from dotfiles/system/pictures/wallpaper/dodge-this.png)bin1938566 -> 1938566 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/doe.jpg (renamed from dotfiles/system/pictures/wallpaper/doe.jpg)bin633911 -> 633911 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/dolomites-italy.jpg (renamed from dotfiles/system/pictures/wallpaper/dolomites-italy.jpg)bin551757 -> 551757 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg (renamed from dotfiles/system/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg)bin557884 -> 557884 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/early-morning-commute.jpg (renamed from dotfiles/system/pictures/wallpaper/early-morning-commute.jpg)bin2956530 -> 2956530 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/eltz-castle-wiershem-germany.jpg (renamed from dotfiles/system/pictures/wallpaper/eltz-castle-wiershem-germany.jpg)bin2517682 -> 2517682 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/framed.png (renamed from dotfiles/system/pictures/wallpaper/framed.png)bin3130619 -> 3130619 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/fu-some-field-near-you.jpg (renamed from dotfiles/system/pictures/wallpaper/fu-some-field-near-you.jpg)bin6806375 -> 6806375 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/greenwich-village-nyc.jpg (renamed from dotfiles/system/pictures/wallpaper/greenwich-village-nyc.jpg)bin1876768 -> 1876768 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/hawker-sea-fury.jpg (renamed from dotfiles/system/pictures/wallpaper/hawker-sea-fury.jpg)bin91595 -> 91595 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/highway-59-kansas-us.jpg (renamed from dotfiles/system/pictures/wallpaper/highway-59-kansas-us.jpg)bin336799 -> 336799 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg (renamed from dotfiles/system/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg)bin1790861 -> 1790861 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/imminent.jpg (renamed from dotfiles/system/pictures/wallpaper/imminent.jpg)bin725050 -> 725050 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/interior-space.jpg (renamed from dotfiles/system/pictures/wallpaper/interior-space.jpg)bin259853 -> 259853 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/ischia-from-castello-aragonese.jpg (renamed from dotfiles/system/pictures/wallpaper/ischia-from-castello-aragonese.jpg)bin3718266 -> 3718266 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/jack-rabbit-slims.jpeg (renamed from dotfiles/system/pictures/wallpaper/jack-rabbit-slims.jpeg)bin138405 -> 138405 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg (renamed from dotfiles/system/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg)bin265839 -> 265839 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/joker.jpg (renamed from dotfiles/system/pictures/wallpaper/joker.jpg)bin2105037 -> 2105037 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/khan-al-khalili-egypt.jpg (renamed from dotfiles/system/pictures/wallpaper/khan-al-khalili-egypt.jpg)bin2024124 -> 2024124 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/knockturn-alley-london-uk.jpg (renamed from dotfiles/system/pictures/wallpaper/knockturn-alley-london-uk.jpg)bin3743760 -> 3743760 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/knowledge-is-power.jpg (renamed from dotfiles/system/pictures/wallpaper/knowledge-is-power.jpg)bin527943 -> 527943 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg (renamed from dotfiles/system/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg)bin1218998 -> 1218998 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/loch-muick-scotland-uk.jpg (renamed from dotfiles/system/pictures/wallpaper/loch-muick-scotland-uk.jpg)bin2069036 -> 2069036 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/madison.jpg (renamed from dotfiles/system/pictures/wallpaper/madison.jpg)bin793607 -> 793607 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/maps.jpg (renamed from dotfiles/system/pictures/wallpaper/maps.jpg)bin6982816 -> 6982816 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/monday-morning-in-yosemite.jpg (renamed from dotfiles/system/pictures/wallpaper/monday-morning-in-yosemite.jpg)bin5554495 -> 5554495 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/my-summer-home-denmark.png (renamed from dotfiles/system/pictures/wallpaper/my-summer-home-denmark.png)bin3234919 -> 3234919 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/napa-valley-california-us.jpg (renamed from dotfiles/system/pictures/wallpaper/napa-valley-california-us.jpg)bin3582085 -> 3582085 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/nasa-earth-day.jpg (renamed from dotfiles/system/pictures/wallpaper/nasa-earth-day.jpg)bin854563 -> 854563 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/nasa-earth-night.jpg (renamed from dotfiles/system/pictures/wallpaper/nasa-earth-night.jpg)bin891697 -> 891697 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/nazarรฉ-portugal.jpg (renamed from dotfiles/system/pictures/wallpaper/nazarรฉ-portugal.jpg)bin573000 -> 573000 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/no-exit.jpg (renamed from dotfiles/system/pictures/wallpaper/no-exit.jpg)bin4285127 -> 4285127 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/nola-post-hurricane-ida.jpg (renamed from dotfiles/system/pictures/wallpaper/nola-post-hurricane-ida.jpg)bin637443 -> 637443 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/notre-dame-paris-france.jpg (renamed from dotfiles/system/pictures/wallpaper/notre-dame-paris-france.jpg)bin481347 -> 481347 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/oak-plantation.jpg (renamed from dotfiles/system/pictures/wallpaper/oak-plantation.jpg)bin1335300 -> 1335300 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/paddling-out.jpg (renamed from dotfiles/system/pictures/wallpaper/paddling-out.jpg)bin1008914 -> 1008914 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/painswick-from-inside.png (renamed from dotfiles/system/pictures/wallpaper/painswick-from-inside.png)bin1711405 -> 1711405 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/paris-in-royal-colors.jpg (renamed from dotfiles/system/pictures/wallpaper/paris-in-royal-colors.jpg)bin3453047 -> 3453047 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/petit-piton-st-lucia.jpg (renamed from dotfiles/system/pictures/wallpaper/petit-piton-st-lucia.jpg)bin1735652 -> 1735652 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg (renamed from dotfiles/system/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg)bin4385677 -> 4385677 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/remote.jpg (renamed from dotfiles/system/pictures/wallpaper/remote.jpg)bin5119445 -> 5119445 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/sacre-coeur-paris-france.jpg (renamed from dotfiles/system/pictures/wallpaper/sacre-coeur-paris-france.jpg)bin881658 -> 881658 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/saint-sรฉverin-france.jpg (renamed from dotfiles/system/pictures/wallpaper/saint-sรฉverin-france.jpg)bin708586 -> 708586 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/save-yourself.jpg (renamed from dotfiles/system/pictures/wallpaper/save-yourself.jpg)bin328461 -> 328461 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/saves-more-than-text.png (renamed from dotfiles/system/pictures/wallpaper/saves-more-than-text.png)bin390778 -> 390778 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg (renamed from dotfiles/system/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg)bin2417461 -> 2417461 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg (renamed from dotfiles/system/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg)bin176441 -> 176441 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/stalenhag-cartesian-skepticism.png (renamed from dotfiles/system/pictures/wallpaper/stalenhag-cartesian-skepticism.png)bin2091073 -> 2091073 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/that-one-up-there.jpg (renamed from dotfiles/system/pictures/wallpaper/that-one-up-there.jpg)bin1223366 -> 1223366 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/the-arc.jpg (renamed from dotfiles/system/pictures/wallpaper/the-arc.jpg)bin3516844 -> 3516844 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/the-nomad-lounge-nyc.jpg (renamed from dotfiles/system/pictures/wallpaper/the-nomad-lounge-nyc.jpg)bin1391082 -> 1391082 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/tlulum-mexico.jpg (renamed from dotfiles/system/pictures/wallpaper/tlulum-mexico.jpg)bin877326 -> 877326 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg (renamed from dotfiles/system/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg)bin2663941 -> 2663941 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/trondheim-norway.jpg (renamed from dotfiles/system/pictures/wallpaper/trondheim-norway.jpg)bin8301976 -> 8301976 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/twenty-thousand-years.jpg (renamed from dotfiles/system/pictures/wallpaper/twenty-thousand-years.jpg)bin3136404 -> 3136404 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/valldemossa-spain.jpg (renamed from dotfiles/system/pictures/wallpaper/valldemossa-spain.jpg)bin2559008 -> 2559008 bytes
-rw-r--r--dotfiles/common/pictures/wallpaper/zendopeak.jpg (renamed from dotfiles/system/pictures/wallpaper/zendopeak.jpg)bin3195673 -> 3195673 bytes
-rw-r--r--dotfiles/dwm/.gnupg/gpg-agent.conf (renamed from dotfiles/system/.gnupg/gpg-agent.conf)0
-rw-r--r--dotfiles/dwm/.gnupg/pinentry-dmenu.conf (renamed from dotfiles/system/.gnupg/pinentry-dmenu.conf)2
-rwxr-xr-xdotfiles/dwm/.local/bin/airplanemodetoggle (renamed from dotfiles/system/.local/bin/airplanemodetoggle)0
-rwxr-xr-xdotfiles/dwm/.local/bin/brightness (renamed from dotfiles/system/.local/bin/brightness)0
-rwxr-xr-xdotfiles/dwm/.local/bin/colorpick (renamed from dotfiles/system/.local/bin/colorpick)0
-rwxr-xr-xdotfiles/dwm/.local/bin/dmenuexitmenu (renamed from dotfiles/system/.local/bin/dmenuexitmenu)0
-rwxr-xr-xdotfiles/dwm/.local/bin/dmenuunicode (renamed from dotfiles/system/.local/bin/dmenuunicode)0
-rwxr-xr-xdotfiles/dwm/.local/bin/screenshotmenu (renamed from dotfiles/system/.local/bin/screenshotmenu)0
-rwxr-xr-xdotfiles/dwm/.local/bin/toggle-touchpad (renamed from dotfiles/system/.local/bin/toggle-touchpad)0
-rwxr-xr-xdotfiles/dwm/.local/bin/wallsearch (renamed from dotfiles/system/.local/bin/wallsearch)0
-rw-r--r--dotfiles/dwm/.local/share/applications/dwm.desktop (renamed from dotfiles/system/.local/share/applications/dwm.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop (renamed from dotfiles/system/.local/share/applications/emacsclient-mail.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/file.desktop (renamed from dotfiles/system/.local/share/applications/file.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/img.desktop (renamed from dotfiles/system/.local/share/applications/img.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/lock-screen.desktop (renamed from dotfiles/system/.local/share/applications/lock-screen.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/logout.desktop (renamed from dotfiles/system/.local/share/applications/logout.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/mail.desktop (renamed from dotfiles/system/.local/share/applications/mail.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/pdf.desktop (renamed from dotfiles/system/.local/share/applications/pdf.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/reboot.desktop (renamed from dotfiles/system/.local/share/applications/reboot.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/shutdown.desktop (renamed from dotfiles/system/.local/share/applications/shutdown.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/suspend.desktop (renamed from dotfiles/system/.local/share/applications/suspend.desktop)0
-rw-r--r--dotfiles/dwm/.local/share/applications/text.desktop (renamed from dotfiles/system/.local/share/applications/text.desktop)0
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf10
-rw-r--r--dotfiles/hyprland/.config/wlogout/layout36
-rw-r--r--dotfiles/hyprland/.config/wlogout/style.css37
-rw-r--r--dotfiles/hyprland/.config/wofi/power-menu.css65
-rw-r--r--dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/arandr.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/avahi-discover.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/blueman-manager.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/bssh.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/bvnc.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/caffeine.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop12
-rw-r--r--dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/cmake-gui.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/compton.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/conky.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/cups.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/dwm.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/emacs-mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/file.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/foot-server.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/footclient.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gammastep.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/google-chrome.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/htop.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/hy3-util.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/hyprland.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/img.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/insync-helper.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/ipython.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jconsole.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jshell.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/jvisualvm.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lock-screen.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/logout.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lstopo.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/lxappearance.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/mail.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nm-applet.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/nsxiv.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/pdf.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/picom.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/proton-bridge.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qt5ct.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qt6ct.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qv4l2.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/qvidcap.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/ranger.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/reboot.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/redshift.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/rofi.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/shutdown.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/suspend.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/text.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar-settings.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/thunar.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/vim.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xcolor.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xdvi.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xfce4-about.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xgps.desktop2
-rw-r--r--dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop2
-rw-r--r--dotfiles/hyprland/.profile.d/hyprland.sh14
-rw-r--r--dotfiles/system/.bashrc59
-rw-r--r--dotfiles/system/.config/.cmailpass.gpg1
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/app-internal-state.dbbin24576 -> 0 bytes
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/early-access-registry.txt2
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/colors.scheme.xml5
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/console-font.xml5
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor-font.xml8
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor.xml6
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/features.usage.statistics.xml97
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/filetypes.xml5
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide-features-trainer.xml9
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide.general.xml5
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/log-categories.xml3
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/other.xml36
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/settingsSync.xml5
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/updates.xml6
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/window.state.xml8
-rw-r--r--dotfiles/system/.config/JetBrains/PyCharmCE2024.1/updatedBrokenPlugins.dbbin214268 -> 0 bytes
-rw-r--r--dotfiles/system/.config/Thunar/accels.scm138
-rw-r--r--dotfiles/system/.config/Thunar/uca.xml15
-rw-r--r--dotfiles/system/.config/ghostty/config44
-rwxr-xr-xdotfiles/system/.config/lf/cleaner4
-rwxr-xr-xdotfiles/system/.config/lf/draw_img67
-rwxr-xr-xdotfiles/system/.config/lf/image18
-rw-r--r--dotfiles/system/.config/lf/lfrc333
-rwxr-xr-xdotfiles/system/.config/lf/preview91
-rw-r--r--dotfiles/system/.config/mopidy/mopidy.conf91
-rw-r--r--dotfiles/system/.config/nitrogen/bg-saved.cfg4
-rw-r--r--dotfiles/system/.config/pychess/config213
-rw-r--r--dotfiles/system/.config/pychess/engines.json526
-rw-r--r--dotfiles/system/.config/pychess/pydock.xml1
-rw-r--r--dotfiles/system/.config/sublime-merge/Local/License.sublime_licensebin394 -> 0 bytes
-rw-r--r--dotfiles/system/.config/youtube-dl/youtube-dl.conf11
-rwxr-xr-xdotfiles/system/.local/bin/audioselect68
-rwxr-xr-xdotfiles/system/.local/bin/battery_monitor52
-rwxr-xr-xdotfiles/system/.local/bin/bookfind5
-rwxr-xr-xdotfiles/system/.local/bin/bsdnet_bounce6
-rwxr-xr-xdotfiles/system/.local/bin/build.emacs.aur.sh6
-rwxr-xr-xdotfiles/system/.local/bin/calibre-install10
-rwxr-xr-xdotfiles/system/.local/bin/debugemacs4
-rwxr-xr-xdotfiles/system/.local/bin/displayselect83
-rwxr-xr-xdotfiles/system/.local/bin/dmenuhandler21
-rwxr-xr-xdotfiles/system/.local/bin/dmenumount67
-rwxr-xr-xdotfiles/system/.local/bin/dmenumountcifs19
-rwxr-xr-xdotfiles/system/.local/bin/dmenurecord123
-rwxr-xr-xdotfiles/system/.local/bin/dmenuumount44
-rwxr-xr-xdotfiles/system/.local/bin/dotfiles_pushall6
-rwxr-xr-xdotfiles/system/.local/bin/exitmenu15
-rwxr-xr-xdotfiles/system/.local/bin/gruv3
-rwxr-xr-xdotfiles/system/.local/bin/lfrun19
-rwxr-xr-xdotfiles/system/.local/bin/lfub24
-rwxr-xr-xdotfiles/system/.local/bin/lsbak1
-rwxr-xr-xdotfiles/system/.local/bin/monitor50
-rwxr-xr-xdotfiles/system/.local/bin/project100
-rwxr-xr-xdotfiles/system/.local/bin/prompt8
-rwxr-xr-xdotfiles/system/.local/bin/protonvpn3
-rwxr-xr-xdotfiles/system/.local/bin/recordnow26
-rwxr-xr-xdotfiles/system/.local/bin/remaps11
-rwxr-xr-xdotfiles/system/.local/bin/reset-auth36
-rwxr-xr-xdotfiles/system/.local/bin/resetmimetypes295
-rwxr-xr-xdotfiles/system/.local/bin/samedir10
-rwxr-xr-xdotfiles/system/.local/bin/setbg34
-rwxr-xr-xdotfiles/system/.local/bin/starth9
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-battery37
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-clock29
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-cpu12
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-cpubars44
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-disk23
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-doppler279
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-forecast35
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-help-icon17
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-internet26
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-iplocate10
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-kbselect16
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-mailbox20
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-memory12
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-moonphase37
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-mpdup8
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-music19
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-nettraf29
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-news17
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-pacpackages29
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-popupgrade9
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-price50
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-tasks20
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-torrent27
-rwxr-xr-xdotfiles/system/.local/bin/statusbar/sb-volume30
-rwxr-xr-xdotfiles/system/.local/bin/steam2
-rwxr-xr-xdotfiles/system/.local/bin/sudo-update-grub1
-rwxr-xr-xdotfiles/system/.local/bin/sysupdate5
-rwxr-xr-xdotfiles/system/.local/bin/td-toggle12
-rwxr-xr-xdotfiles/system/.local/bin/touchpad-indicator-start12
-rwxr-xr-xdotfiles/system/.local/bin/transadd9
-rwxr-xr-xdotfiles/system/.local/bin/update-backup-repositories56
-rwxr-xr-xdotfiles/system/.local/bin/virtstart8
-rwxr-xr-xdotfiles/system/.local/bin/ytp1
-rw-r--r--dotfiles/system/.local/share/applications/torrent.desktop4
-rw-r--r--dotfiles/system/.profile137
-rwxr-xr-xdotfiles/system/.profile.d/arch-linux-downgrade.sh50
-rw-r--r--dotfiles/system/.profile.d/auto-tmux-session.sh12
-rw-r--r--dotfiles/system/.profile.d/chronographic.sh120
-rw-r--r--dotfiles/system/.profile.d/compress.sh75
-rw-r--r--dotfiles/system/.profile.d/dd.sh19
-rw-r--r--dotfiles/system/.profile.d/display.sh14
-rw-r--r--dotfiles/system/.profile.d/emacs.sh33
-rw-r--r--dotfiles/system/.profile.d/extract.sh27
-rw-r--r--dotfiles/system/.profile.d/framework.sh10
-rw-r--r--dotfiles/system/.profile.d/freebsd.sh10
-rw-r--r--dotfiles/system/.profile.d/fzf.sh123
-rw-r--r--dotfiles/system/.profile.d/git.sh24
-rw-r--r--dotfiles/system/.profile.d/media.sh41
-rwxr-xr-xdotfiles/system/.profile.d/zoxide.sh11
-rw-r--r--dotfiles/system/.zshrc179
876 files changed, 1887 insertions, 4814 deletions
diff --git a/dotfiles/system/.Xmodmap b/dotfiles/common/.Xmodmap
index 981e9e7..981e9e7 100644
--- a/dotfiles/system/.Xmodmap
+++ b/dotfiles/common/.Xmodmap
diff --git a/dotfiles/system/.Xresources b/dotfiles/common/.Xresources
index d149a72..d149a72 100644
--- a/dotfiles/system/.Xresources
+++ b/dotfiles/common/.Xresources
diff --git a/dotfiles/system/.authcode b/dotfiles/common/.authcode
index d67b6ee..d67b6ee 100644
--- a/dotfiles/system/.authcode
+++ b/dotfiles/common/.authcode
diff --git a/dotfiles/system/.authinfo.gpg b/dotfiles/common/.authinfo.gpg
index fa213c0..fa213c0 100644
--- a/dotfiles/system/.authinfo.gpg
+++ b/dotfiles/common/.authinfo.gpg
diff --git a/dotfiles/system/.bash_logout b/dotfiles/common/.bash_logout
index 1e36d02..1e36d02 100644
--- a/dotfiles/system/.bash_logout
+++ b/dotfiles/common/.bash_logout
diff --git a/dotfiles/common/.bash_profile b/dotfiles/common/.bash_profile
new file mode 100644
index 0000000..b910a02
--- /dev/null
+++ b/dotfiles/common/.bash_profile
@@ -0,0 +1,11 @@
+# .bash_profile
+# Craig Jennings <c@cjennings.net>
+#
+# Sourced by bash login shells. Sources .profile for env vars
+# and .bashrc for interactive settings.
+
+# Environment variables
+[ -f "$HOME/.profile" ] && . "$HOME/.profile"
+
+# Interactive shell settings (aliases, functions, prompt, etc.)
+[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
diff --git a/dotfiles/common/.bashrc b/dotfiles/common/.bashrc
new file mode 100644
index 0000000..b2177d9
--- /dev/null
+++ b/dotfiles/common/.bashrc
@@ -0,0 +1,76 @@
+#!/bin/bash
+# .bashrc
+# Craig Jennings <c@cjennings.net>
+#
+# Bash-specific interactive shell settings.
+# Aliases, functions, prompt, completions, shell options.
+
+# If not running interactively, don't do anything
+case $- in
+ *i*) ;;
+ *) return;;
+esac
+
+# =============================================================================
+# Environment Variables (from .profile)
+# =============================================================================
+# Source .profile for env vars (needed for non-login interactive shells)
+[ -f "$HOME/.profile" ] && . "$HOME/.profile"
+
+# =============================================================================
+# Shell Options
+# =============================================================================
+shopt -s histappend # append to history file, don't overwrite
+shopt -s checkwinsize # update LINES and COLUMNS after each command
+shopt -s autocd # cd to directory by typing its name
+shopt -s cdspell # correct minor spelling errors in cd
+shopt -s dirspell # correct spelling errors during tab-completion
+
+# =============================================================================
+# History
+# =============================================================================
+HISTCONTROL=ignoreboth # ignore duplicates and lines starting with space
+HISTSIZE=100000
+HISTFILESIZE=10000000
+HISTIGNORE="ls:ll:cd:pwd:bg:fg:history:exit"
+PROMPT_COMMAND="history -a; history -n" # append and reload after each command
+
+# =============================================================================
+# Prompt
+# =============================================================================
+PS1='[\d, \t] \u@\H:\w \n$ '
+
+# =============================================================================
+# Completions
+# =============================================================================
+if ! shopt -oq posix; then
+ if [ -f /usr/share/bash-completion/bash_completion ]; then
+ . /usr/share/bash-completion/bash_completion
+ elif [ -f /etc/bash_completion ]; then
+ . /etc/bash_completion
+ fi
+fi
+
+# =============================================================================
+# Source modular bash configs from .bashrc.d/
+# =============================================================================
+if [ -d "$HOME/.bashrc.d" ]; then
+ for file in "$HOME/.bashrc.d"/*.sh; do
+ [ -r "$file" ] && . "$file"
+ done
+ unset file
+fi
+
+# =============================================================================
+# Tool-specific initialization
+# =============================================================================
+# FZF
+[ -f "$HOME/.fzf.bash" ] && . "$HOME/.fzf.bash"
+
+# Deno
+[ -f "$HOME/.deno/env" ] && . "$HOME/.deno/env"
+[ -f "$HOME/.local/share/bash-completion/completions/deno.bash" ] && \
+ . "$HOME/.local/share/bash-completion/completions/deno.bash"
+
+# Zoxide (smart cd)
+command -v zoxide >/dev/null 2>&1 && eval "$(zoxide init bash)"
diff --git a/dotfiles/common/.bashrc.d/aliases.sh b/dotfiles/common/.bashrc.d/aliases.sh
new file mode 100644
index 0000000..28c0f3f
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/aliases.sh
@@ -0,0 +1,91 @@
+# aliases.sh
+# Craig Jennings <c@cjennings.net>
+# Shell aliases - works in both bash and zsh
+
+# =============================================================================
+# Directory Navigation
+# =============================================================================
+alias cdot="cd ~/code/archsetup/dotfiles"
+alias cdpf="cd ~/projects/finances/"
+alias cdpj="cd ~/projects/jr-estate/"
+alias cdpd="cd ~/projects/documents/"
+
+# =============================================================================
+# File Listing (exa)
+# =============================================================================
+alias ls="exa --group-directories-first"
+alias l="exa -lhF --group-directories-first"
+alias ll="exa -lhAF --group-directories-first"
+alias lt="exa -lthAF --group-directories-first"
+
+# =============================================================================
+# File Operations
+# =============================================================================
+alias mkd="mkdir -pv"
+alias open="xdg-open"
+alias linkdel="find . -type l ! -exec test -d {} \; -delete"
+alias linkfind="find . -type l ! -exec test -d {} \; -print"
+
+# =============================================================================
+# System Administration
+# =============================================================================
+alias df='dfc -p /dev/'
+alias ducks='du -cksh * | sort -rh | head -n11'
+alias ntop="sudo bandwhich"
+alias ptop="sudo powertop"
+alias running_services='systemctl list-units --type=service --state=running'
+alias ssn="sudo shutdown now"
+alias boot2bios="sudo systemctl reboot --firmware-setup"
+alias backup='sudo rsyncshot backup 1000'
+alias sysinfo='sudo inxi -v 8 -a -xxxA -xxxB -xxxC -xxxD -xxxG -xxxI -xxxm -xxxN -xxxR -xxxS -xxx --usb -d -I -pl -n -s --slots'
+alias timeshift='sudo timeshift-gtk'
+alias sysupgrade="topgrade"
+
+# =============================================================================
+# Network
+# =============================================================================
+alias myip='curl -4 https://chroot-me.in/ip/ 2>/dev/null || w3m -4 -dump https://chroot-me.in/ip'
+alias whereami="curl ipinfo.io"
+alias speedtest="speedtest-go"
+
+# =============================================================================
+# Applications
+# =============================================================================
+alias vim="nvim"
+alias et="emacs -nw"
+alias weather="wego"
+alias crm="tickrs -s CRM"
+alias handbrake="ghb"
+alias smerge="/usr/bin/smerge"
+alias stext="/opt/sublime_text/sublime_text"
+alias steam="flatpak run com.valvesoftware.Steam"
+alias xterm="xterm -ti 340"
+
+# =============================================================================
+# Stow (dotfiles management)
+# =============================================================================
+alias stow="stow --target=/home/cjennings"
+
+# =============================================================================
+# Ranger (file manager)
+# =============================================================================
+alias cdr='. ranger'
+alias r='. ranger'
+
+# =============================================================================
+# Programming
+# =============================================================================
+alias cc="gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion -Wextra -std=c2x -pedantic"
+alias gdbx="gdb --batch --ex r --ex bt --ex q --args"
+
+# =============================================================================
+# Claude Code
+# =============================================================================
+alias hey='claude "Read ./docs/protocols.org and ./docs/NOTES.org, follow their instructions, then run session startup workflow."'
+
+# =============================================================================
+# Phenomenology RAG (ollama/deepseek)
+# =============================================================================
+phenom() {
+ aichat --rag phenom -m ollama:deepseek-r1:70b "$@"
+}
diff --git a/dotfiles/common/.bashrc.d/emacs.sh b/dotfiles/common/.bashrc.d/emacs.sh
new file mode 100644
index 0000000..0a8444b
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/emacs.sh
@@ -0,0 +1,24 @@
+# emacs.sh
+# Craig Jennings <c@cjennings.net>
+# Emacs-specific settings and functions
+
+# GTK/Emacs accessibility bug workaround
+# https://unix.stackexchange.com/questions/230238/
+export NO_AT_BRIDGE=1
+
+# Wake emacs from elisp freeze
+alias emacswake='for i in $(seq 1 500); do killall -s USR2 emacs; done'
+
+# Vterm shell integration
+# Allows shell to send information to vterm via escape sequences
+vterm_printf() {
+ if [ -n "$TMUX" ] && { [ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ]; }; then
+ # Tell tmux to pass the escape sequences through
+ printf "\ePtmux;\e\e]%s\007\e\\" "$1"
+ elif [ "${TERM%%-*}" = "screen" ]; then
+ # GNU screen
+ printf "\eP\e]%s\007\e\\" "$1"
+ else
+ printf "\e]%s\e\\" "$1"
+ fi
+}
diff --git a/dotfiles/common/.bashrc.d/fzf.sh b/dotfiles/common/.bashrc.d/fzf.sh
new file mode 100644
index 0000000..9a5a9bd
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/fzf.sh
@@ -0,0 +1,122 @@
+# fzf.sh
+# Craig Jennings <c@cjennings.net>
+# FZF settings and utility functions
+
+# =============================================================================
+# Settings
+# =============================================================================
+export FZF_DEFAULT_OPTS='--height=70%'
+export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden'
+export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+
+# Directory paths for convenience functions
+IF_GAMES_DIR="$HOME/sync/org/text.games"
+BOOKS_DIR="$HOME/sync/books"
+
+# =============================================================================
+# Navigation
+# =============================================================================
+
+# cdff - change directory to where a file resides
+cdff() {
+ file=$(fzf +m -q "$1")
+ dir=$(dirname "$file")
+ cd "$dir" || return 1
+}
+
+# cdd - cd to directory with fzf
+cdd() {
+ destdir=$(find "${1:-.}" -path '*/\.*' -prune \
+ -o -type d -print 2>/dev/null | fzf +m) &&
+ cd "$destdir"
+}
+
+# =============================================================================
+# System Admin
+# =============================================================================
+
+# Kill process with fzf
+kp() {
+ pid=$(ps -ef | sed 1d | eval "fzf ${FZF_DEFAULT_OPTS} -m --header='[kill:process]'" | awk '{print $2}')
+ if [ -n "$pid" ]; then
+ echo "$pid" | xargs kill -"${1:-9}"
+ kp
+ fi
+}
+
+# Install packages with fzf preview
+yinstall() {
+ yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm
+}
+
+yinstall-skipverify() {
+ yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm --mflags --skipinteg
+}
+
+# Remove packages with fzf preview
+yrm() {
+ yay -Qq | fzf --multi --preview 'yay -Qi {1}' | xargs -ro yay -Rns
+}
+
+# Find in file with fzf
+fif() {
+ if [ "$#" -eq 0 ]; then
+ echo "Need a string to search for!"
+ return 1
+ fi
+ rg --files-with-matches --no-messages "$1" | \
+ fzf --preview "highlight -O ansi -l {} 2>/dev/null | \
+ rg --colors 'match:bg:yellow' --ignore-case --pretty --context 10 '$1' || \
+ rg --ignore-case --pretty --context 10 '$1' {}"
+}
+
+# =============================================================================
+# Convenience
+# =============================================================================
+
+# Find and read epub book in terminal
+bk() {
+ bkfile=$(find "$BOOKS_DIR" -iname "*.epub" -print | fzf)
+ if [ -n "$bkfile" ]; then
+ epr "$bkfile"
+ fi
+}
+
+# Find and play interactive fiction game
+tg() {
+ gamefile=$(find "$IF_GAMES_DIR" -type f \( -iname "*.z[1-8]" -o -iname "*.zblorb" -o -iname "*.blorb" \) -print | fzf)
+ if [ -n "$gamefile" ]; then
+ frotz "$gamefile"
+ fi
+}
+
+# =============================================================================
+# WireGuard
+# =============================================================================
+
+wgup() {
+ # Shutdown existing connections first
+ output=$(sudo wg 2>/dev/null)
+ if [ -n "$output" ]; then
+ for iface in $(sudo wg show interfaces); do
+ sudo wg-quick down "${iface}"
+ done
+ fi
+ # Select and start new connection
+ wgfile=$(sudo find /etc/wireguard/ -iname "*.conf" -exec basename -s .conf {} \; | fzf)
+ if [ -n "$wgfile" ]; then
+ sudo wg-quick up "$wgfile"
+ sudo wg
+ fi
+}
+
+wgdown() {
+ output=$(sudo wg 2>/dev/null)
+ if [ -n "$output" ]; then
+ for iface in $(sudo wg show interfaces); do
+ sudo wg-quick down "${iface}"
+ done
+ fi
+}
+
+alias wg=wgup
diff --git a/dotfiles/common/.bashrc.d/git.sh b/dotfiles/common/.bashrc.d/git.sh
new file mode 100644
index 0000000..6c2b6ad
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/git.sh
@@ -0,0 +1,32 @@
+# git.sh
+# Craig Jennings <c@cjennings.net>
+# Git aliases and convenience functions
+
+# =============================================================================
+# Aliases
+# =============================================================================
+alias gitlog="git log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
+alias gitstatus='git status -sb'
+alias gitcom='git commit -m'
+alias gitpp='git pull --prune'
+alias gittagbydate="git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags"
+
+# =============================================================================
+# Functions
+# =============================================================================
+
+# Stash, pull, pop
+gitsp() {
+ git stash && git pull && git stash pop
+}
+
+# Checkout branch with fzf
+gitck() {
+ git checkout "$(git branch --all | fzf | tr -d '[:space:]')"
+}
+
+# Diff with fzf preview
+gitdiff() {
+ preview="git diff $@ --color=always -- {-1}"
+ git diff "$@" --name-only | fzf -m --ansi --preview "$preview"
+}
diff --git a/dotfiles/common/.bashrc.d/media.sh b/dotfiles/common/.bashrc.d/media.sh
new file mode 100644
index 0000000..a5d54f1
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/media.sh
@@ -0,0 +1,41 @@
+# media.sh
+# Craig Jennings <c@cjennings.net>
+# Media utilities - music, video, downloads
+
+# =============================================================================
+# Terminal MPV
+# =============================================================================
+alias play='mpv --no-video'
+alias shuffle='mpv --no-video --shuffle'
+
+# =============================================================================
+# Tidal
+# =============================================================================
+alias tdl="tidal-dl -l"
+alias ttdl="tsp tidal-dl -l"
+
+# =============================================================================
+# YouTube (yt-dlp)
+# =============================================================================
+# Video - single
+alias yt="yt-dlp --ignore-config --no-playlist --embed-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
+alias tyt="tsp yt-dlp --ignore-config --no-playlist --embed-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
+
+# Video - playlist
+alias ytp="yt-dlp --ignore-config --yes-playlist --embed-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
+alias tytp="tsp yt-dlp --ignore-config --yes-playlist --embed-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
+
+# Audio - single
+alias yta="yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
+alias tyta="tsp yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
+
+# Audio - playlist
+alias ytap="yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
+alias tytap="tsp yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
+
+# =============================================================================
+# Audible Conversion (AAXtoMP3)
+# =============================================================================
+alias aax2flac='AAXtoMP3 -f'
+alias aax2mp3='AAXtoMP3 -c -e:mp3'
+alias aax2opus='AAXtoMP3 --opus -t . -c'
diff --git a/dotfiles/common/.bashrc.d/utilities.sh b/dotfiles/common/.bashrc.d/utilities.sh
new file mode 100644
index 0000000..431cac0
--- /dev/null
+++ b/dotfiles/common/.bashrc.d/utilities.sh
@@ -0,0 +1,206 @@
+# utilities.sh
+# Craig Jennings <c@cjennings.net>
+# General utility functions
+
+# =============================================================================
+# Archive Extraction
+# =============================================================================
+extract() {
+ if [ -f "$1" ]; then
+ case "$1" in
+ *.tar.bz2) tar xjf "$1" ;;
+ *.tar.gz) tar xzf "$1" ;;
+ *.bz2) bunzip2 "$1" ;;
+ *.rar) rar x "$1" ;;
+ *.gz) gunzip "$1" ;;
+ *.tar) tar xf "$1" ;;
+ *.tbz2) tar xjf "$1" ;;
+ *.tgz) tar xzf "$1" ;;
+ *.zip) unzip "$1" ;;
+ *.Z) uncompress "$1" ;;
+ *) echo "$1 cannot be extracted via extract()" ;;
+ esac
+ else
+ echo "$1 is not a valid file"
+ fi
+}
+
+# =============================================================================
+# Archive Compression
+# =============================================================================
+compress() {
+ if [ $# -ne 2 ]; then
+ echo "Usage: compress <format> <file_or_directory>"
+ echo "Formats: tar.bz2, tar.gz, bz2, tar, tbz2, tgz, zip, gz, Z"
+ return 1
+ fi
+
+ format="$1"
+ target="$2"
+
+ if [ ! -e "$target" ]; then
+ echo "Error: '$target' does not exist"
+ return 1
+ fi
+
+ basename=$(basename "$target")
+
+ case "$format" in
+ tar.bz2|tbz2) output="${basename}.tar.bz2" ;;
+ tar.gz|tgz) output="${basename}.tar.gz" ;;
+ bz2) output="${target}.bz2" ;;
+ gz) output="${target}.gz" ;;
+ tar) output="${basename}.tar" ;;
+ zip) output="${basename}.zip" ;;
+ Z) output="${target}.Z" ;;
+ *)
+ echo "Error: Unknown format '$format'"
+ return 1
+ ;;
+ esac
+
+ if [ -e "$output" ]; then
+ printf "Warning: '%s' already exists. Overwrite? (y/N): " "$output"
+ read -r response
+ case "$response" in
+ [yY]|[yY][eE][sS]) rm -f "$output" ;;
+ *) echo "Aborted." && return 1 ;;
+ esac
+ fi
+
+ case "$format" in
+ tar.bz2|tbz2) tar -cjf "$output" "$target" ;;
+ tar.gz|tgz) tar -czf "$output" "$target" ;;
+ bz2)
+ [ -d "$target" ] && echo "Error: bz2 only works on files" && return 1
+ bzip2 -k "$target"
+ ;;
+ gz)
+ [ -d "$target" ] && echo "Error: gz only works on files" && return 1
+ gzip -k "$target"
+ ;;
+ tar) tar -cf "$output" "$target" ;;
+ zip)
+ [ -d "$target" ] && zip -r "$output" "$target" || zip "$output" "$target"
+ ;;
+ Z)
+ [ -d "$target" ] && echo "Error: Z only works on files" && return 1
+ command compress -c "$target" > "$output"
+ ;;
+ esac
+
+ [ $? -eq 0 ] && echo "Created $output" || echo "Compression failed"
+}
+
+# =============================================================================
+# DD Helper
+# =============================================================================
+dd_with_bs() {
+ OUT_DIR=$(dirname "$2")
+ if [ ! -e "$1" ] || [ ! -e "$OUT_DIR" ]; then
+ echo "$1 or $OUT_DIR doesn't exist"
+ return 1
+ fi
+ IN_BS=$(stat -c "%o" "$1")
+ OUT_BS=$(stat -c "%o" "$OUT_DIR")
+ echo dd \"if=$1\" \"of=$2\" \"ibs=$IN_BS\" \"obs=$OUT_BS\"
+}
+
+# =============================================================================
+# Clock, Timer, Alarm, Stopwatch
+# =============================================================================
+export BEEP="/usr/share/sounds/freedesktop/stereo/bell.oga"
+alias beep='paplay $BEEP'
+
+clock() {
+ while true; do
+ tput clear
+ echo ""
+ date +" %l : %M %p" | figlet -f roman -w 200
+ sleep 1
+ done
+}
+
+timer() {
+ if [ "$#" -lt 2 ]; then
+ echo "Pass the time and a notification. Example: timer 1h30m Parking expiring"
+ return 1
+ fi
+ message="${*:2}"
+ start_time=$(date +"%H:%M:%S %p")
+ printf "\nStarting %s timer at %s\n" "$1" "$start_time"
+ snore "$1" && paplay "$BEEP" && notify-send "Timer" "$message"
+}
+
+alarm() {
+ if [ "$#" -lt 2 ]; then
+ echo "Pass both the time and a message. Example: alarm 1:45pm Time to eat!"
+ return 1
+ fi
+
+ if ! date -d "$1" >/dev/null 2>&1; then
+ echo "Invalid time: $1"
+ return 1
+ fi
+
+ echo "paplay \$BEEP && notify-send \"Alarm\" \"$*\"" | at "$1" >/dev/null 2>&1
+ echo ""
+ echo "Alarm '${*:2}' is queued for $1."
+ echo "To see all alarms: atq"
+ echo "To remove an alarm: atrm <number>"
+ echo ""
+}
+
+# Stopwatch
+sw_start_time=0
+sw_started=0
+
+swreset() {
+ sw_start_time=0
+ sw_started=0
+ echo "Stopwatch reset"
+}
+
+swshow() {
+ if [ "$sw_started" = 0 ]; then
+ echo "Error: Stopwatch not started" >&2
+ return 1
+ fi
+
+ current_time=$(date +%s)
+ elapsed_time=$((current_time - sw_start_time))
+
+ if [ "$elapsed_time" -lt 60 ]; then
+ echo "Elapsed time: $elapsed_time seconds"
+ elif [ "$elapsed_time" -lt 3600 ]; then
+ minutes=$((elapsed_time / 60))
+ seconds=$((elapsed_time % 60))
+ echo "Elapsed time: $minutes minutes, $seconds seconds"
+ else
+ hours=$((elapsed_time / 3600))
+ minutes=$(((elapsed_time / 60) % 60))
+ seconds=$((elapsed_time % 60))
+ echo "Elapsed time: $hours hours, $minutes minutes, $seconds seconds"
+ fi
+}
+
+swstop() {
+ swshow
+ swreset
+}
+
+swstart() {
+ if [ "$sw_started" = 1 ]; then
+ printf "Stopwatch is already started. Reset? (y/n): "
+ read -r answer
+ case "$answer" in
+ [yY]) swreset ;;
+ [nN]) echo "Stopwatch not reset." && swshow && return ;;
+ *) echo "Error: Invalid input." >&2 && return 1 ;;
+ esac
+ fi
+
+ sw_started=1
+ sw_start_time=$(date +%s)
+ printf "Stopwatch started at %s\n\n" "$(date +"%H:%M:%S %p")"
+}
diff --git a/dotfiles/common/.config/.cmailpass.gpg b/dotfiles/common/.config/.cmailpass.gpg
new file mode 100644
index 0000000..48c4632
--- /dev/null
+++ b/dotfiles/common/.config/.cmailpass.gpg
@@ -0,0 +1,2 @@
+Œ  
+O;ŒŠชจƒาK๊ก Žีg{*FดคpK4 _แ aุ›ถฮมmอrษj"ฮค฿;ƒขา๊ฬฬ€™ zผšxx-š์๛็ 9ั๔=`=ฃ{๔DYเณ \ No newline at end of file
diff --git a/dotfiles/system/.config/.gmailpass.gpg b/dotfiles/common/.config/.gmailpass.gpg
index cea3fe1..cea3fe1 100644
--- a/dotfiles/system/.config/.gmailpass.gpg
+++ b/dotfiles/common/.config/.gmailpass.gpg
diff --git a/dotfiles/system/.config/.tidal-dl.json b/dotfiles/common/.config/.tidal-dl.json
index 9c39da2..9c39da2 100644
--- a/dotfiles/system/.config/.tidal-dl.json
+++ b/dotfiles/common/.config/.tidal-dl.json
diff --git a/dotfiles/system/.config/.tidal-dl.token.json b/dotfiles/common/.config/.tidal-dl.token.json
index 64396c3..64396c3 100644
--- a/dotfiles/system/.config/.tidal-dl.token.json
+++ b/dotfiles/common/.config/.tidal-dl.token.json
diff --git a/dotfiles/system/.config/audacious/QtUi.conf b/dotfiles/common/.config/audacious/QtUi.conf
index 18b3f4c..18b3f4c 100644
--- a/dotfiles/system/.config/audacious/QtUi.conf
+++ b/dotfiles/common/.config/audacious/QtUi.conf
diff --git a/dotfiles/system/.config/audacious/config b/dotfiles/common/.config/audacious/config
index fd1fdd4..fd1fdd4 100644
--- a/dotfiles/system/.config/audacious/config
+++ b/dotfiles/common/.config/audacious/config
diff --git a/dotfiles/system/.config/audacious/playlist-state b/dotfiles/common/.config/audacious/playlist-state
index 985b3d2..985b3d2 100644
--- a/dotfiles/system/.config/audacious/playlist-state
+++ b/dotfiles/common/.config/audacious/playlist-state
diff --git a/dotfiles/system/.config/audacious/playlists/1000.audpl b/dotfiles/common/.config/audacious/playlists/1000.audpl
index 3334184..3334184 100644
--- a/dotfiles/system/.config/audacious/playlists/1000.audpl
+++ b/dotfiles/common/.config/audacious/playlists/1000.audpl
diff --git a/dotfiles/system/.config/audacious/playlists/order b/dotfiles/common/.config/audacious/playlists/order
index c9a7c13..c9a7c13 100644
--- a/dotfiles/system/.config/audacious/playlists/order
+++ b/dotfiles/common/.config/audacious/playlists/order
diff --git a/dotfiles/system/.config/audacious/plugin-registry b/dotfiles/common/.config/audacious/plugin-registry
index 9cedebb..9cedebb 100644
--- a/dotfiles/system/.config/audacious/plugin-registry
+++ b/dotfiles/common/.config/audacious/plugin-registry
diff --git a/dotfiles/system/.config/calibre/conversion/azw3_output.py b/dotfiles/common/.config/calibre/conversion/azw3_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/azw3_output.py
+++ b/dotfiles/common/.config/calibre/conversion/azw3_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/comic_input.py b/dotfiles/common/.config/calibre/conversion/comic_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/comic_input.py
+++ b/dotfiles/common/.config/calibre/conversion/comic_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/debug.py b/dotfiles/common/.config/calibre/conversion/debug.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/debug.py
+++ b/dotfiles/common/.config/calibre/conversion/debug.py
diff --git a/dotfiles/system/.config/calibre/conversion/docx_input.py b/dotfiles/common/.config/calibre/conversion/docx_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/docx_input.py
+++ b/dotfiles/common/.config/calibre/conversion/docx_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/docx_output.py b/dotfiles/common/.config/calibre/conversion/docx_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/docx_output.py
+++ b/dotfiles/common/.config/calibre/conversion/docx_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/epub_output.py b/dotfiles/common/.config/calibre/conversion/epub_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/epub_output.py
+++ b/dotfiles/common/.config/calibre/conversion/epub_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/fb2_input.py b/dotfiles/common/.config/calibre/conversion/fb2_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/fb2_input.py
+++ b/dotfiles/common/.config/calibre/conversion/fb2_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/fb2_output.py b/dotfiles/common/.config/calibre/conversion/fb2_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/fb2_output.py
+++ b/dotfiles/common/.config/calibre/conversion/fb2_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/heuristics.py b/dotfiles/common/.config/calibre/conversion/heuristics.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/heuristics.py
+++ b/dotfiles/common/.config/calibre/conversion/heuristics.py
diff --git a/dotfiles/system/.config/calibre/conversion/htmlz_output.py b/dotfiles/common/.config/calibre/conversion/htmlz_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/htmlz_output.py
+++ b/dotfiles/common/.config/calibre/conversion/htmlz_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/kepub_output.py b/dotfiles/common/.config/calibre/conversion/kepub_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/kepub_output.py
+++ b/dotfiles/common/.config/calibre/conversion/kepub_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/look_and_feel.py b/dotfiles/common/.config/calibre/conversion/look_and_feel.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/look_and_feel.py
+++ b/dotfiles/common/.config/calibre/conversion/look_and_feel.py
diff --git a/dotfiles/system/.config/calibre/conversion/lrf_output.py b/dotfiles/common/.config/calibre/conversion/lrf_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/lrf_output.py
+++ b/dotfiles/common/.config/calibre/conversion/lrf_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/metadata.py b/dotfiles/common/.config/calibre/conversion/metadata.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/metadata.py
+++ b/dotfiles/common/.config/calibre/conversion/metadata.py
diff --git a/dotfiles/system/.config/calibre/conversion/mobi_output.py b/dotfiles/common/.config/calibre/conversion/mobi_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/mobi_output.py
+++ b/dotfiles/common/.config/calibre/conversion/mobi_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/page_setup.py b/dotfiles/common/.config/calibre/conversion/page_setup.py
index d54ecbb..d54ecbb 100644
--- a/dotfiles/system/.config/calibre/conversion/page_setup.py
+++ b/dotfiles/common/.config/calibre/conversion/page_setup.py
diff --git a/dotfiles/system/.config/calibre/conversion/pdb_output.py b/dotfiles/common/.config/calibre/conversion/pdb_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/pdb_output.py
+++ b/dotfiles/common/.config/calibre/conversion/pdb_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/pdf_input.py b/dotfiles/common/.config/calibre/conversion/pdf_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/pdf_input.py
+++ b/dotfiles/common/.config/calibre/conversion/pdf_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/pdf_output.py b/dotfiles/common/.config/calibre/conversion/pdf_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/pdf_output.py
+++ b/dotfiles/common/.config/calibre/conversion/pdf_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/pmlz_output.py b/dotfiles/common/.config/calibre/conversion/pmlz_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/pmlz_output.py
+++ b/dotfiles/common/.config/calibre/conversion/pmlz_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/rb_output.py b/dotfiles/common/.config/calibre/conversion/rb_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/rb_output.py
+++ b/dotfiles/common/.config/calibre/conversion/rb_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/rtf_input.py b/dotfiles/common/.config/calibre/conversion/rtf_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/rtf_input.py
+++ b/dotfiles/common/.config/calibre/conversion/rtf_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/search_and_replace.py b/dotfiles/common/.config/calibre/conversion/search_and_replace.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/search_and_replace.py
+++ b/dotfiles/common/.config/calibre/conversion/search_and_replace.py
diff --git a/dotfiles/system/.config/calibre/conversion/snb_output.py b/dotfiles/common/.config/calibre/conversion/snb_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/snb_output.py
+++ b/dotfiles/common/.config/calibre/conversion/snb_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/structure_detection.py b/dotfiles/common/.config/calibre/conversion/structure_detection.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/structure_detection.py
+++ b/dotfiles/common/.config/calibre/conversion/structure_detection.py
diff --git a/dotfiles/system/.config/calibre/conversion/toc.py b/dotfiles/common/.config/calibre/conversion/toc.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/toc.py
+++ b/dotfiles/common/.config/calibre/conversion/toc.py
diff --git a/dotfiles/system/.config/calibre/conversion/txt_input.py b/dotfiles/common/.config/calibre/conversion/txt_input.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/txt_input.py
+++ b/dotfiles/common/.config/calibre/conversion/txt_input.py
diff --git a/dotfiles/system/.config/calibre/conversion/txt_output.py b/dotfiles/common/.config/calibre/conversion/txt_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/txt_output.py
+++ b/dotfiles/common/.config/calibre/conversion/txt_output.py
diff --git a/dotfiles/system/.config/calibre/conversion/txtz_output.py b/dotfiles/common/.config/calibre/conversion/txtz_output.py
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/conversion/txtz_output.py
+++ b/dotfiles/common/.config/calibre/conversion/txtz_output.py
diff --git a/dotfiles/system/.config/calibre/custom_recipes/The Economist_1001.recipe b/dotfiles/common/.config/calibre/custom_recipes/The Economist_1001.recipe
index bcb8364..bcb8364 100644
--- a/dotfiles/system/.config/calibre/custom_recipes/The Economist_1001.recipe
+++ b/dotfiles/common/.config/calibre/custom_recipes/The Economist_1001.recipe
diff --git a/dotfiles/system/.config/calibre/custom_recipes/The New York Times_1000.recipe b/dotfiles/common/.config/calibre/custom_recipes/The New York Times_1000.recipe
index db3c40b..db3c40b 100644
--- a/dotfiles/system/.config/calibre/custom_recipes/The New York Times_1000.recipe
+++ b/dotfiles/common/.config/calibre/custom_recipes/The New York Times_1000.recipe
diff --git a/dotfiles/system/.config/calibre/custom_recipes/index.json b/dotfiles/common/.config/calibre/custom_recipes/index.json
index 0d9451b..0d9451b 100644
--- a/dotfiles/system/.config/calibre/custom_recipes/index.json
+++ b/dotfiles/common/.config/calibre/custom_recipes/index.json
diff --git a/dotfiles/system/.config/calibre/customize.py.json b/dotfiles/common/.config/calibre/customize.py.json
index 310bdb1..310bdb1 100644
--- a/dotfiles/system/.config/calibre/customize.py.json
+++ b/dotfiles/common/.config/calibre/customize.py.json
diff --git a/dotfiles/system/.config/calibre/device_drivers_KOBOTOUCH.py.json b/dotfiles/common/.config/calibre/device_drivers_KOBOTOUCH.py.json
index 230e5b8..230e5b8 100644
--- a/dotfiles/system/.config/calibre/device_drivers_KOBOTOUCH.py.json
+++ b/dotfiles/common/.config/calibre/device_drivers_KOBOTOUCH.py.json
diff --git a/dotfiles/system/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json b/dotfiles/common/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json
index bfc0600..bfc0600 100644
--- a/dotfiles/system/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json
+++ b/dotfiles/common/.config/calibre/device_drivers_KOBOTOUCHEXTENDED.py.json
diff --git a/dotfiles/system/.config/calibre/device_drivers_USER_DEFINED.py.json b/dotfiles/common/.config/calibre/device_drivers_USER_DEFINED.py.json
index 7963676..7963676 100644
--- a/dotfiles/system/.config/calibre/device_drivers_USER_DEFINED.py.json
+++ b/dotfiles/common/.config/calibre/device_drivers_USER_DEFINED.py.json
diff --git a/dotfiles/system/.config/calibre/fonts/scanner_cache.json b/dotfiles/common/.config/calibre/fonts/scanner_cache.json
index 4f118b6..4f118b6 100644
--- a/dotfiles/system/.config/calibre/fonts/scanner_cache.json
+++ b/dotfiles/common/.config/calibre/fonts/scanner_cache.json
diff --git a/dotfiles/system/.config/calibre/global.py.json b/dotfiles/common/.config/calibre/global.py.json
index e44de2c..e44de2c 100644
--- a/dotfiles/system/.config/calibre/global.py.json
+++ b/dotfiles/common/.config/calibre/global.py.json
diff --git a/dotfiles/system/.config/calibre/gui.py.json b/dotfiles/common/.config/calibre/gui.py.json
index bfe8d92..bfe8d92 100644
--- a/dotfiles/system/.config/calibre/gui.py.json
+++ b/dotfiles/common/.config/calibre/gui.py.json
diff --git a/dotfiles/system/.config/calibre/history.plist b/dotfiles/common/.config/calibre/history.plist
index 14189a8..14189a8 100644
--- a/dotfiles/system/.config/calibre/history.plist
+++ b/dotfiles/common/.config/calibre/history.plist
diff --git a/dotfiles/system/.config/calibre/icons-any.rcc b/dotfiles/common/.config/calibre/icons-any.rcc
index 2c2f7d2..2c2f7d2 100644
--- a/dotfiles/system/.config/calibre/icons-any.rcc
+++ b/dotfiles/common/.config/calibre/icons-any.rcc
Binary files differ
diff --git a/dotfiles/system/.config/calibre/icons-dark.rcc b/dotfiles/common/.config/calibre/icons-dark.rcc
index 28b9a51..28b9a51 100644
--- a/dotfiles/system/.config/calibre/icons-dark.rcc
+++ b/dotfiles/common/.config/calibre/icons-dark.rcc
Binary files differ
diff --git a/dotfiles/system/.config/calibre/metadata-sources-cache.json b/dotfiles/common/.config/calibre/metadata-sources-cache.json
index 8424645..8424645 100644
--- a/dotfiles/system/.config/calibre/metadata-sources-cache.json
+++ b/dotfiles/common/.config/calibre/metadata-sources-cache.json
diff --git a/dotfiles/system/.config/calibre/metadata_sources/global.json b/dotfiles/common/.config/calibre/metadata_sources/global.json
index be7665d..be7665d 100644
--- a/dotfiles/system/.config/calibre/metadata_sources/global.json
+++ b/dotfiles/common/.config/calibre/metadata_sources/global.json
diff --git a/dotfiles/system/.config/calibre/mtp_devices.json b/dotfiles/common/.config/calibre/mtp_devices.json
index 274f3de..274f3de 100644
--- a/dotfiles/system/.config/calibre/mtp_devices.json
+++ b/dotfiles/common/.config/calibre/mtp_devices.json
diff --git a/dotfiles/system/.config/calibre/plugins/Apple Books covers.zip b/dotfiles/common/.config/calibre/plugins/Apple Books covers.zip
index 722e2c7..722e2c7 100644
--- a/dotfiles/system/.config/calibre/plugins/Apple Books covers.zip
+++ b/dotfiles/common/.config/calibre/plugins/Apple Books covers.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Barnes & Noble.zip b/dotfiles/common/.config/calibre/plugins/Barnes & Noble.zip
index 9c3932d..9c3932d 100644
--- a/dotfiles/system/.config/calibre/plugins/Barnes & Noble.zip
+++ b/dotfiles/common/.config/calibre/plugins/Barnes & Noble.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Clean Comments.zip b/dotfiles/common/.config/calibre/plugins/Clean Comments.zip
index 224fcd7..224fcd7 100644
--- a/dotfiles/system/.config/calibre/plugins/Clean Comments.zip
+++ b/dotfiles/common/.config/calibre/plugins/Clean Comments.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Extract ISBN.zip b/dotfiles/common/.config/calibre/plugins/Extract ISBN.zip
index 7214c0e..7214c0e 100644
--- a/dotfiles/system/.config/calibre/plugins/Extract ISBN.zip
+++ b/dotfiles/common/.config/calibre/plugins/Extract ISBN.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Favourites Menu.json b/dotfiles/common/.config/calibre/plugins/Favourites Menu.json
index 8f239ba..8f239ba 100644
--- a/dotfiles/system/.config/calibre/plugins/Favourites Menu.json
+++ b/dotfiles/common/.config/calibre/plugins/Favourites Menu.json
diff --git a/dotfiles/system/.config/calibre/plugins/Favourites Menu.zip b/dotfiles/common/.config/calibre/plugins/Favourites Menu.zip
index 767f621..767f621 100644
--- a/dotfiles/system/.config/calibre/plugins/Favourites Menu.zip
+++ b/dotfiles/common/.config/calibre/plugins/Favourites Menu.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Find Duplicates.json b/dotfiles/common/.config/calibre/plugins/Find Duplicates.json
index 9daa2b7..9daa2b7 100644
--- a/dotfiles/system/.config/calibre/plugins/Find Duplicates.json
+++ b/dotfiles/common/.config/calibre/plugins/Find Duplicates.json
diff --git a/dotfiles/system/.config/calibre/plugins/Find Duplicates.zip b/dotfiles/common/.config/calibre/plugins/Find Duplicates.zip
index a6ce77a..a6ce77a 100644
--- a/dotfiles/system/.config/calibre/plugins/Find Duplicates.zip
+++ b/dotfiles/common/.config/calibre/plugins/Find Duplicates.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/KePub Metadata Reader.zip b/dotfiles/common/.config/calibre/plugins/KePub Metadata Reader.zip
index 13394c9..13394c9 100644
--- a/dotfiles/system/.config/calibre/plugins/KePub Metadata Reader.zip
+++ b/dotfiles/common/.config/calibre/plugins/KePub Metadata Reader.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/KePub Metadata Writer.zip b/dotfiles/common/.config/calibre/plugins/KePub Metadata Writer.zip
index 7ac4e55..7ac4e55 100644
--- a/dotfiles/system/.config/calibre/plugins/KePub Metadata Writer.zip
+++ b/dotfiles/common/.config/calibre/plugins/KePub Metadata Writer.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Kindle hi-res covers.zip b/dotfiles/common/.config/calibre/plugins/Kindle hi-res covers.zip
index 40106fe..40106fe 100644
--- a/dotfiles/system/.config/calibre/plugins/Kindle hi-res covers.zip
+++ b/dotfiles/common/.config/calibre/plugins/Kindle hi-res covers.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Kobo Metadata.zip b/dotfiles/common/.config/calibre/plugins/Kobo Metadata.zip
index aaf91cb..aaf91cb 100644
--- a/dotfiles/system/.config/calibre/plugins/Kobo Metadata.zip
+++ b/dotfiles/common/.config/calibre/plugins/Kobo Metadata.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Kobo Utilities.json b/dotfiles/common/.config/calibre/plugins/Kobo Utilities.json
index 4d9121a..4d9121a 100644
--- a/dotfiles/system/.config/calibre/plugins/Kobo Utilities.json
+++ b/dotfiles/common/.config/calibre/plugins/Kobo Utilities.json
diff --git a/dotfiles/system/.config/calibre/plugins/Kobo Utilities.zip b/dotfiles/common/.config/calibre/plugins/Kobo Utilities.zip
index 4d62c4b..4d62c4b 100644
--- a/dotfiles/system/.config/calibre/plugins/Kobo Utilities.zip
+++ b/dotfiles/common/.config/calibre/plugins/Kobo Utilities.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/KoboTouchExtended.zip b/dotfiles/common/.config/calibre/plugins/KoboTouchExtended.zip
index 3640da2..3640da2 100644
--- a/dotfiles/system/.config/calibre/plugins/KoboTouchExtended.zip
+++ b/dotfiles/common/.config/calibre/plugins/KoboTouchExtended.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Open With.json b/dotfiles/common/.config/calibre/plugins/Open With.json
index 81eaeb8..81eaeb8 100644
--- a/dotfiles/system/.config/calibre/plugins/Open With.json
+++ b/dotfiles/common/.config/calibre/plugins/Open With.json
diff --git a/dotfiles/system/.config/calibre/plugins/Open With.zip b/dotfiles/common/.config/calibre/plugins/Open With.zip
index 548c8ed..548c8ed 100644
--- a/dotfiles/system/.config/calibre/plugins/Open With.zip
+++ b/dotfiles/common/.config/calibre/plugins/Open With.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Reading List.json b/dotfiles/common/.config/calibre/plugins/Reading List.json
index a348407..a348407 100644
--- a/dotfiles/system/.config/calibre/plugins/Reading List.json
+++ b/dotfiles/common/.config/calibre/plugins/Reading List.json
diff --git a/dotfiles/system/.config/calibre/plugins/Reading List.zip b/dotfiles/common/.config/calibre/plugins/Reading List.zip
index 3a46edf..3a46edf 100644
--- a/dotfiles/system/.config/calibre/plugins/Reading List.zip
+++ b/dotfiles/common/.config/calibre/plugins/Reading List.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/plugins/Search The Internet.json b/dotfiles/common/.config/calibre/plugins/Search The Internet.json
index 21f6786..21f6786 100644
--- a/dotfiles/system/.config/calibre/plugins/Search The Internet.json
+++ b/dotfiles/common/.config/calibre/plugins/Search The Internet.json
diff --git a/dotfiles/system/.config/calibre/plugins/Wikidata.zip b/dotfiles/common/.config/calibre/plugins/Wikidata.zip
index 61f919b..61f919b 100644
--- a/dotfiles/system/.config/calibre/plugins/Wikidata.zip
+++ b/dotfiles/common/.config/calibre/plugins/Wikidata.zip
Binary files differ
diff --git a/dotfiles/system/.config/calibre/save_to_disk.py.json b/dotfiles/common/.config/calibre/save_to_disk.py.json
index bdf4e57..bdf4e57 100644
--- a/dotfiles/system/.config/calibre/save_to_disk.py.json
+++ b/dotfiles/common/.config/calibre/save_to_disk.py.json
diff --git a/dotfiles/system/.config/calibre/scheduler.xml b/dotfiles/common/.config/calibre/scheduler.xml
index d145a64..d145a64 100644
--- a/dotfiles/system/.config/calibre/scheduler.xml
+++ b/dotfiles/common/.config/calibre/scheduler.xml
diff --git a/dotfiles/system/.config/calibre/server-config.txt b/dotfiles/common/.config/calibre/server-config.txt
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/calibre/server-config.txt
+++ b/dotfiles/common/.config/calibre/server-config.txt
diff --git a/dotfiles/system/.config/calibre/server-custom-list-template.json b/dotfiles/common/.config/calibre/server-custom-list-template.json
index f5cad2c..f5cad2c 100644
--- a/dotfiles/system/.config/calibre/server-custom-list-template.json
+++ b/dotfiles/common/.config/calibre/server-custom-list-template.json
diff --git a/dotfiles/system/.config/calibre/server-search-the-net.json b/dotfiles/common/.config/calibre/server-search-the-net.json
index 89dbf5a..89dbf5a 100644
--- a/dotfiles/system/.config/calibre/server-search-the-net.json
+++ b/dotfiles/common/.config/calibre/server-search-the-net.json
diff --git a/dotfiles/system/.config/calibre/server-users.sqlite b/dotfiles/common/.config/calibre/server-users.sqlite
index c191559..c191559 100644
--- a/dotfiles/system/.config/calibre/server-users.sqlite
+++ b/dotfiles/common/.config/calibre/server-users.sqlite
Binary files differ
diff --git a/dotfiles/system/.config/calibre/shortcuts/main.json b/dotfiles/common/.config/calibre/shortcuts/main.json
index 3af458c..3af458c 100644
--- a/dotfiles/system/.config/calibre/shortcuts/main.json
+++ b/dotfiles/common/.config/calibre/shortcuts/main.json
diff --git a/dotfiles/system/.config/calibre/smtp.py.json b/dotfiles/common/.config/calibre/smtp.py.json
index 9e9ebb8..9e9ebb8 100644
--- a/dotfiles/system/.config/calibre/smtp.py.json
+++ b/dotfiles/common/.config/calibre/smtp.py.json
diff --git a/dotfiles/system/.config/calibre/tag-map-rules.json b/dotfiles/common/.config/calibre/tag-map-rules.json
index 7238834..7238834 100644
--- a/dotfiles/system/.config/calibre/tag-map-rules.json
+++ b/dotfiles/common/.config/calibre/tag-map-rules.json
diff --git a/dotfiles/system/.config/calibre/viewer-webengine.json b/dotfiles/common/.config/calibre/viewer-webengine.json
index dcd1405..dcd1405 100644
--- a/dotfiles/system/.config/calibre/viewer-webengine.json
+++ b/dotfiles/common/.config/calibre/viewer-webengine.json
diff --git a/dotfiles/system/.config/calibre/viewer.json b/dotfiles/common/.config/calibre/viewer.json
index ecc631e..ecc631e 100644
--- a/dotfiles/system/.config/calibre/viewer.json
+++ b/dotfiles/common/.config/calibre/viewer.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json b/dotfiles/common/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json
index 6ecdf09..6ecdf09 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/19f02e8b622152fd5d7c642d30ecac05080ddf3e9e288a22c4f49866ba57c8b2.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json b/dotfiles/common/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json
index 0317109..0317109 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/33083ace2855943c7e4d7d188c47051f047f05e84d828fca5e5545396b94f14c.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json b/dotfiles/common/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json
index a44655c..a44655c 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/5856c3e5aa41dd1b47711fa2b70e5ba9a2f61369f97c7fcc415321753e7c8bea.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json b/dotfiles/common/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json
index 1dfa74a..1dfa74a 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/5d4b018509f9383872d23f1c4a0652d20e908edc16409bc7697635a28f96478e.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json b/dotfiles/common/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json
index 2579467..2579467 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/6fd06a181469267e9c09d240ef2d3cca061e54ce37143a9e142524f61028cdd9.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json b/dotfiles/common/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json
index 0637a08..0637a08 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/90922c33b4cfd6cdf2f2f462bc5f6e6b0f18bdb829384144fdd13cc3b487deb1.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json b/dotfiles/common/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json
index ac7dcad..ac7dcad 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/ab0b0aa00cc90f53470da2761ea678a4ccacef1f5002917bda43970cd6096b19.json
diff --git a/dotfiles/system/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json b/dotfiles/common/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json
index 098752f..098752f 100644
--- a/dotfiles/system/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json
+++ b/dotfiles/common/.config/calibre/viewer/annots/c5a80ad08eb5ae859fefd73672b6a7cddc243254b55897adfdd5671fe7b2aacf.json
diff --git a/dotfiles/system/.config/conky/conky.conf b/dotfiles/common/.config/conky/conky.conf
index 09ee8ea..09ee8ea 100644
--- a/dotfiles/system/.config/conky/conky.conf
+++ b/dotfiles/common/.config/conky/conky.conf
diff --git a/dotfiles/system/.config/dunst/dunstrc b/dotfiles/common/.config/dunst/dunstrc
index 104df28..104df28 100644
--- a/dotfiles/system/.config/dunst/dunstrc
+++ b/dotfiles/common/.config/dunst/dunstrc
diff --git a/dotfiles/system/.config/environment.d/envvars.conf b/dotfiles/common/.config/environment.d/envvars.conf
index f937aab..f937aab 100644
--- a/dotfiles/system/.config/environment.d/envvars.conf
+++ b/dotfiles/common/.config/environment.d/envvars.conf
diff --git a/dotfiles/system/.config/feh/keys b/dotfiles/common/.config/feh/keys
index d2fbf09..3cdea0b 100644
--- a/dotfiles/system/.config/feh/keys
+++ b/dotfiles/common/.config/feh/keys
@@ -2,5 +2,5 @@
# Format: action key1 [key2 [key3]]
# Zoom: add +/- to existing Up/Down bindings
-zoom_in plus Up KP_Add
+zoom_in plus equal Up
zoom_out minus Down KP_Subtract
diff --git a/dotfiles/system/.config/flameshot/flameshot.ini b/dotfiles/common/.config/flameshot/flameshot.ini
index 8874b3b..8874b3b 100644
--- a/dotfiles/system/.config/flameshot/flameshot.ini
+++ b/dotfiles/common/.config/flameshot/flameshot.ini
diff --git a/dotfiles/system/.config/fontconfig/fonts.conf b/dotfiles/common/.config/fontconfig/fonts.conf
index 6a27675..6a27675 100644
--- a/dotfiles/system/.config/fontconfig/fonts.conf
+++ b/dotfiles/common/.config/fontconfig/fonts.conf
diff --git a/dotfiles/system/.config/gtk-3.0/gtk.css b/dotfiles/common/.config/gtk-3.0/gtk.css
index a1d4c13..a1d4c13 100644
--- a/dotfiles/system/.config/gtk-3.0/gtk.css
+++ b/dotfiles/common/.config/gtk-3.0/gtk.css
diff --git a/dotfiles/system/.config/gtk-3.0/settings.ini b/dotfiles/common/.config/gtk-3.0/settings.ini
index 2023ae6..2023ae6 100644
--- a/dotfiles/system/.config/gtk-3.0/settings.ini
+++ b/dotfiles/common/.config/gtk-3.0/settings.ini
diff --git a/dotfiles/system/.config/htop/htoprc b/dotfiles/common/.config/htop/htoprc
index 06b580d..06b580d 100644
--- a/dotfiles/system/.config/htop/htoprc
+++ b/dotfiles/common/.config/htop/htoprc
diff --git a/dotfiles/system/.config/mc/panels.ini b/dotfiles/common/.config/mc/panels.ini
index e69de29..e69de29 100644
--- a/dotfiles/system/.config/mc/panels.ini
+++ b/dotfiles/common/.config/mc/panels.ini
diff --git a/dotfiles/system/.config/mpd/mpd.conf b/dotfiles/common/.config/mpd/mpd.conf
index d084cb2..d084cb2 100644
--- a/dotfiles/system/.config/mpd/mpd.conf
+++ b/dotfiles/common/.config/mpd/mpd.conf
diff --git a/dotfiles/system/.config/mpd/musicpd.conf b/dotfiles/common/.config/mpd/musicpd.conf
index 9f34c44..9f34c44 100644
--- a/dotfiles/system/.config/mpd/musicpd.conf
+++ b/dotfiles/common/.config/mpd/musicpd.conf
diff --git a/dotfiles/system/.config/mpv/input.conf b/dotfiles/common/.config/mpv/input.conf
index 937534c..937534c 100644
--- a/dotfiles/system/.config/mpv/input.conf
+++ b/dotfiles/common/.config/mpv/input.conf
diff --git a/dotfiles/system/.config/mpv/mpv.conf b/dotfiles/common/.config/mpv/mpv.conf
index 52a4082..52a4082 100644
--- a/dotfiles/system/.config/mpv/mpv.conf
+++ b/dotfiles/common/.config/mpv/mpv.conf
diff --git a/dotfiles/system/.config/ncmpcpp/bindings b/dotfiles/common/.config/ncmpcpp/bindings
index a7ca6c0..a7ca6c0 100644
--- a/dotfiles/system/.config/ncmpcpp/bindings
+++ b/dotfiles/common/.config/ncmpcpp/bindings
diff --git a/dotfiles/system/.config/ncmpcpp/config b/dotfiles/common/.config/ncmpcpp/config
index 6520d5a..6520d5a 100644
--- a/dotfiles/system/.config/ncmpcpp/config
+++ b/dotfiles/common/.config/ncmpcpp/config
diff --git a/dotfiles/system/.config/picom.conf b/dotfiles/common/.config/picom.conf
index 0b65df7..0b65df7 100644
--- a/dotfiles/system/.config/picom.conf
+++ b/dotfiles/common/.config/picom.conf
diff --git a/dotfiles/system/.config/qalculate/qalculate-gtk.cfg b/dotfiles/common/.config/qalculate/qalculate-gtk.cfg
index 7004d0e..22d7f45 100644
--- a/dotfiles/system/.config/qalculate/qalculate-gtk.cfg
+++ b/dotfiles/common/.config/qalculate/qalculate-gtk.cfg
@@ -1,6 +1,6 @@
[General]
-version=5.8.2
+version=5.9.0
allow_multiple_instances=-1
width=1167
always_on_top=0
diff --git a/dotfiles/system/.config/qt5ct/qt5ct.conf b/dotfiles/common/.config/qt5ct/qt5ct.conf
index 56a88db..56a88db 100644
--- a/dotfiles/system/.config/qt5ct/qt5ct.conf
+++ b/dotfiles/common/.config/qt5ct/qt5ct.conf
diff --git a/dotfiles/common/.config/qt6ct/qt6ct.conf b/dotfiles/common/.config/qt6ct/qt6ct.conf
new file mode 100644
index 0000000..496c09d
--- /dev/null
+++ b/dotfiles/common/.config/qt6ct/qt6ct.conf
@@ -0,0 +1,29 @@
+[Appearance]
+color_scheme_path=/usr/share/qt6ct/colors/darker.conf
+custom_palette=true
+icon_theme=Papirus-Dark
+standard_dialogs=default
+style=Adwaita-Dark
+
+[Fonts]
+fixed="Cantarell,11,-1,5,50,0,0,0,0,0"
+general="Cantarell,11,-1,5,50,0,0,0,0,0"
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=0
+cursor_flash_time=1000
+dialog_buttons_have_icons=1
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[Troubleshooting]
+force_raster_widgets=1
+ignored_applications=@Invalid()
diff --git a/dotfiles/system/.config/ranger/commands.py b/dotfiles/common/.config/ranger/commands.py
index 97b7909..97b7909 100644
--- a/dotfiles/system/.config/ranger/commands.py
+++ b/dotfiles/common/.config/ranger/commands.py
diff --git a/dotfiles/system/.config/ranger/commands_full.py b/dotfiles/common/.config/ranger/commands_full.py
index d177203..d177203 100644
--- a/dotfiles/system/.config/ranger/commands_full.py
+++ b/dotfiles/common/.config/ranger/commands_full.py
diff --git a/dotfiles/system/.config/ranger/rc.conf b/dotfiles/common/.config/ranger/rc.conf
index 89d09ff..89d09ff 100644
--- a/dotfiles/system/.config/ranger/rc.conf
+++ b/dotfiles/common/.config/ranger/rc.conf
diff --git a/dotfiles/system/.config/ranger/rifle.conf b/dotfiles/common/.config/ranger/rifle.conf
index 8cc0ce7..8cc0ce7 100644
--- a/dotfiles/system/.config/ranger/rifle.conf
+++ b/dotfiles/common/.config/ranger/rifle.conf
diff --git a/dotfiles/system/.config/ranger/scope.sh b/dotfiles/common/.config/ranger/scope.sh
index 13a25b4..13a25b4 100755
--- a/dotfiles/system/.config/ranger/scope.sh
+++ b/dotfiles/common/.config/ranger/scope.sh
diff --git a/dotfiles/system/.config/redshift.conf b/dotfiles/common/.config/redshift.conf
index 92b61bf..92b61bf 100644
--- a/dotfiles/system/.config/redshift.conf
+++ b/dotfiles/common/.config/redshift.conf
diff --git a/dotfiles/system/.config/rofi/config.rasi b/dotfiles/common/.config/rofi/config.rasi
index 3f50cc6..3f50cc6 100644
--- a/dotfiles/system/.config/rofi/config.rasi
+++ b/dotfiles/common/.config/rofi/config.rasi
diff --git a/dotfiles/system/.config/rofi/themes/rounded-gray-dark.rasi b/dotfiles/common/.config/rofi/themes/rounded-gray-dark.rasi
index de5bbc3..de5bbc3 100644
--- a/dotfiles/system/.config/rofi/themes/rounded-gray-dark.rasi
+++ b/dotfiles/common/.config/rofi/themes/rounded-gray-dark.rasi
diff --git a/dotfiles/system/.config/sxhkd/sxhkdrc b/dotfiles/common/.config/sxhkd/sxhkdrc
index 0a01188..16b90c7 100644
--- a/dotfiles/system/.config/sxhkd/sxhkdrc
+++ b/dotfiles/common/.config/sxhkd/sxhkdrc
@@ -30,7 +30,7 @@ super + e
# File Manager
control + alt + f
- thunar
+ nautilus
# Virtualbox
super + v
diff --git a/dotfiles/system/.config/systemd/user/emacs.service b/dotfiles/common/.config/systemd/user/emacs.service
index 0e3a102..0e3a102 100644
--- a/dotfiles/system/.config/systemd/user/emacs.service
+++ b/dotfiles/common/.config/systemd/user/emacs.service
diff --git a/dotfiles/system/.config/systemd/user/geoclue-agent.service b/dotfiles/common/.config/systemd/user/geoclue-agent.service
index 9f2adc0..9f2adc0 100644
--- a/dotfiles/system/.config/systemd/user/geoclue-agent.service
+++ b/dotfiles/common/.config/systemd/user/geoclue-agent.service
diff --git a/dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf b/dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf
index e8c5e8f..e8c5e8f 100644
--- a/dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf
+++ b/dotfiles/common/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf
diff --git a/dotfiles/system/.config/tickrs/config.yml b/dotfiles/common/.config/tickrs/config.yml
index a9c07c3..a9c07c3 100644
--- a/dotfiles/system/.config/tickrs/config.yml
+++ b/dotfiles/common/.config/tickrs/config.yml
diff --git a/dotfiles/system/.config/topgrade.toml b/dotfiles/common/.config/topgrade.toml
index b4434f2..b4434f2 100644
--- a/dotfiles/system/.config/topgrade.toml
+++ b/dotfiles/common/.config/topgrade.toml
diff --git a/dotfiles/system/.config/touchpad-indicator/touchpad-indicator.conf b/dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf
index 51a9907..51a9907 100644
--- a/dotfiles/system/.config/touchpad-indicator/touchpad-indicator.conf
+++ b/dotfiles/common/.config/touchpad-indicator/touchpad-indicator.conf
diff --git a/dotfiles/system/.config/transmission-daemon b/dotfiles/common/.config/transmission-daemon
index e768f74..e768f74 120000
--- a/dotfiles/system/.config/transmission-daemon
+++ b/dotfiles/common/.config/transmission-daemon
diff --git a/dotfiles/system/.config/transmission/settings.json b/dotfiles/common/.config/transmission/settings.json
index c232f9d..c232f9d 100644
--- a/dotfiles/system/.config/transmission/settings.json
+++ b/dotfiles/common/.config/transmission/settings.json
diff --git a/dotfiles/system/.config/user-dirs.dirs b/dotfiles/common/.config/user-dirs.dirs
index 0db0cae..0db0cae 100644
--- a/dotfiles/system/.config/user-dirs.dirs
+++ b/dotfiles/common/.config/user-dirs.dirs
diff --git a/dotfiles/system/.config/user-dirs.locale b/dotfiles/common/.config/user-dirs.locale
index 3e0b419..3e0b419 100644
--- a/dotfiles/system/.config/user-dirs.locale
+++ b/dotfiles/common/.config/user-dirs.locale
diff --git a/dotfiles/common/.config/yt-dlp/config b/dotfiles/common/.config/yt-dlp/config
new file mode 100644
index 0000000..6b99261
--- /dev/null
+++ b/dotfiles/common/.config/yt-dlp/config
@@ -0,0 +1,20 @@
+# yt-dlp config
+# Craig Jennings <c@cjennings.net>
+
+# Embed metadata into file
+--embed-metadata
+
+# Best quality video+audio, fallback to best single file
+--format bestvideo+bestaudio/best
+
+# Don't overwrite existing files
+--no-overwrites
+
+# Continue on errors (useful for playlists)
+--ignore-errors
+
+# Best audio quality for audio extraction (0=best, 9=worst)
+--audio-quality 0
+
+# Output template: ~/videos/channel-title.ext
+-o ~/videos/%(channel)s-%(title)s.%(ext)s
diff --git a/dotfiles/system/.config/zathura/zathurarc b/dotfiles/common/.config/zathura/zathurarc
index 7f61084..7f61084 100644
--- a/dotfiles/system/.config/zathura/zathurarc
+++ b/dotfiles/common/.config/zathura/zathurarc
diff --git a/dotfiles/system/.gitconfig b/dotfiles/common/.gitconfig
index 9b74927..9b74927 100644
--- a/dotfiles/system/.gitconfig
+++ b/dotfiles/common/.gitconfig
diff --git a/dotfiles/system/.gitignore b/dotfiles/common/.gitignore
index a7db3a3..a7db3a3 100644
--- a/dotfiles/system/.gitignore
+++ b/dotfiles/common/.gitignore
diff --git a/dotfiles/system/.gtkrc-2.0 b/dotfiles/common/.gtkrc-2.0
index 9710b03..9710b03 100644
--- a/dotfiles/system/.gtkrc-2.0
+++ b/dotfiles/common/.gtkrc-2.0
diff --git a/dotfiles/system/.hushlogin b/dotfiles/common/.hushlogin
index e69de29..e69de29 100644
--- a/dotfiles/system/.hushlogin
+++ b/dotfiles/common/.hushlogin
diff --git a/dotfiles/system/.latexmkrc b/dotfiles/common/.latexmkrc
index 1e19115..1e19115 100644
--- a/dotfiles/system/.latexmkrc
+++ b/dotfiles/common/.latexmkrc
diff --git a/dotfiles/system/.local/bin/AAXtoMP3 b/dotfiles/common/.local/bin/AAXtoMP3
index adc91ef..adc91ef 100755
--- a/dotfiles/system/.local/bin/AAXtoMP3
+++ b/dotfiles/common/.local/bin/AAXtoMP3
diff --git a/dotfiles/system/.local/bin/ai-assistants b/dotfiles/common/.local/bin/ai-assistants
index 51028fe..51028fe 100755
--- a/dotfiles/system/.local/bin/ai-assistants
+++ b/dotfiles/common/.local/bin/ai-assistants
diff --git a/dotfiles/system/.local/bin/any2flac b/dotfiles/common/.local/bin/any2flac
index c2cc0a7..c2cc0a7 100755
--- a/dotfiles/system/.local/bin/any2flac
+++ b/dotfiles/common/.local/bin/any2flac
diff --git a/dotfiles/system/.local/bin/any2opus b/dotfiles/common/.local/bin/any2opus
index c5a7dbd..c5a7dbd 100755
--- a/dotfiles/system/.local/bin/any2opus
+++ b/dotfiles/common/.local/bin/any2opus
diff --git a/dotfiles/system/.local/bin/build-emacs.sh b/dotfiles/common/.local/bin/build-emacs.sh
index 4e47ff9..4e47ff9 100755
--- a/dotfiles/system/.local/bin/build-emacs.sh
+++ b/dotfiles/common/.local/bin/build-emacs.sh
diff --git a/dotfiles/system/.local/bin/clobberall b/dotfiles/common/.local/bin/clobberall
index a570d4e..a570d4e 100755
--- a/dotfiles/system/.local/bin/clobberall
+++ b/dotfiles/common/.local/bin/clobberall
diff --git a/dotfiles/system/.local/bin/cron/README.md b/dotfiles/common/.local/bin/cron/README.md
index fa0c354..fa0c354 100644
--- a/dotfiles/system/.local/bin/cron/README.md
+++ b/dotfiles/common/.local/bin/cron/README.md
diff --git a/dotfiles/system/.local/bin/cron/checkup b/dotfiles/common/.local/bin/cron/checkup
index bd3c634..bd3c634 100755
--- a/dotfiles/system/.local/bin/cron/checkup
+++ b/dotfiles/common/.local/bin/cron/checkup
diff --git a/dotfiles/system/.local/bin/cron/crontog b/dotfiles/common/.local/bin/cron/crontog
index 5aba5e6..5aba5e6 100755
--- a/dotfiles/system/.local/bin/cron/crontog
+++ b/dotfiles/common/.local/bin/cron/crontog
diff --git a/dotfiles/system/.local/bin/dab b/dotfiles/common/.local/bin/dab
index e7d0fae..e7d0fae 100755
--- a/dotfiles/system/.local/bin/dab
+++ b/dotfiles/common/.local/bin/dab
diff --git a/dotfiles/system/.local/bin/ec b/dotfiles/common/.local/bin/ec
index b409195..b409195 100755
--- a/dotfiles/system/.local/bin/ec
+++ b/dotfiles/common/.local/bin/ec
diff --git a/dotfiles/system/.local/bin/em b/dotfiles/common/.local/bin/em
index b409195..b409195 100755
--- a/dotfiles/system/.local/bin/em
+++ b/dotfiles/common/.local/bin/em
diff --git a/dotfiles/system/.local/bin/et b/dotfiles/common/.local/bin/et
index 1c3c4a0..1c3c4a0 100755
--- a/dotfiles/system/.local/bin/et
+++ b/dotfiles/common/.local/bin/et
diff --git a/dotfiles/system/.local/bin/extractaudio b/dotfiles/common/.local/bin/extractaudio
index a665451..a665451 100755
--- a/dotfiles/system/.local/bin/extractaudio
+++ b/dotfiles/common/.local/bin/extractaudio
diff --git a/dotfiles/system/.local/bin/get-arch-iso.sh b/dotfiles/common/.local/bin/get-arch-iso.sh
index 635034a..635034a 100755
--- a/dotfiles/system/.local/bin/get-arch-iso.sh
+++ b/dotfiles/common/.local/bin/get-arch-iso.sh
diff --git a/dotfiles/system/.local/bin/gitconfig_defaults b/dotfiles/common/.local/bin/gitconfig_defaults
index c2f18ae..c2f18ae 100755
--- a/dotfiles/system/.local/bin/gitconfig_defaults
+++ b/dotfiles/common/.local/bin/gitconfig_defaults
diff --git a/dotfiles/system/.local/bin/ifinstalled b/dotfiles/common/.local/bin/ifinstalled
index c192eba..c192eba 100755
--- a/dotfiles/system/.local/bin/ifinstalled
+++ b/dotfiles/common/.local/bin/ifinstalled
diff --git a/dotfiles/system/.local/bin/linkhandler b/dotfiles/common/.local/bin/linkhandler
index cc971fc..cc971fc 100755
--- a/dotfiles/system/.local/bin/linkhandler
+++ b/dotfiles/common/.local/bin/linkhandler
diff --git a/dotfiles/system/.local/bin/mkplaylist b/dotfiles/common/.local/bin/mkplaylist
index 66b6e9c..66b6e9c 100755
--- a/dotfiles/system/.local/bin/mkplaylist
+++ b/dotfiles/common/.local/bin/mkplaylist
diff --git a/dotfiles/system/.local/bin/mpd_play_yt_stream b/dotfiles/common/.local/bin/mpd_play_yt_stream
index b53f298..b53f298 100755
--- a/dotfiles/system/.local/bin/mpd_play_yt_stream
+++ b/dotfiles/common/.local/bin/mpd_play_yt_stream
diff --git a/dotfiles/system/.local/bin/msmtp-enqueue.sh b/dotfiles/common/.local/bin/msmtp-enqueue.sh
index c9beaca..c9beaca 100755
--- a/dotfiles/system/.local/bin/msmtp-enqueue.sh
+++ b/dotfiles/common/.local/bin/msmtp-enqueue.sh
diff --git a/dotfiles/system/.local/bin/msmtp-listqueue.sh b/dotfiles/common/.local/bin/msmtp-listqueue.sh
index cc97c58..cc97c58 100755
--- a/dotfiles/system/.local/bin/msmtp-listqueue.sh
+++ b/dotfiles/common/.local/bin/msmtp-listqueue.sh
diff --git a/dotfiles/system/.local/bin/msmtp-runqueue.sh b/dotfiles/common/.local/bin/msmtp-runqueue.sh
index 1200610..1200610 100755
--- a/dotfiles/system/.local/bin/msmtp-runqueue.sh
+++ b/dotfiles/common/.local/bin/msmtp-runqueue.sh
diff --git a/dotfiles/system/.local/bin/open-file-in-eww b/dotfiles/common/.local/bin/open-file-in-eww
index e77899e..e77899e 100755
--- a/dotfiles/system/.local/bin/open-file-in-eww
+++ b/dotfiles/common/.local/bin/open-file-in-eww
diff --git a/dotfiles/system/.local/bin/opus2mp3 b/dotfiles/common/.local/bin/opus2mp3
index eef37ed..eef37ed 100755
--- a/dotfiles/system/.local/bin/opus2mp3
+++ b/dotfiles/common/.local/bin/opus2mp3
diff --git a/dotfiles/system/.local/bin/org-capture.sh b/dotfiles/common/.local/bin/org-capture.sh
index 1e63177..1e63177 100755
--- a/dotfiles/system/.local/bin/org-capture.sh
+++ b/dotfiles/common/.local/bin/org-capture.sh
diff --git a/dotfiles/common/.local/bin/org-protocol-setup b/dotfiles/common/.local/bin/org-protocol-setup
new file mode 100755
index 0000000..5ed86a7
--- /dev/null
+++ b/dotfiles/common/.local/bin/org-protocol-setup
@@ -0,0 +1,9 @@
+#!/bin/sh
+# org-protocol-setup
+# Craig Jennings <c@cjennings.net>
+# Register org-protocol scheme handler for Emacs capture
+
+xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol
+update-desktop-database ~/.local/share/applications/
+
+echo "org-protocol handler registered for Emacs"
diff --git a/dotfiles/system/.local/bin/ps-mem b/dotfiles/common/.local/bin/ps-mem
index b24b003..b24b003 100755
--- a/dotfiles/system/.local/bin/ps-mem
+++ b/dotfiles/common/.local/bin/ps-mem
diff --git a/dotfiles/system/.local/bin/refresharchkeys b/dotfiles/common/.local/bin/refresharchkeys
index db1e755..db1e755 100755
--- a/dotfiles/system/.local/bin/refresharchkeys
+++ b/dotfiles/common/.local/bin/refresharchkeys
diff --git a/dotfiles/system/.local/bin/ssh-createkeys b/dotfiles/common/.local/bin/ssh-createkeys
index a1c14b6..a1c14b6 100755
--- a/dotfiles/system/.local/bin/ssh-createkeys
+++ b/dotfiles/common/.local/bin/ssh-createkeys
diff --git a/dotfiles/system/.local/bin/timezone-change b/dotfiles/common/.local/bin/timezone-change
index c5a4e5a..c5a4e5a 100755
--- a/dotfiles/system/.local/bin/timezone-change
+++ b/dotfiles/common/.local/bin/timezone-change
diff --git a/dotfiles/system/.local/bin/timezone-set b/dotfiles/common/.local/bin/timezone-set
index 1fe7370..1fe7370 100755
--- a/dotfiles/system/.local/bin/timezone-set
+++ b/dotfiles/common/.local/bin/timezone-set
diff --git a/dotfiles/system/.local/bin/torwrap b/dotfiles/common/.local/bin/torwrap
index 8b20ad4..8b20ad4 100755
--- a/dotfiles/system/.local/bin/torwrap
+++ b/dotfiles/common/.local/bin/torwrap
diff --git a/dotfiles/system/.local/bin/updatemirrors b/dotfiles/common/.local/bin/updatemirrors
index 3ba4f7f..3ba4f7f 100755
--- a/dotfiles/system/.local/bin/updatemirrors
+++ b/dotfiles/common/.local/bin/updatemirrors
diff --git a/dotfiles/system/.local/bin/warpinator-start b/dotfiles/common/.local/bin/warpinator-start
index 2d1798c..2d1798c 100755
--- a/dotfiles/system/.local/bin/warpinator-start
+++ b/dotfiles/common/.local/bin/warpinator-start
diff --git a/dotfiles/system/.local/share/applications/mimeapps.list b/dotfiles/common/.local/share/applications/mimeapps.list
index e69de29..e69de29 100644
--- a/dotfiles/system/.local/share/applications/mimeapps.list
+++ b/dotfiles/common/.local/share/applications/mimeapps.list
diff --git a/dotfiles/system/.local/share/applications/org-protocol.desktop b/dotfiles/common/.local/share/applications/org-protocol.desktop
index 1cebf61..1cebf61 100644
--- a/dotfiles/system/.local/share/applications/org-protocol.desktop
+++ b/dotfiles/common/.local/share/applications/org-protocol.desktop
diff --git a/dotfiles/system/.local/share/audacious/Skins/2a03.wsz b/dotfiles/common/.local/share/audacious/Skins/2a03.wsz
index 551a492..551a492 100644
--- a/dotfiles/system/.local/share/audacious/Skins/2a03.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/2a03.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Adidas2-3.zip b/dotfiles/common/.local/share/audacious/Skins/Adidas2-3.zip
index 4d7bb1a..4d7bb1a 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Adidas2-3.zip
+++ b/dotfiles/common/.local/share/audacious/Skins/Adidas2-3.zip
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Blac.wsz b/dotfiles/common/.local/share/audacious/Skins/Blac.wsz
index 8585b33..8585b33 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Blac.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Blac.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz b/dotfiles/common/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz
index 23b0f11..23b0f11 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Classic_70's_Marshall_Stack.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Digital_Stereo_73.wsz b/dotfiles/common/.local/share/audacious/Skins/Digital_Stereo_73.wsz
index b497025..b497025 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Digital_Stereo_73.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Digital_Stereo_73.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz b/dotfiles/common/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz
index 1d9a40b..1d9a40b 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Expensive_HI_FI_Sony_2005.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Future_Audio_1.wsz b/dotfiles/common/.local/share/audacious/Skins/Future_Audio_1.wsz
index 7bc48e7..7bc48e7 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Future_Audio_1.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Future_Audio_1.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz b/dotfiles/common/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz
index f89bc9c..f89bc9c 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Modern_Stereo_Amp_2.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz b/dotfiles/common/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz
index dc5135c..dc5135c 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Modern_Style_Marshall_Stack.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz b/dotfiles/common/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz
index 19de9af..19de9af 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Nucleo_NLog_v102_.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/PioneerAmp.wsz b/dotfiles/common/.local/share/audacious/Skins/PioneerAmp.wsz
index b1fbde1..b1fbde1 100644
--- a/dotfiles/system/.local/share/audacious/Skins/PioneerAmp.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/PioneerAmp.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz b/dotfiles/common/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz
index 6ab3c8f..6ab3c8f 100644
--- a/dotfiles/system/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/RAZORIX 50 % Uriel - 50% Kript.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/SONY3.WSZ b/dotfiles/common/.local/share/audacious/Skins/SONY3.WSZ
index 8d6871d..8d6871d 100644
--- a/dotfiles/system/.local/share/audacious/Skins/SONY3.WSZ
+++ b/dotfiles/common/.local/share/audacious/Skins/SONY3.WSZ
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Sony MD.wsz b/dotfiles/common/.local/share/audacious/Skins/Sony MD.wsz
index 3b08b42..3b08b42 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Sony MD.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Sony MD.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Spy Amp.zip b/dotfiles/common/.local/share/audacious/Skins/Spy Amp.zip
index b06da94..b06da94 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Spy Amp.zip
+++ b/dotfiles/common/.local/share/audacious/Skins/Spy Amp.zip
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz b/dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz
index bb01842..bb01842 100644
--- a/dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Heaven.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz b/dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz
index d6a759e..d6a759e 100644
--- a/dotfiles/system/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/SpyAMP Pro Zeus.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz b/dotfiles/common/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz
index c3a4a26..c3a4a26 100644
--- a/dotfiles/system/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/SpyAMP_professional_edition_mV1.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz b/dotfiles/common/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz
index 8c43f82..8c43f82 100644
--- a/dotfiles/system/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/SpyAmp-Pro-Heaven.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Steel_Stereo.wsz b/dotfiles/common/.local/share/audacious/Skins/Steel_Stereo.wsz
index e3646b0..e3646b0 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Steel_Stereo.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Steel_Stereo.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/Technoia_ver001.wsz b/dotfiles/common/.local/share/audacious/Skins/Technoia_ver001.wsz
index fc4a0f6..fc4a0f6 100644
--- a/dotfiles/system/.local/share/audacious/Skins/Technoia_ver001.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/Technoia_ver001.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/base-2.91.wsz b/dotfiles/common/.local/share/audacious/Skins/base-2.91.wsz
index d1e0a67..d1e0a67 100644
--- a/dotfiles/system/.local/share/audacious/Skins/base-2.91.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/base-2.91.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/deviantamp.zip b/dotfiles/common/.local/share/audacious/Skins/deviantamp.zip
index 35d5964..35d5964 100644
--- a/dotfiles/system/.local/share/audacious/Skins/deviantamp.zip
+++ b/dotfiles/common/.local/share/audacious/Skins/deviantamp.zip
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/iWinamp_V1.wsz b/dotfiles/common/.local/share/audacious/Skins/iWinamp_V1.wsz
index b3e11aa..b3e11aa 100644
--- a/dotfiles/system/.local/share/audacious/Skins/iWinamp_V1.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/iWinamp_V1.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/nadamp.zip b/dotfiles/common/.local/share/audacious/Skins/nadamp.zip
index 9e6d5f9..9e6d5f9 100644
--- a/dotfiles/system/.local/share/audacious/Skins/nadamp.zip
+++ b/dotfiles/common/.local/share/audacious/Skins/nadamp.zip
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/s_Pioneer.wsz b/dotfiles/common/.local/share/audacious/Skins/s_Pioneer.wsz
index 3df6471..3df6471 100644
--- a/dotfiles/system/.local/share/audacious/Skins/s_Pioneer.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/s_Pioneer.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/satellite.wsz b/dotfiles/common/.local/share/audacious/Skins/satellite.wsz
index 9aaa1e1..9aaa1e1 100644
--- a/dotfiles/system/.local/share/audacious/Skins/satellite.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/satellite.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/sonympfx3lcdv111.wsz b/dotfiles/common/.local/share/audacious/Skins/sonympfx3lcdv111.wsz
index cd60ddf..cd60ddf 100644
--- a/dotfiles/system/.local/share/audacious/Skins/sonympfx3lcdv111.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/sonympfx3lcdv111.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/spyamp.zip b/dotfiles/common/.local/share/audacious/Skins/spyamp.zip
index 125aedf..125aedf 100644
--- a/dotfiles/system/.local/share/audacious/Skins/spyamp.zip
+++ b/dotfiles/common/.local/share/audacious/Skins/spyamp.zip
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/spyamp_sepia.wsz b/dotfiles/common/.local/share/audacious/Skins/spyamp_sepia.wsz
index 000d71e..000d71e 100644
--- a/dotfiles/system/.local/share/audacious/Skins/spyamp_sepia.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/spyamp_sepia.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/spyampy2k.wsz b/dotfiles/common/.local/share/audacious/Skins/spyampy2k.wsz
index ed40599..ed40599 100644
--- a/dotfiles/system/.local/share/audacious/Skins/spyampy2k.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/spyampy2k.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/spyampy2k3.wsz b/dotfiles/common/.local/share/audacious/Skins/spyampy2k3.wsz
index 1849707..1849707 100644
--- a/dotfiles/system/.local/share/audacious/Skins/spyampy2k3.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/spyampy2k3.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz b/dotfiles/common/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz
index db5443a..db5443a 100644
--- a/dotfiles/system/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz
+++ b/dotfiles/common/.local/share/audacious/Skins/v2_technics_white_resting_by_johnnyg0.wsz
Binary files differ
diff --git a/dotfiles/system/.local/share/emoji b/dotfiles/common/.local/share/emoji
index 2925c82..2925c82 100644
--- a/dotfiles/system/.local/share/emoji
+++ b/dotfiles/common/.local/share/emoji
diff --git a/dotfiles/system/.local/share/fonts/AppleColorEmoji.ttf b/dotfiles/common/.local/share/fonts/AppleColorEmoji.ttf
index a2410e0..a2410e0 100644
--- a/dotfiles/system/.local/share/fonts/AppleColorEmoji.ttf
+++ b/dotfiles/common/.local/share/fonts/AppleColorEmoji.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.otf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.otf
index bfbf049..bfbf049 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.ttf
index 8360c44..8360c44 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff
index 1292f0c..1292f0c 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff2
index 2ca7854..2ca7854 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Bold.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Bold.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.otf b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.otf
index b516668..b516668 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.ttf
index 0c27a23..0c27a23 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff
index 01a3446..01a3446 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff2
index 1ef6d20..1ef6d20 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-BoldItalic.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-BoldItalic.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.otf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.otf
index 245b152..245b152 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.otf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.ttf
index 9e710b8..9e710b8 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff
index 75232cb..75232cb 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff2
index 8ac24dd..8ac24dd 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Italic.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Italic.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.otf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.otf
index 5ee83c4..5ee83c4 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.ttf
index 9821fc4..9821fc4 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff
index 459e5b9..459e5b9 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff2
index 6b8f29d..6b8f29d 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMono-Regular.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMono-Regular.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf
index 2f76c1f..2f76c1f 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Bold.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf
index 03cf72f..03cf72f 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-BoldItalic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf
index be5694d..be5694d 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Italic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf
index a39f1da..a39f1da 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoNerdFont-Regular.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf
index f960162..f960162 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff
index af819a7..af819a7 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2
index cb3775e..cb3775e 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Italic.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf
index 51f0159..51f0159 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff
index 8bda931..8bda931 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2 b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2
index 1c14904..1c14904 100644
--- a/dotfiles/system/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2
+++ b/dotfiles/common/.local/share/fonts/BerkeleyMonoVariable-Regular.woff2
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-Bold.otf b/dotfiles/common/.local/share/fonts/CartographCF-Bold.otf
index 0bf7258..0bf7258 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-BoldItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-BoldItalic.otf
index 0f1d2ce..0f1d2ce 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-DemiBold.otf b/dotfiles/common/.local/share/fonts/CartographCF-DemiBold.otf
index e144f18..e144f18 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-DemiBold.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-DemiBold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-DemiBoldItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-DemiBoldItalic.otf
index b8cbbc3..b8cbbc3 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-DemiBoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-DemiBoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-ExtraBold.otf b/dotfiles/common/.local/share/fonts/CartographCF-ExtraBold.otf
index a49a239..a49a239 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-ExtraBold.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-ExtraBold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-ExtraBoldItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-ExtraBoldItalic.otf
index 7c44037..7c44037 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-ExtraBoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-ExtraBoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-ExtraLight.otf b/dotfiles/common/.local/share/fonts/CartographCF-ExtraLight.otf
index 16b9638..16b9638 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-ExtraLight.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-ExtraLight.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-ExtraLightItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-ExtraLightItalic.otf
index 3764561..3764561 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-ExtraLightItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-ExtraLightItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-Heavy.otf b/dotfiles/common/.local/share/fonts/CartographCF-Heavy.otf
index 7ff45c5..7ff45c5 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-Heavy.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-Heavy.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-HeavyItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-HeavyItalic.otf
index e6ba640..e6ba640 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-HeavyItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-HeavyItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-Light.otf b/dotfiles/common/.local/share/fonts/CartographCF-Light.otf
index f2193f7..f2193f7 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-Light.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-Light.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-LightItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-LightItalic.otf
index deb466a..deb466a 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-LightItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-LightItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-Regular.otf b/dotfiles/common/.local/share/fonts/CartographCF-Regular.otf
index 1169d42..1169d42 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-RegularItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-RegularItalic.otf
index d03e213..d03e213 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-RegularItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-RegularItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-Thin.otf b/dotfiles/common/.local/share/fonts/CartographCF-Thin.otf
index e3a1a97..e3a1a97 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-Thin.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-Thin.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CartographCF-ThinItalic.otf b/dotfiles/common/.local/share/fonts/CartographCF-ThinItalic.otf
index 5fcc062..5fcc062 100644
--- a/dotfiles/system/.local/share/fonts/CartographCF-ThinItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CartographCF-ThinItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Bold.otf b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Bold.otf
index 7117788..7117788 100644
--- a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CodeliaLigatures-BoldItalic.otf b/dotfiles/common/.local/share/fonts/CodeliaLigatures-BoldItalic.otf
index f4836e8..f4836e8 100644
--- a/dotfiles/system/.local/share/fonts/CodeliaLigatures-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/CodeliaLigatures-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Italic.otf b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Italic.otf
index 7471db0..7471db0 100644
--- a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Italic.otf
+++ b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Italic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Regular.otf b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Regular.otf
index 275774c..275774c 100644
--- a/dotfiles/system/.local/share/fonts/CodeliaLigatures-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/CodeliaLigatures-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Bold.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Bold.otf
index 30661a2..30661a2 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf
index a906291..a906291 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Italic.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Italic.otf
index 7034019..7034019 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Italic.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Italic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Light.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Light.otf
index fea2e31..fea2e31 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Light.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Light.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-LightItalic.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-LightItalic.otf
index 40c0897..40c0897 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-LightItalic.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-LightItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Medium.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Medium.otf
index 33f894a..33f894a 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Medium.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Medium.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf
index 12ce25a..12ce25a 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-MediumItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Regular.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Regular.otf
index 26bd4a3..26bd4a3 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-SBIta.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-SBIta.otf
index a382373..a382373 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-SBIta.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-SBIta.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Semibold.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Semibold.otf
index 8598353..8598353 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Semibold.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Semibold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Thin.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Thin.otf
index b3c1fb7..b3c1fb7 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-Thin.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-Thin.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf
index af96f80..af96f80 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-ThinItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-ULIta.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-ULIta.otf
index 42bcb59..42bcb59 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-ULIta.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-ULIta.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-UltraLight.otf b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-UltraLight.otf
index 0030307..0030307 100644
--- a/dotfiles/system/.local/share/fonts/ComicCodeLigatures-UltraLight.otf
+++ b/dotfiles/common/.local/share/fonts/ComicCodeLigatures-UltraLight.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Courier 10 Pitch Regular.otf b/dotfiles/common/.local/share/fonts/Courier 10 Pitch Regular.otf
index c2d294d..c2d294d 100644
--- a/dotfiles/system/.local/share/fonts/Courier 10 Pitch Regular.otf
+++ b/dotfiles/common/.local/share/fonts/Courier 10 Pitch Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/MERIFONT.TTF b/dotfiles/common/.local/share/fonts/MERIFONT.TTF
index 66b58d8..66b58d8 100644
--- a/dotfiles/system/.local/share/fonts/MERIFONT.TTF
+++ b/dotfiles/common/.local/share/fonts/MERIFONT.TTF
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-Black.ttf b/dotfiles/common/.local/share/fonts/Merriweather-Black.ttf
index 50c3b33..50c3b33 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-Black.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-Black.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-BlackItalic.ttf b/dotfiles/common/.local/share/fonts/Merriweather-BlackItalic.ttf
index 4879aba..4879aba 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-BlackItalic.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-BlackItalic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-Bold.ttf b/dotfiles/common/.local/share/fonts/Merriweather-Bold.ttf
index 3e10e02..3e10e02 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-Bold.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-Bold.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-BoldItalic.ttf b/dotfiles/common/.local/share/fonts/Merriweather-BoldItalic.ttf
index 5b9d0ec..5b9d0ec 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-BoldItalic.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-BoldItalic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-Italic.ttf b/dotfiles/common/.local/share/fonts/Merriweather-Italic.ttf
index 8e9d03d..8e9d03d 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-Italic.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-Italic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-Light.ttf b/dotfiles/common/.local/share/fonts/Merriweather-Light.ttf
index 034ef03..034ef03 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-Light.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-Light.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-LightItalic.ttf b/dotfiles/common/.local/share/fonts/Merriweather-LightItalic.ttf
index 4d19550..4d19550 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-LightItalic.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-LightItalic.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/Merriweather-Regular.ttf b/dotfiles/common/.local/share/fonts/Merriweather-Regular.ttf
index 3fecc77..3fecc77 100644
--- a/dotfiles/system/.local/share/fonts/Merriweather-Regular.ttf
+++ b/dotfiles/common/.local/share/fonts/Merriweather-Regular.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/MonoLisa-Bold.otf b/dotfiles/common/.local/share/fonts/MonoLisa-Bold.otf
index 0c21d71..0c21d71 100644
--- a/dotfiles/system/.local/share/fonts/MonoLisa-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/MonoLisa-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/MonoLisa-BoldItalic.otf b/dotfiles/common/.local/share/fonts/MonoLisa-BoldItalic.otf
index 8b39455..8b39455 100644
--- a/dotfiles/system/.local/share/fonts/MonoLisa-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/MonoLisa-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/MonoLisa-Regular.otf b/dotfiles/common/.local/share/fonts/MonoLisa-Regular.otf
index 80c8b4d..80c8b4d 100644
--- a/dotfiles/system/.local/share/fonts/MonoLisa-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/MonoLisa-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/MonoLisa-RegularItalic.otf b/dotfiles/common/.local/share/fonts/MonoLisa-RegularItalic.otf
index 140f54f..140f54f 100644
--- a/dotfiles/system/.local/share/fonts/MonoLisa-RegularItalic.otf
+++ b/dotfiles/common/.local/share/fonts/MonoLisa-RegularItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Bold.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Bold.otf
index 64b3a04..64b3a04 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Bold.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Bold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf
index 6a58baf..6a58baf 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-BoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBold.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBold.otf
index 738852d..738852d 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBold.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf
index 757150f..757150f 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-DemiBoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBold.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBold.otf
index 593b9cb..593b9cb 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBold.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBold.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf
index 1c5437c..1c5437c 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-ExtBoldItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Heavy.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Heavy.otf
index 34c311d..34c311d 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Heavy.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Heavy.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf
index cf02929..cf02929 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-HeavyItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Light.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Light.otf
index 68342b6..68342b6 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Light.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Light.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-LightItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-LightItalic.otf
index 9018210..9018210 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-LightItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-LightItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Medium.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Medium.otf
index 24e2f74..24e2f74 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Medium.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Medium.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf
index 032d5e5..032d5e5 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-MediumItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Regular.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Regular.otf
index 6e80c44..6e80c44 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-Regular.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-Regular.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf
index a35359d..a35359d 100644
--- a/dotfiles/system/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf
+++ b/dotfiles/common/.local/share/fonts/NovaletraSerifCF-RegularItalic.otf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProB_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProB_09.ttf
index 26340c3..26340c3 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProB_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProB_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProB_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProB_liga_09.ttf
index aee6e52..aee6e52 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProB_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProB_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProI_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProI_09.ttf
index c5ea5a8..c5ea5a8 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProI_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProI_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProI_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProI_liga_09.ttf
index 0c8b519..0c8b519 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProI_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProI_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProR_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProR_09.ttf
index 8513a70..8513a70 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProR_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProR_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProR_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProR_liga_09.ttf
index 2688b16..2688b16 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProR_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProR_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProZ_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProZ_09.ttf
index 227ac44..227ac44 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProZ_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProZ_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataProZ_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataProZ_liga_09.ttf
index 9461300..9461300 100644
--- a/dotfiles/system/.local/share/fonts/PragmataProZ_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataProZ_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_09.ttf
index dad7fb6..dad7fb6 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf
index 29c2499..29c2499 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_B_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_09.ttf
index 5ffa058..5ffa058 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf
index 1c23d01..1c23d01 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_I_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_09.ttf
index c2d7bb5..c2d7bb5 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf
index 11af2e7..11af2e7 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_R_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_09.ttf
index 7a0b72b..7a0b72b 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf
index 2cf4ceb..2cf4ceb 100644
--- a/dotfiles/system/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf
+++ b/dotfiles/common/.local/share/fonts/PragmataPro_Mono_Z_liga_09.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/fonts/all-the-icons.ttf b/dotfiles/common/.local/share/fonts/all-the-icons.ttf
index 634d48e..634d48e 100644
--- a/dotfiles/system/.local/share/fonts/all-the-icons.ttf
+++ b/dotfiles/common/.local/share/fonts/all-the-icons.ttf
Binary files differ
diff --git a/dotfiles/system/.local/share/rhythmbox/playlists.xml b/dotfiles/common/.local/share/rhythmbox/playlists.xml
index 32f3c81..32f3c81 100644
--- a/dotfiles/system/.local/share/rhythmbox/playlists.xml
+++ b/dotfiles/common/.local/share/rhythmbox/playlists.xml
diff --git a/dotfiles/system/.local/share/rhythmbox/podcast-timestamp b/dotfiles/common/.local/share/rhythmbox/podcast-timestamp
index e69de29..e69de29 100644
--- a/dotfiles/system/.local/share/rhythmbox/podcast-timestamp
+++ b/dotfiles/common/.local/share/rhythmbox/podcast-timestamp
diff --git a/dotfiles/system/.local/share/rhythmbox/rhythmdb.xml b/dotfiles/common/.local/share/rhythmbox/rhythmdb.xml
index 40de46c..40de46c 100644
--- a/dotfiles/system/.local/share/rhythmbox/rhythmdb.xml
+++ b/dotfiles/common/.local/share/rhythmbox/rhythmdb.xml
diff --git a/dotfiles/system/.local/share/thequestionconcerningtechnology.txt b/dotfiles/common/.local/share/thequestionconcerningtechnology.txt
index 3d33ac7..3d33ac7 100644
--- a/dotfiles/system/.local/share/thequestionconcerningtechnology.txt
+++ b/dotfiles/common/.local/share/thequestionconcerningtechnology.txt
diff --git a/dotfiles/system/.mbsyncrc b/dotfiles/common/.mbsyncrc
index 51dfae2..51dfae2 100644
--- a/dotfiles/system/.mbsyncrc
+++ b/dotfiles/common/.mbsyncrc
diff --git a/dotfiles/system/.msmtprc b/dotfiles/common/.msmtprc
index a72861e..6bd8c03 100644
--- a/dotfiles/system/.msmtprc
+++ b/dotfiles/common/.msmtprc
@@ -21,14 +21,14 @@ logfile ~/.msmtp.gmail.log
# ======================================================================
account cmail
-tls_trust_file /home/cjennings/.config/.protonbridge.cert.pem
+tls_certcheck off
auth on
host 127.0.0.1
port 1025
protocol smtp
from c@cjennings.net
user c@cjennings.net
-passwordeval "cat ~/.config/.protonmailsmtp"
+passwordeval "cat ~/.config/.cmailpass"
tls on
tls_starttls on
logfile ~/.msmtp.cmail.log
diff --git a/dotfiles/common/.profile b/dotfiles/common/.profile
new file mode 100644
index 0000000..b4da79d
--- /dev/null
+++ b/dotfiles/common/.profile
@@ -0,0 +1,81 @@
+# .profile
+# Craig Jennings <c@cjennings.net>
+#
+# Environment variables only. POSIX sh compatible.
+# Sourced by login shells. Aliases and functions go in .bashrc/.zshrc.
+
+# Tramp compatibility - simplify prompt for Emacs remote editing
+if [ "$TERM" = "tramp" ] || [ "$TERM" = "dumb" ]; then
+ PS1='$ '
+ return 0 2>/dev/null || exit 0
+fi
+
+# =============================================================================
+# Locale
+# =============================================================================
+export LANG=en_US.UTF-8
+export LANGUAGE=en_US.UTF-8
+export LC_CTYPE=en_US.UTF-8
+export LC_ALL=en_US.UTF-8
+
+# =============================================================================
+# Path
+# =============================================================================
+[ -d "$HOME/.local/share/gem/ruby/3.4.0/bin" ] && PATH="$PATH:$HOME/.local/share/gem/ruby/3.4.0/bin"
+[ -d "$HOME/.cargo/bin" ] && PATH="$PATH:$HOME/.cargo/bin"
+[ -d "$HOME/.deno/bin" ] && PATH="$PATH:$HOME/.deno/bin"
+export PATH="$PATH:$HOME/.local/bin:/usr/sbin"
+
+# =============================================================================
+# Default Applications
+# =============================================================================
+export ALTERNATE_EDITOR=""
+export EDITOR="emacsclient -c -a ''"
+export VISUAL="emacsclient -c -a ''"
+export SUDO_EDITOR="vi"
+export BROWSER="google-chrome-stable"
+export ALTBROWSER="firefox"
+
+# =============================================================================
+# Terminal (X11 defaults - overridden by hyprland.sh for Wayland)
+# =============================================================================
+export COLORTERM=truecolor
+export TERM="st-256color"
+export TERMINAL="st"
+
+# =============================================================================
+# XDG Base Directories
+# =============================================================================
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
+
+# XDG_RUNTIME_DIR fallback (usually set by systemd/pam)
+if [ -z "$XDG_RUNTIME_DIR" ]; then
+ export XDG_RUNTIME_DIR="$HOME/.local/xdg/runtime"
+ mkdir -p "$XDG_RUNTIME_DIR"
+ chmod 0700 "$XDG_RUNTIME_DIR"
+fi
+
+# Desktop defaults (X11 - overridden by hyprland.sh for Wayland)
+export XDG_CURRENT_DESKTOP=dwm
+export XDG_SESSION_TYPE=x11
+
+# =============================================================================
+# GPG
+# =============================================================================
+export GPG_TTY="$(tty)"
+
+# =============================================================================
+# Emacs Info Path
+# =============================================================================
+export INFOPATH="$HOME/.config/emacs/info:/usr/share/info:/usr/local/share/info"
+
+# =============================================================================
+# Source modular environment files from .profile.d/
+# =============================================================================
+if [ -d "$HOME/.profile.d" ]; then
+ for file in "$HOME/.profile.d"/*.sh; do
+ [ -r "$file" ] && . "$file"
+ done
+ unset file
+fi
diff --git a/dotfiles/common/.profile.d/auto-tmux-session.sh b/dotfiles/common/.profile.d/auto-tmux-session.sh
new file mode 100644
index 0000000..cd39fab
--- /dev/null
+++ b/dotfiles/common/.profile.d/auto-tmux-session.sh
@@ -0,0 +1,8 @@
+# auto-tmux-session.sh
+# Craig Jennings <c@cjennings.net>
+# Start tmux automatically when connecting via SSH
+
+if [ -z "$TMUX" ] && [ -n "$SSH_CONNECTION" ]; then
+ export TERM="xterm-mono"
+ tmux attach-session -t "$USER" || tmux new-session -s "$USER"
+fi
diff --git a/dotfiles/common/.profile.d/display.sh b/dotfiles/common/.profile.d/display.sh
new file mode 100644
index 0000000..254fc53
--- /dev/null
+++ b/dotfiles/common/.profile.d/display.sh
@@ -0,0 +1,11 @@
+# display.sh
+# Craig Jennings <c@cjennings.net>
+# UI appearance environment variables
+
+# GTK Theme
+export GTK_THEME=Adwaita:dark
+
+# Qt theming - use qt6ct config with Adwaita-Dark style
+export QT_QPA_PLATFORMTHEME=qt6ct
+export QT_STYLE_OVERRIDE=Adwaita-Dark
+export QT_SCALE_FACTOR=1
diff --git a/dotfiles/common/.profile.d/framework.sh b/dotfiles/common/.profile.d/framework.sh
new file mode 100644
index 0000000..5013e8d
--- /dev/null
+++ b/dotfiles/common/.profile.d/framework.sh
@@ -0,0 +1,9 @@
+# framework.sh
+# Craig Jennings <c@cjennings.net>
+# Framework 13 laptop specific environment variables
+
+# HiDPI scaling (integer scaling for X11)
+# Note: Wayland handles scaling differently via compositor
+export GDK_DPI_SCALE=1
+export GDK_SCALE=1
+export QT_AUTO_SCREEN_SCALE_FACTOR=1
diff --git a/dotfiles/system/.ssh/config b/dotfiles/common/.ssh/config
index 6f97ab5..6f97ab5 100644
--- a/dotfiles/system/.ssh/config
+++ b/dotfiles/common/.ssh/config
diff --git a/dotfiles/system/.ssh/decrypt_ssh b/dotfiles/common/.ssh/decrypt_ssh
index 8d1f3e3..8d1f3e3 100644
--- a/dotfiles/system/.ssh/decrypt_ssh
+++ b/dotfiles/common/.ssh/decrypt_ssh
diff --git a/dotfiles/system/.ssh/set_perms b/dotfiles/common/.ssh/set_perms
index 9927ebd..9927ebd 100644
--- a/dotfiles/system/.ssh/set_perms
+++ b/dotfiles/common/.ssh/set_perms
diff --git a/dotfiles/system/.ssh/ssh.tar.gz.gpg b/dotfiles/common/.ssh/ssh.tar.gz.gpg
index 6f5a864..6f5a864 100644
--- a/dotfiles/system/.ssh/ssh.tar.gz.gpg
+++ b/dotfiles/common/.ssh/ssh.tar.gz.gpg
Binary files differ
diff --git a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.dict.dz b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.dict.dz
index b234473..b234473 100644
--- a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.dict.dz
+++ b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.dict.dz
Binary files differ
diff --git a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx
index bc5ce32..bc5ce32 100644
--- a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx
+++ b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx
Binary files differ
diff --git a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx.oft b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx.oft
index 2db9b2b..2db9b2b 100644
--- a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.idx.oft
+++ b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.idx.oft
Binary files differ
diff --git a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.ifo b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.ifo
index 69d64df..69d64df 100644
--- a/dotfiles/system/.stardict/dic/dictd_www.dict.org_web1913.ifo
+++ b/dotfiles/common/.stardict/dic/dictd_www.dict.org_web1913.ifo
diff --git a/dotfiles/system/.stow-global-ignore b/dotfiles/common/.stow-global-ignore
index 8d6861e..8d6861e 100644
--- a/dotfiles/system/.stow-global-ignore
+++ b/dotfiles/common/.stow-global-ignore
diff --git a/dotfiles/system/.ticker.yaml b/dotfiles/common/.ticker.yaml
index cc03297..cc03297 100644
--- a/dotfiles/system/.ticker.yaml
+++ b/dotfiles/common/.ticker.yaml
diff --git a/dotfiles/system/.tmux.conf b/dotfiles/common/.tmux.conf
index ea3bc0d..ea3bc0d 100644
--- a/dotfiles/system/.tmux.conf
+++ b/dotfiles/common/.tmux.conf
diff --git a/dotfiles/system/.vale.ini b/dotfiles/common/.vale.ini
index 9379e01..9379e01 100644
--- a/dotfiles/system/.vale.ini
+++ b/dotfiles/common/.vale.ini
diff --git a/dotfiles/system/.wegorc b/dotfiles/common/.wegorc
index 72f03a1..72f03a1 100644
--- a/dotfiles/system/.wegorc
+++ b/dotfiles/common/.wegorc
diff --git a/dotfiles/system/.xinitrc b/dotfiles/common/.xinitrc
index 991f507..991f507 100755
--- a/dotfiles/system/.xinitrc
+++ b/dotfiles/common/.xinitrc
diff --git a/dotfiles/system/.xscreensaver b/dotfiles/common/.xscreensaver
index 2fef1a3..2fef1a3 100644
--- a/dotfiles/system/.xscreensaver
+++ b/dotfiles/common/.xscreensaver
diff --git a/dotfiles/system/.zsh/README.md b/dotfiles/common/.zsh/README.md
index 9130c1a..9130c1a 100644
--- a/dotfiles/system/.zsh/README.md
+++ b/dotfiles/common/.zsh/README.md
diff --git a/dotfiles/system/.zsh/fzf-tab.zsh b/dotfiles/common/.zsh/fzf-tab.zsh
index ed2767d..ed2767d 100644
--- a/dotfiles/system/.zsh/fzf-tab.zsh
+++ b/dotfiles/common/.zsh/fzf-tab.zsh
diff --git a/dotfiles/system/.zsh/lib/-ftb-colorize b/dotfiles/common/.zsh/lib/-ftb-colorize
index 3b1909b..3b1909b 100644
--- a/dotfiles/system/.zsh/lib/-ftb-colorize
+++ b/dotfiles/common/.zsh/lib/-ftb-colorize
diff --git a/dotfiles/system/.zsh/lib/-ftb-fzf b/dotfiles/common/.zsh/lib/-ftb-fzf
index 19adf04..19adf04 100755
--- a/dotfiles/system/.zsh/lib/-ftb-fzf
+++ b/dotfiles/common/.zsh/lib/-ftb-fzf
diff --git a/dotfiles/system/.zsh/lib/-ftb-generate-complist b/dotfiles/common/.zsh/lib/-ftb-generate-complist
index 42dd033..42dd033 100644
--- a/dotfiles/system/.zsh/lib/-ftb-generate-complist
+++ b/dotfiles/common/.zsh/lib/-ftb-generate-complist
diff --git a/dotfiles/system/.zsh/lib/-ftb-generate-header b/dotfiles/common/.zsh/lib/-ftb-generate-header
index a54fee1..a54fee1 100644
--- a/dotfiles/system/.zsh/lib/-ftb-generate-header
+++ b/dotfiles/common/.zsh/lib/-ftb-generate-header
diff --git a/dotfiles/system/.zsh/lib/-ftb-generate-query b/dotfiles/common/.zsh/lib/-ftb-generate-query
index 87ebb75..87ebb75 100644
--- a/dotfiles/system/.zsh/lib/-ftb-generate-query
+++ b/dotfiles/common/.zsh/lib/-ftb-generate-query
diff --git a/dotfiles/system/.zsh/lib/ftb-switch-group b/dotfiles/common/.zsh/lib/ftb-switch-group
index 8d06956..8d06956 100644
--- a/dotfiles/system/.zsh/lib/ftb-switch-group
+++ b/dotfiles/common/.zsh/lib/ftb-switch-group
diff --git a/dotfiles/system/.zsh/lib/ftb-tmux-popup b/dotfiles/common/.zsh/lib/ftb-tmux-popup
index 7e74d3c..7e74d3c 100755
--- a/dotfiles/system/.zsh/lib/ftb-tmux-popup
+++ b/dotfiles/common/.zsh/lib/ftb-tmux-popup
diff --git a/dotfiles/system/.zsh/lib/zsh-ls-colors/LICENSE b/dotfiles/common/.zsh/lib/zsh-ls-colors/LICENSE
index 940b4c2..940b4c2 100644
--- a/dotfiles/system/.zsh/lib/zsh-ls-colors/LICENSE
+++ b/dotfiles/common/.zsh/lib/zsh-ls-colors/LICENSE
diff --git a/dotfiles/system/.zsh/lib/zsh-ls-colors/README.md b/dotfiles/common/.zsh/lib/zsh-ls-colors/README.md
index 7736ce6..7736ce6 100644
--- a/dotfiles/system/.zsh/lib/zsh-ls-colors/README.md
+++ b/dotfiles/common/.zsh/lib/zsh-ls-colors/README.md
diff --git a/dotfiles/system/.zsh/lib/zsh-ls-colors/demo b/dotfiles/common/.zsh/lib/zsh-ls-colors/demo
index a5e468d..a5e468d 100755
--- a/dotfiles/system/.zsh/lib/zsh-ls-colors/demo
+++ b/dotfiles/common/.zsh/lib/zsh-ls-colors/demo
diff --git a/dotfiles/system/.zsh/lib/zsh-ls-colors/ls-colors.zsh b/dotfiles/common/.zsh/lib/zsh-ls-colors/ls-colors.zsh
index 276a7bb..276a7bb 100644
--- a/dotfiles/system/.zsh/lib/zsh-ls-colors/ls-colors.zsh
+++ b/dotfiles/common/.zsh/lib/zsh-ls-colors/ls-colors.zsh
diff --git a/dotfiles/system/.zsh/modules/.cvsignore b/dotfiles/common/.zsh/modules/.cvsignore
index 95cdc58..95cdc58 100644
--- a/dotfiles/system/.zsh/modules/.cvsignore
+++ b/dotfiles/common/.zsh/modules/.cvsignore
diff --git a/dotfiles/system/.zsh/modules/.distfiles b/dotfiles/common/.zsh/modules/.distfiles
index d618a77..d618a77 100644
--- a/dotfiles/system/.zsh/modules/.distfiles
+++ b/dotfiles/common/.zsh/modules/.distfiles
diff --git a/dotfiles/system/.zsh/modules/.editorconfig b/dotfiles/common/.zsh/modules/.editorconfig
index 808512e..808512e 100644
--- a/dotfiles/system/.zsh/modules/.editorconfig
+++ b/dotfiles/common/.zsh/modules/.editorconfig
diff --git a/dotfiles/system/.zsh/modules/.gitignore b/dotfiles/common/.zsh/modules/.gitignore
index f420136..f420136 100644
--- a/dotfiles/system/.zsh/modules/.gitignore
+++ b/dotfiles/common/.zsh/modules/.gitignore
diff --git a/dotfiles/system/.zsh/modules/.preconfig b/dotfiles/common/.zsh/modules/.preconfig
index f9729bd..f9729bd 100755
--- a/dotfiles/system/.zsh/modules/.preconfig
+++ b/dotfiles/common/.zsh/modules/.preconfig
diff --git a/dotfiles/system/.zsh/modules/Config/.cvsignore b/dotfiles/common/.zsh/modules/Config/.cvsignore
index dd265a7..dd265a7 100644
--- a/dotfiles/system/.zsh/modules/Config/.cvsignore
+++ b/dotfiles/common/.zsh/modules/Config/.cvsignore
diff --git a/dotfiles/system/.zsh/modules/Config/.distfiles b/dotfiles/common/.zsh/modules/Config/.distfiles
index f03668b..f03668b 100644
--- a/dotfiles/system/.zsh/modules/Config/.distfiles
+++ b/dotfiles/common/.zsh/modules/Config/.distfiles
diff --git a/dotfiles/system/.zsh/modules/Config/aczshoot.m4 b/dotfiles/common/.zsh/modules/Config/aczshoot.m4
index 3b90c6c..3b90c6c 100644
--- a/dotfiles/system/.zsh/modules/Config/aczshoot.m4
+++ b/dotfiles/common/.zsh/modules/Config/aczshoot.m4
diff --git a/dotfiles/system/.zsh/modules/Config/clean.mk b/dotfiles/common/.zsh/modules/Config/clean.mk
index 918a84f..918a84f 100644
--- a/dotfiles/system/.zsh/modules/Config/clean.mk
+++ b/dotfiles/common/.zsh/modules/Config/clean.mk
diff --git a/dotfiles/system/.zsh/modules/Config/config.mk b/dotfiles/common/.zsh/modules/Config/config.mk
index fd9abf6..fd9abf6 100644
--- a/dotfiles/system/.zsh/modules/Config/config.mk
+++ b/dotfiles/common/.zsh/modules/Config/config.mk
diff --git a/dotfiles/system/.zsh/modules/Config/defs.mk.in b/dotfiles/common/.zsh/modules/Config/defs.mk.in
index 2bc1748..2bc1748 100644
--- a/dotfiles/system/.zsh/modules/Config/defs.mk.in
+++ b/dotfiles/common/.zsh/modules/Config/defs.mk.in
diff --git a/dotfiles/system/.zsh/modules/Config/installfns.sh b/dotfiles/common/.zsh/modules/Config/installfns.sh
index 149f359..149f359 100755
--- a/dotfiles/system/.zsh/modules/Config/installfns.sh
+++ b/dotfiles/common/.zsh/modules/Config/installfns.sh
diff --git a/dotfiles/system/.zsh/modules/Config/uninstallfns.sh b/dotfiles/common/.zsh/modules/Config/uninstallfns.sh
index 7c22388..7c22388 100755
--- a/dotfiles/system/.zsh/modules/Config/uninstallfns.sh
+++ b/dotfiles/common/.zsh/modules/Config/uninstallfns.sh
diff --git a/dotfiles/system/.zsh/modules/Config/version.mk b/dotfiles/common/.zsh/modules/Config/version.mk
index 0ebed5e..0ebed5e 100644
--- a/dotfiles/system/.zsh/modules/Config/version.mk
+++ b/dotfiles/common/.zsh/modules/Config/version.mk
diff --git a/dotfiles/system/.zsh/modules/LICENCE b/dotfiles/common/.zsh/modules/LICENCE
index 08fcf88..08fcf88 100644
--- a/dotfiles/system/.zsh/modules/LICENCE
+++ b/dotfiles/common/.zsh/modules/LICENCE
diff --git a/dotfiles/system/.zsh/modules/Makefile.in b/dotfiles/common/.zsh/modules/Makefile.in
index 4f9aa1a..4f9aa1a 100644
--- a/dotfiles/system/.zsh/modules/Makefile.in
+++ b/dotfiles/common/.zsh/modules/Makefile.in
diff --git a/dotfiles/system/.zsh/modules/RECOMPILE_REQUEST b/dotfiles/common/.zsh/modules/RECOMPILE_REQUEST
index cbf32b0..cbf32b0 100644
--- a/dotfiles/system/.zsh/modules/RECOMPILE_REQUEST
+++ b/dotfiles/common/.zsh/modules/RECOMPILE_REQUEST
diff --git a/dotfiles/system/.zsh/modules/Src/.cvsignore b/dotfiles/common/.zsh/modules/Src/.cvsignore
index 47b3191..47b3191 100644
--- a/dotfiles/system/.zsh/modules/Src/.cvsignore
+++ b/dotfiles/common/.zsh/modules/Src/.cvsignore
diff --git a/dotfiles/system/.zsh/modules/Src/.distfiles b/dotfiles/common/.zsh/modules/Src/.distfiles
index f03668b..f03668b 100644
--- a/dotfiles/system/.zsh/modules/Src/.distfiles
+++ b/dotfiles/common/.zsh/modules/Src/.distfiles
diff --git a/dotfiles/system/.zsh/modules/Src/.exrc b/dotfiles/common/.zsh/modules/Src/.exrc
index 91d0b39..91d0b39 100644
--- a/dotfiles/system/.zsh/modules/Src/.exrc
+++ b/dotfiles/common/.zsh/modules/Src/.exrc
diff --git a/dotfiles/system/.zsh/modules/Src/.indent.pro b/dotfiles/common/.zsh/modules/Src/.indent.pro
index 1b41514..1b41514 100644
--- a/dotfiles/system/.zsh/modules/Src/.indent.pro
+++ b/dotfiles/common/.zsh/modules/Src/.indent.pro
diff --git a/dotfiles/system/.zsh/modules/Src/Makefile.in b/dotfiles/common/.zsh/modules/Src/Makefile.in
index 2987b64..2987b64 100644
--- a/dotfiles/system/.zsh/modules/Src/Makefile.in
+++ b/dotfiles/common/.zsh/modules/Src/Makefile.in
diff --git a/dotfiles/system/.zsh/modules/Src/Makemod.in.in b/dotfiles/common/.zsh/modules/Src/Makemod.in.in
index ea0cdc3..ea0cdc3 100644
--- a/dotfiles/system/.zsh/modules/Src/Makemod.in.in
+++ b/dotfiles/common/.zsh/modules/Src/Makemod.in.in
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/.cvsignore b/dotfiles/common/.zsh/modules/Src/aloxaf/.cvsignore
index f72db84..f72db84 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/.cvsignore
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/.cvsignore
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/.distfiles b/dotfiles/common/.zsh/modules/Src/aloxaf/.distfiles
index f03668b..f03668b 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/.distfiles
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/.distfiles
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/.exrc b/dotfiles/common/.zsh/modules/Src/aloxaf/.exrc
index 91d0b39..91d0b39 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/.exrc
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/.exrc
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/.gitignore b/dotfiles/common/.zsh/modules/Src/aloxaf/.gitignore
index 92f708e..92f708e 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/.gitignore
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/.gitignore
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.c b/dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.c
index 60b6330..60b6330 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.c
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.c
diff --git a/dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.mdd b/dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.mdd
index 371bb95..371bb95 100644
--- a/dotfiles/system/.zsh/modules/Src/aloxaf/fzftab.mdd
+++ b/dotfiles/common/.zsh/modules/Src/aloxaf/fzftab.mdd
diff --git a/dotfiles/system/.zsh/modules/Src/builtin.c b/dotfiles/common/.zsh/modules/Src/builtin.c
index 93fa911..93fa911 100644
--- a/dotfiles/system/.zsh/modules/Src/builtin.c
+++ b/dotfiles/common/.zsh/modules/Src/builtin.c
diff --git a/dotfiles/system/.zsh/modules/Src/compat.c b/dotfiles/common/.zsh/modules/Src/compat.c
index 7b5c441..7b5c441 100644
--- a/dotfiles/system/.zsh/modules/Src/compat.c
+++ b/dotfiles/common/.zsh/modules/Src/compat.c
diff --git a/dotfiles/system/.zsh/modules/Src/exec.c b/dotfiles/common/.zsh/modules/Src/exec.c
index 615a508..615a508 100644
--- a/dotfiles/system/.zsh/modules/Src/exec.c
+++ b/dotfiles/common/.zsh/modules/Src/exec.c
diff --git a/dotfiles/system/.zsh/modules/Src/glob.c b/dotfiles/common/.zsh/modules/Src/glob.c
index ed2c90b..ed2c90b 100644
--- a/dotfiles/system/.zsh/modules/Src/glob.c
+++ b/dotfiles/common/.zsh/modules/Src/glob.c
diff --git a/dotfiles/system/.zsh/modules/Src/hashtable.c b/dotfiles/common/.zsh/modules/Src/hashtable.c
index b7baa31..b7baa31 100644
--- a/dotfiles/system/.zsh/modules/Src/hashtable.c
+++ b/dotfiles/common/.zsh/modules/Src/hashtable.c
diff --git a/dotfiles/system/.zsh/modules/Src/hashtable.h b/dotfiles/common/.zsh/modules/Src/hashtable.h
index 21398e1..21398e1 100644
--- a/dotfiles/system/.zsh/modules/Src/hashtable.h
+++ b/dotfiles/common/.zsh/modules/Src/hashtable.h
diff --git a/dotfiles/system/.zsh/modules/Src/init.c b/dotfiles/common/.zsh/modules/Src/init.c
index e9e6be9..e9e6be9 100644
--- a/dotfiles/system/.zsh/modules/Src/init.c
+++ b/dotfiles/common/.zsh/modules/Src/init.c
diff --git a/dotfiles/system/.zsh/modules/Src/input.c b/dotfiles/common/.zsh/modules/Src/input.c
index 9787ded..9787ded 100644
--- a/dotfiles/system/.zsh/modules/Src/input.c
+++ b/dotfiles/common/.zsh/modules/Src/input.c
diff --git a/dotfiles/system/.zsh/modules/Src/jobs.c b/dotfiles/common/.zsh/modules/Src/jobs.c
index 38b3d89..38b3d89 100644
--- a/dotfiles/system/.zsh/modules/Src/jobs.c
+++ b/dotfiles/common/.zsh/modules/Src/jobs.c
diff --git a/dotfiles/system/.zsh/modules/Src/lex.c b/dotfiles/common/.zsh/modules/Src/lex.c
index 44ad880..44ad880 100644
--- a/dotfiles/system/.zsh/modules/Src/lex.c
+++ b/dotfiles/common/.zsh/modules/Src/lex.c
diff --git a/dotfiles/system/.zsh/modules/Src/loop.c b/dotfiles/common/.zsh/modules/Src/loop.c
index 1013aeb..1013aeb 100644
--- a/dotfiles/system/.zsh/modules/Src/loop.c
+++ b/dotfiles/common/.zsh/modules/Src/loop.c
diff --git a/dotfiles/system/.zsh/modules/Src/makepro.awk b/dotfiles/common/.zsh/modules/Src/makepro.awk
index 0498c15..0498c15 100644
--- a/dotfiles/system/.zsh/modules/Src/makepro.awk
+++ b/dotfiles/common/.zsh/modules/Src/makepro.awk
diff --git a/dotfiles/system/.zsh/modules/Src/mem.c b/dotfiles/common/.zsh/modules/Src/mem.c
index 77e4375..77e4375 100644
--- a/dotfiles/system/.zsh/modules/Src/mem.c
+++ b/dotfiles/common/.zsh/modules/Src/mem.c
diff --git a/dotfiles/system/.zsh/modules/Src/mkbltnmlst.sh b/dotfiles/common/.zsh/modules/Src/mkbltnmlst.sh
index c4611d8..c4611d8 100644
--- a/dotfiles/system/.zsh/modules/Src/mkbltnmlst.sh
+++ b/dotfiles/common/.zsh/modules/Src/mkbltnmlst.sh
diff --git a/dotfiles/system/.zsh/modules/Src/mkmakemod.sh b/dotfiles/common/.zsh/modules/Src/mkmakemod.sh
index 140bf70..140bf70 100644
--- a/dotfiles/system/.zsh/modules/Src/mkmakemod.sh
+++ b/dotfiles/common/.zsh/modules/Src/mkmakemod.sh
diff --git a/dotfiles/system/.zsh/modules/Src/module.c b/dotfiles/common/.zsh/modules/Src/module.c
index 4ae7831..4ae7831 100644
--- a/dotfiles/system/.zsh/modules/Src/module.c
+++ b/dotfiles/common/.zsh/modules/Src/module.c
diff --git a/dotfiles/system/.zsh/modules/Src/options.c b/dotfiles/common/.zsh/modules/Src/options.c
index 600b649..600b649 100644
--- a/dotfiles/system/.zsh/modules/Src/options.c
+++ b/dotfiles/common/.zsh/modules/Src/options.c
diff --git a/dotfiles/system/.zsh/modules/Src/params.c b/dotfiles/common/.zsh/modules/Src/params.c
index a1c299f..a1c299f 100644
--- a/dotfiles/system/.zsh/modules/Src/params.c
+++ b/dotfiles/common/.zsh/modules/Src/params.c
diff --git a/dotfiles/system/.zsh/modules/Src/parse.c b/dotfiles/common/.zsh/modules/Src/parse.c
index 83383f1..83383f1 100644
--- a/dotfiles/system/.zsh/modules/Src/parse.c
+++ b/dotfiles/common/.zsh/modules/Src/parse.c
diff --git a/dotfiles/system/.zsh/modules/Src/pattern.c b/dotfiles/common/.zsh/modules/Src/pattern.c
index 737f5cd..737f5cd 100644
--- a/dotfiles/system/.zsh/modules/Src/pattern.c
+++ b/dotfiles/common/.zsh/modules/Src/pattern.c
diff --git a/dotfiles/system/.zsh/modules/Src/prompt.c b/dotfiles/common/.zsh/modules/Src/prompt.c
index 959ed8e..959ed8e 100644
--- a/dotfiles/system/.zsh/modules/Src/prompt.c
+++ b/dotfiles/common/.zsh/modules/Src/prompt.c
diff --git a/dotfiles/system/.zsh/modules/Src/prototypes.h b/dotfiles/common/.zsh/modules/Src/prototypes.h
index e3db4f5..e3db4f5 100644
--- a/dotfiles/system/.zsh/modules/Src/prototypes.h
+++ b/dotfiles/common/.zsh/modules/Src/prototypes.h
diff --git a/dotfiles/system/.zsh/modules/Src/signals.c b/dotfiles/common/.zsh/modules/Src/signals.c
index 20c6fdf..20c6fdf 100644
--- a/dotfiles/system/.zsh/modules/Src/signals.c
+++ b/dotfiles/common/.zsh/modules/Src/signals.c
diff --git a/dotfiles/system/.zsh/modules/Src/signals.h b/dotfiles/common/.zsh/modules/Src/signals.h
index 41ac88c..41ac88c 100644
--- a/dotfiles/system/.zsh/modules/Src/signals.h
+++ b/dotfiles/common/.zsh/modules/Src/signals.h
diff --git a/dotfiles/system/.zsh/modules/Src/signames1.awk b/dotfiles/common/.zsh/modules/Src/signames1.awk
index 27d21ac..27d21ac 100644
--- a/dotfiles/system/.zsh/modules/Src/signames1.awk
+++ b/dotfiles/common/.zsh/modules/Src/signames1.awk
diff --git a/dotfiles/system/.zsh/modules/Src/signames2.awk b/dotfiles/common/.zsh/modules/Src/signames2.awk
index 4d15681..4d15681 100644
--- a/dotfiles/system/.zsh/modules/Src/signames2.awk
+++ b/dotfiles/common/.zsh/modules/Src/signames2.awk
diff --git a/dotfiles/system/.zsh/modules/Src/string.c b/dotfiles/common/.zsh/modules/Src/string.c
index 9e14ef9..9e14ef9 100644
--- a/dotfiles/system/.zsh/modules/Src/string.c
+++ b/dotfiles/common/.zsh/modules/Src/string.c
diff --git a/dotfiles/system/.zsh/modules/Src/utils.c b/dotfiles/common/.zsh/modules/Src/utils.c
index 075d272..075d272 100644
--- a/dotfiles/system/.zsh/modules/Src/utils.c
+++ b/dotfiles/common/.zsh/modules/Src/utils.c
diff --git a/dotfiles/system/.zsh/modules/Src/wcwidth9.h b/dotfiles/common/.zsh/modules/Src/wcwidth9.h
index 448f548..448f548 100644
--- a/dotfiles/system/.zsh/modules/Src/wcwidth9.h
+++ b/dotfiles/common/.zsh/modules/Src/wcwidth9.h
diff --git a/dotfiles/system/.zsh/modules/Src/zsh.h b/dotfiles/common/.zsh/modules/Src/zsh.h
index 8e7f20b..8e7f20b 100644
--- a/dotfiles/system/.zsh/modules/Src/zsh.h
+++ b/dotfiles/common/.zsh/modules/Src/zsh.h
diff --git a/dotfiles/system/.zsh/modules/Src/zsh.mdd b/dotfiles/common/.zsh/modules/Src/zsh.mdd
index d95f5d5..d95f5d5 100644
--- a/dotfiles/system/.zsh/modules/Src/zsh.mdd
+++ b/dotfiles/common/.zsh/modules/Src/zsh.mdd
diff --git a/dotfiles/system/.zsh/modules/Src/zsh.rc b/dotfiles/common/.zsh/modules/Src/zsh.rc
index 93c82ba..93c82ba 100644
--- a/dotfiles/system/.zsh/modules/Src/zsh.rc
+++ b/dotfiles/common/.zsh/modules/Src/zsh.rc
diff --git a/dotfiles/system/.zsh/modules/Src/zsh_system.h b/dotfiles/common/.zsh/modules/Src/zsh_system.h
index 8289ee9..8289ee9 100644
--- a/dotfiles/system/.zsh/modules/Src/zsh_system.h
+++ b/dotfiles/common/.zsh/modules/Src/zsh_system.h
diff --git a/dotfiles/system/.zsh/modules/Src/ztype.h b/dotfiles/common/.zsh/modules/Src/ztype.h
index ae72367..ae72367 100644
--- a/dotfiles/system/.zsh/modules/Src/ztype.h
+++ b/dotfiles/common/.zsh/modules/Src/ztype.h
diff --git a/dotfiles/system/.zsh/modules/Test/.cvsignore b/dotfiles/common/.zsh/modules/Test/.cvsignore
index 855d729..855d729 100644
--- a/dotfiles/system/.zsh/modules/Test/.cvsignore
+++ b/dotfiles/common/.zsh/modules/Test/.cvsignore
diff --git a/dotfiles/system/.zsh/modules/Test/.distfiles b/dotfiles/common/.zsh/modules/Test/.distfiles
index f03668b..f03668b 100644
--- a/dotfiles/system/.zsh/modules/Test/.distfiles
+++ b/dotfiles/common/.zsh/modules/Test/.distfiles
diff --git a/dotfiles/system/.zsh/modules/Test/A01grammar.ztst b/dotfiles/common/.zsh/modules/Test/A01grammar.ztst
index e4b6870..e4b6870 100644
--- a/dotfiles/system/.zsh/modules/Test/A01grammar.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A01grammar.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A02alias.ztst b/dotfiles/common/.zsh/modules/Test/A02alias.ztst
index e68e93e..e68e93e 100644
--- a/dotfiles/system/.zsh/modules/Test/A02alias.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A02alias.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A03quoting.ztst b/dotfiles/common/.zsh/modules/Test/A03quoting.ztst
index da3ce35..da3ce35 100644
--- a/dotfiles/system/.zsh/modules/Test/A03quoting.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A03quoting.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A04redirect.ztst b/dotfiles/common/.zsh/modules/Test/A04redirect.ztst
index d7fe22f..d7fe22f 100644
--- a/dotfiles/system/.zsh/modules/Test/A04redirect.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A04redirect.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A05execution.ztst b/dotfiles/common/.zsh/modules/Test/A05execution.ztst
index 0804691..0804691 100644
--- a/dotfiles/system/.zsh/modules/Test/A05execution.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A05execution.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A06assign.ztst b/dotfiles/common/.zsh/modules/Test/A06assign.ztst
index bf39aee..bf39aee 100644
--- a/dotfiles/system/.zsh/modules/Test/A06assign.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A06assign.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/A07control.ztst b/dotfiles/common/.zsh/modules/Test/A07control.ztst
index b1a2487..b1a2487 100644
--- a/dotfiles/system/.zsh/modules/Test/A07control.ztst
+++ b/dotfiles/common/.zsh/modules/Test/A07control.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B01cd.ztst b/dotfiles/common/.zsh/modules/Test/B01cd.ztst
index 94447e7..94447e7 100644
--- a/dotfiles/system/.zsh/modules/Test/B01cd.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B01cd.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B02typeset.ztst b/dotfiles/common/.zsh/modules/Test/B02typeset.ztst
index b27bb4f..b27bb4f 100644
--- a/dotfiles/system/.zsh/modules/Test/B02typeset.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B02typeset.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B03print.ztst b/dotfiles/common/.zsh/modules/Test/B03print.ztst
index c65568a..c65568a 100644
--- a/dotfiles/system/.zsh/modules/Test/B03print.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B03print.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B04read.ztst b/dotfiles/common/.zsh/modules/Test/B04read.ztst
index 25c3d41..25c3d41 100644
--- a/dotfiles/system/.zsh/modules/Test/B04read.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B04read.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B05eval.ztst b/dotfiles/common/.zsh/modules/Test/B05eval.ztst
index 6427d6f..6427d6f 100644
--- a/dotfiles/system/.zsh/modules/Test/B05eval.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B05eval.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B06fc.ztst b/dotfiles/common/.zsh/modules/Test/B06fc.ztst
index 922b001..922b001 100644
--- a/dotfiles/system/.zsh/modules/Test/B06fc.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B06fc.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B07emulate.ztst b/dotfiles/common/.zsh/modules/Test/B07emulate.ztst
index 2de097e..2de097e 100644
--- a/dotfiles/system/.zsh/modules/Test/B07emulate.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B07emulate.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B08shift.ztst b/dotfiles/common/.zsh/modules/Test/B08shift.ztst
index 0aa9226..0aa9226 100644
--- a/dotfiles/system/.zsh/modules/Test/B08shift.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B08shift.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/B09hash.ztst b/dotfiles/common/.zsh/modules/Test/B09hash.ztst
index 7b5dfb4..7b5dfb4 100644
--- a/dotfiles/system/.zsh/modules/Test/B09hash.ztst
+++ b/dotfiles/common/.zsh/modules/Test/B09hash.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/C01arith.ztst b/dotfiles/common/.zsh/modules/Test/C01arith.ztst
index 61da763..61da763 100644
--- a/dotfiles/system/.zsh/modules/Test/C01arith.ztst
+++ b/dotfiles/common/.zsh/modules/Test/C01arith.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/C02cond.ztst b/dotfiles/common/.zsh/modules/Test/C02cond.ztst
index 3852501..3852501 100644
--- a/dotfiles/system/.zsh/modules/Test/C02cond.ztst
+++ b/dotfiles/common/.zsh/modules/Test/C02cond.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/C03traps.ztst b/dotfiles/common/.zsh/modules/Test/C03traps.ztst
index 7bc0b48..7bc0b48 100644
--- a/dotfiles/system/.zsh/modules/Test/C03traps.ztst
+++ b/dotfiles/common/.zsh/modules/Test/C03traps.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/C04funcdef.ztst b/dotfiles/common/.zsh/modules/Test/C04funcdef.ztst
index 0cf2b58..0cf2b58 100644
--- a/dotfiles/system/.zsh/modules/Test/C04funcdef.ztst
+++ b/dotfiles/common/.zsh/modules/Test/C04funcdef.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/C05debug.ztst b/dotfiles/common/.zsh/modules/Test/C05debug.ztst
index 9a8df1d..9a8df1d 100644
--- a/dotfiles/system/.zsh/modules/Test/C05debug.ztst
+++ b/dotfiles/common/.zsh/modules/Test/C05debug.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D01prompt.ztst b/dotfiles/common/.zsh/modules/Test/D01prompt.ztst
index 607ffb6..607ffb6 100644
--- a/dotfiles/system/.zsh/modules/Test/D01prompt.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D01prompt.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D02glob.ztst b/dotfiles/common/.zsh/modules/Test/D02glob.ztst
index 1385d57..1385d57 100644
--- a/dotfiles/system/.zsh/modules/Test/D02glob.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D02glob.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D03procsubst.ztst b/dotfiles/common/.zsh/modules/Test/D03procsubst.ztst
index ca8d56f..ca8d56f 100644
--- a/dotfiles/system/.zsh/modules/Test/D03procsubst.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D03procsubst.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D04parameter.ztst b/dotfiles/common/.zsh/modules/Test/D04parameter.ztst
index 9128c3c..9128c3c 100644
--- a/dotfiles/system/.zsh/modules/Test/D04parameter.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D04parameter.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D05array.ztst b/dotfiles/common/.zsh/modules/Test/D05array.ztst
index 1fa607d..1fa607d 100644
--- a/dotfiles/system/.zsh/modules/Test/D05array.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D05array.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D06subscript.ztst b/dotfiles/common/.zsh/modules/Test/D06subscript.ztst
index 1449236..1449236 100644
--- a/dotfiles/system/.zsh/modules/Test/D06subscript.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D06subscript.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D07multibyte.ztst b/dotfiles/common/.zsh/modules/Test/D07multibyte.ztst
index e203153..e203153 100644
--- a/dotfiles/system/.zsh/modules/Test/D07multibyte.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D07multibyte.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D08cmdsubst.ztst b/dotfiles/common/.zsh/modules/Test/D08cmdsubst.ztst
index 3625373..3625373 100644
--- a/dotfiles/system/.zsh/modules/Test/D08cmdsubst.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D08cmdsubst.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/D09brace.ztst b/dotfiles/common/.zsh/modules/Test/D09brace.ztst
index 3e667a8..3e667a8 100644
--- a/dotfiles/system/.zsh/modules/Test/D09brace.ztst
+++ b/dotfiles/common/.zsh/modules/Test/D09brace.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/E01options.ztst b/dotfiles/common/.zsh/modules/Test/E01options.ztst
index 2bd4fdb..2bd4fdb 100644
--- a/dotfiles/system/.zsh/modules/Test/E01options.ztst
+++ b/dotfiles/common/.zsh/modules/Test/E01options.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/E02xtrace.ztst b/dotfiles/common/.zsh/modules/Test/E02xtrace.ztst
index da6191c..da6191c 100644
--- a/dotfiles/system/.zsh/modules/Test/E02xtrace.ztst
+++ b/dotfiles/common/.zsh/modules/Test/E02xtrace.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/Makefile.in b/dotfiles/common/.zsh/modules/Test/Makefile.in
index 083df49..083df49 100644
--- a/dotfiles/system/.zsh/modules/Test/Makefile.in
+++ b/dotfiles/common/.zsh/modules/Test/Makefile.in
diff --git a/dotfiles/system/.zsh/modules/Test/README b/dotfiles/common/.zsh/modules/Test/README
index d012277..d012277 100644
--- a/dotfiles/system/.zsh/modules/Test/README
+++ b/dotfiles/common/.zsh/modules/Test/README
diff --git a/dotfiles/system/.zsh/modules/Test/V02zregexparse.ztst b/dotfiles/common/.zsh/modules/Test/V02zregexparse.ztst
index b4cec42..b4cec42 100644
--- a/dotfiles/system/.zsh/modules/Test/V02zregexparse.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V02zregexparse.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V03mathfunc.ztst b/dotfiles/common/.zsh/modules/Test/V03mathfunc.ztst
index 1edb7a2..1edb7a2 100644
--- a/dotfiles/system/.zsh/modules/Test/V03mathfunc.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V03mathfunc.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V04features.ztst b/dotfiles/common/.zsh/modules/Test/V04features.ztst
index 6939053..6939053 100644
--- a/dotfiles/system/.zsh/modules/Test/V04features.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V04features.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V05styles.ztst b/dotfiles/common/.zsh/modules/Test/V05styles.ztst
index ca95b63..ca95b63 100644
--- a/dotfiles/system/.zsh/modules/Test/V05styles.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V05styles.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V07pcre.ztst b/dotfiles/common/.zsh/modules/Test/V07pcre.ztst
index ad17707..ad17707 100644
--- a/dotfiles/system/.zsh/modules/Test/V07pcre.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V07pcre.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V08zpty.ztst b/dotfiles/common/.zsh/modules/Test/V08zpty.ztst
index b0cbfa0..b0cbfa0 100644
--- a/dotfiles/system/.zsh/modules/Test/V08zpty.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V08zpty.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V09datetime.ztst b/dotfiles/common/.zsh/modules/Test/V09datetime.ztst
index 7905155..7905155 100644
--- a/dotfiles/system/.zsh/modules/Test/V09datetime.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V09datetime.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/V10private.ztst b/dotfiles/common/.zsh/modules/Test/V10private.ztst
index 78ecd48..78ecd48 100644
--- a/dotfiles/system/.zsh/modules/Test/V10private.ztst
+++ b/dotfiles/common/.zsh/modules/Test/V10private.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/W01history.ztst b/dotfiles/common/.zsh/modules/Test/W01history.ztst
index 6ef9b11..6ef9b11 100644
--- a/dotfiles/system/.zsh/modules/Test/W01history.ztst
+++ b/dotfiles/common/.zsh/modules/Test/W01history.ztst
diff --git a/dotfiles/system/.zsh/modules/Test/comptest b/dotfiles/common/.zsh/modules/Test/comptest
index 166d0b4..166d0b4 100644
--- a/dotfiles/system/.zsh/modules/Test/comptest
+++ b/dotfiles/common/.zsh/modules/Test/comptest
diff --git a/dotfiles/system/.zsh/modules/Test/runtests.zsh b/dotfiles/common/.zsh/modules/Test/runtests.zsh
index 562234d..562234d 100644
--- a/dotfiles/system/.zsh/modules/Test/runtests.zsh
+++ b/dotfiles/common/.zsh/modules/Test/runtests.zsh
diff --git a/dotfiles/system/.zsh/modules/Test/ztst.zsh b/dotfiles/common/.zsh/modules/Test/ztst.zsh
index f172ae1..f172ae1 100755
--- a/dotfiles/system/.zsh/modules/Test/ztst.zsh
+++ b/dotfiles/common/.zsh/modules/Test/ztst.zsh
diff --git a/dotfiles/system/.zsh/modules/aclocal.m4 b/dotfiles/common/.zsh/modules/aclocal.m4
index e91be3c..e91be3c 100644
--- a/dotfiles/system/.zsh/modules/aclocal.m4
+++ b/dotfiles/common/.zsh/modules/aclocal.m4
diff --git a/dotfiles/system/.zsh/modules/aczsh.m4 b/dotfiles/common/.zsh/modules/aczsh.m4
index 0219ae2..0219ae2 100644
--- a/dotfiles/system/.zsh/modules/aczsh.m4
+++ b/dotfiles/common/.zsh/modules/aczsh.m4
diff --git a/dotfiles/system/.zsh/modules/config.guess b/dotfiles/common/.zsh/modules/config.guess
index dc84c68..dc84c68 100755
--- a/dotfiles/system/.zsh/modules/config.guess
+++ b/dotfiles/common/.zsh/modules/config.guess
diff --git a/dotfiles/system/.zsh/modules/config.h.in b/dotfiles/common/.zsh/modules/config.h.in
index 89a65b7..89a65b7 100644
--- a/dotfiles/system/.zsh/modules/config.h.in
+++ b/dotfiles/common/.zsh/modules/config.h.in
diff --git a/dotfiles/system/.zsh/modules/config.sub b/dotfiles/common/.zsh/modules/config.sub
index 2a55a50..2a55a50 100755
--- a/dotfiles/system/.zsh/modules/config.sub
+++ b/dotfiles/common/.zsh/modules/config.sub
diff --git a/dotfiles/system/.zsh/modules/configure b/dotfiles/common/.zsh/modules/configure
index 2b2a912..2b2a912 100755
--- a/dotfiles/system/.zsh/modules/configure
+++ b/dotfiles/common/.zsh/modules/configure
diff --git a/dotfiles/system/.zsh/modules/configure.ac b/dotfiles/common/.zsh/modules/configure.ac
index 4dd4eba..4dd4eba 100644
--- a/dotfiles/system/.zsh/modules/configure.ac
+++ b/dotfiles/common/.zsh/modules/configure.ac
diff --git a/dotfiles/system/.zsh/modules/copy_from_zsh_src.zsh b/dotfiles/common/.zsh/modules/copy_from_zsh_src.zsh
index 89eee01..89eee01 100755
--- a/dotfiles/system/.zsh/modules/copy_from_zsh_src.zsh
+++ b/dotfiles/common/.zsh/modules/copy_from_zsh_src.zsh
diff --git a/dotfiles/system/.zsh/modules/install-sh b/dotfiles/common/.zsh/modules/install-sh
index 4fbbae7..4fbbae7 100755
--- a/dotfiles/system/.zsh/modules/install-sh
+++ b/dotfiles/common/.zsh/modules/install-sh
diff --git a/dotfiles/system/.zsh/modules/mkinstalldirs b/dotfiles/common/.zsh/modules/mkinstalldirs
index 1c3d072..1c3d072 100755
--- a/dotfiles/system/.zsh/modules/mkinstalldirs
+++ b/dotfiles/common/.zsh/modules/mkinstalldirs
diff --git a/dotfiles/system/.zsh/modules/patch_cfgac.diff b/dotfiles/common/.zsh/modules/patch_cfgac.diff
index 50624bc..50624bc 100644
--- a/dotfiles/system/.zsh/modules/patch_cfgac.diff
+++ b/dotfiles/common/.zsh/modules/patch_cfgac.diff
diff --git a/dotfiles/system/.zsh/modules/stamp-h.in b/dotfiles/common/.zsh/modules/stamp-h.in
index 8b13789..8b13789 100644
--- a/dotfiles/system/.zsh/modules/stamp-h.in
+++ b/dotfiles/common/.zsh/modules/stamp-h.in
diff --git a/dotfiles/common/.zshrc b/dotfiles/common/.zshrc
new file mode 100644
index 0000000..0e997ab
--- /dev/null
+++ b/dotfiles/common/.zshrc
@@ -0,0 +1,200 @@
+# .zshrc
+# Craig Jennings <c@cjennings.net>
+#
+# Zsh-specific interactive shell settings.
+# Aliases, functions, prompt, completions, shell options.
+
+# =============================================================================
+# Environment Variables (from .profile)
+# =============================================================================
+[ -f "$HOME/.profile" ] && source "$HOME/.profile"
+[ -f "$HOME/.secrets" ] && source "$HOME/.secrets"
+
+# =============================================================================
+# General Options
+# =============================================================================
+setopt PROMPT_SUBST # allow variable substitution in prompt
+setopt AUTO_REMOVE_SLASH # remove trailing slash when completing
+setopt CHASE_LINKS # resolve symlinks
+setopt CORRECT # try to correct spelling of commands
+setopt EXTENDED_GLOB # activate complex pattern globbing
+setopt GLOB_DOTS # include dotfiles in globbing
+setopt PRINT_EXIT_VALUE # print return value if non-zero
+setopt CLOBBER # allow > to truncate existing files
+setopt INTERACTIVE_COMMENTS # allow comments in command line
+unsetopt BEEP # no bell on error
+unsetopt BG_NICE # no lower prio for background jobs
+unsetopt HIST_BEEP # no bell on error in history
+unsetopt HUP # no hup signal at shell exit
+unsetopt IGNORE_EOF # do not exit on end-of-file
+unsetopt LIST_BEEP # no bell on ambiguous completion
+unsetopt RM_STAR_SILENT # ask for confirmation for `rm *'
+
+autoload -U colors zsh-mime-setup select-word-style
+colors
+zsh-mime-setup
+
+# =============================================================================
+# History
+# =============================================================================
+HISTFILE="$HOME/.zsh_history"
+HISTSIZE=10000000
+SAVEHIST=$HISTSIZE
+
+setopt BANG_HIST # treat '!' specially during expansion
+setopt EXTENDED_HISTORY # write history with timestamps
+setopt INC_APPEND_HISTORY # write to history immediately
+setopt SHARE_HISTORY # share history between sessions
+setopt HIST_EXPIRE_DUPS_FIRST
+setopt HIST_IGNORE_DUPS
+setopt HIST_IGNORE_ALL_DUPS
+setopt HIST_FIND_NO_DUPS
+setopt HIST_IGNORE_SPACE # don't record entries starting with space
+setopt HIST_SAVE_NO_DUPS
+setopt HIST_REDUCE_BLANKS
+setopt HIST_VERIFY # don't execute immediately on history expansion
+
+# =============================================================================
+# Keyboard Bindings
+# =============================================================================
+bindkey -e # emacs keybindings
+
+# zkbd compatible hash for special keys
+typeset -g -A key
+key[Home]="${terminfo[khome]}"
+key[End]="${terminfo[kend]}"
+key[Insert]="${terminfo[kich1]}"
+key[Backspace]="${terminfo[kbs]}"
+key[Delete]="${terminfo[kdch1]}"
+key[Up]="${terminfo[kcuu1]}"
+key[Down]="${terminfo[kcud1]}"
+key[Left]="${terminfo[kcub1]}"
+key[Right]="${terminfo[kcuf1]}"
+key[PageUp]="${terminfo[kpp]}"
+key[PageDown]="${terminfo[knp]}"
+key[Shift-Tab]="${terminfo[kcbt]}"
+
+[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
+[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
+[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
+[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
+[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
+[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
+[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
+[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
+[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
+[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
+[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
+[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
+
+bindkey '\e[1;5C' forward-word # Ctrl-Right
+bindkey '\e[1;5D' backward-word # Ctrl-Left
+bindkey -s "\e[24~" "" # stop F12 from outputting tildes
+
+# Terminal application mode for proper key handling
+if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
+ autoload -Uz add-zle-hook-widget
+ function zle_application_mode_start { echoti smkx }
+ function zle_application_mode_stop { echoti rmkx }
+ add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
+ add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
+fi
+
+# FreeBSD delete key fix
+[[ "$(uname)" == "FreeBSD" ]] && bindkey "\e[3~" delete-char
+
+# =============================================================================
+# Completion
+# =============================================================================
+autoload -U compinit && compinit
+zmodload -i zsh/complist
+
+setopt AUTO_LIST # list options on ambiguous completion
+setopt AUTO_MENU # show menu on second tab
+setopt ALWAYS_TO_END # move cursor to end after completion
+setopt COMPLETE_IN_WORD # allow completion from within a word
+setopt COMPLETE_ALIASES # complete aliases
+setopt HASH_LIST_ALL # hash everything before completion
+setopt LIST_AMBIGUOUS # complete as much as possible
+
+zstyle ':completion::complete:*' use-cache on
+zstyle ':completion:*' cache-path ~/.zsh/cache
+zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # case insensitive
+zstyle ':completion:*' menu select=2
+zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
+zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
+
+zstyle ':completion:*' verbose yes
+zstyle ':completion:*:descriptions' format $'\e[00;34m%d'
+zstyle ':completion:*:messages' format $'\e[00;31m%d'
+zstyle ':completion:*' group-name ''
+zstyle ':completion:*:manuals' separate-sections true
+
+zstyle ':completion:*:processes' command 'ps -au$USER'
+zstyle ':completion:*:*:kill:*' menu yes select
+zstyle ':completion:*:kill:*' force-list always
+zstyle ':completion:*:*:kill:*:processes' list-colors "=(#b) #([0-9]#)*=29=34"
+zstyle ':completion:*:*:killall:*' menu yes select
+zstyle ':completion:*:killall:*' force-list always
+zstyle ':completion:*' users cjennings root
+
+compdef _gnu_generic gcc
+compdef _gnu_generic gdb
+
+# Python Poetry completions
+fpath+=~/.zfunc
+
+# =============================================================================
+# Directory Navigation
+# =============================================================================
+setopt AUTO_CD # cd by typing directory name
+setopt AUTO_PUSHD # push old directories to stack
+setopt PUSHD_IGNORE_DUPS # don't push duplicates
+setopt PUSHD_SILENT # don't print stack after pushd/popd
+setopt PUSHD_TO_HOME # pushd with no args goes home
+
+# =============================================================================
+# Version Control Info (for prompt)
+# =============================================================================
+autoload -Uz vcs_info
+precmd() { vcs_info }
+zstyle ':vcs_info:*' enable git cvs svn
+zstyle ':vcs_info:*' check-for-changes false
+zstyle ':vcs_info:git*' formats "on %b"
+
+# =============================================================================
+# Prompt
+# =============================================================================
+WHO='%n'
+NEWLINE=$'\n'
+PROMPT='[%D %*] $WHO $HOST:${PWD/#$HOME/~} %(?..[%?] )$NEWLINE%# '
+RPROMPT='${vcs_info_msg_0_}'
+
+# =============================================================================
+# Source modular zsh configs from .zshrc.d/
+# =============================================================================
+if [[ -d "$HOME/.zshrc.d" ]]; then
+ for file in "$HOME/.zshrc.d"/*.sh; do
+ [[ -r "$file" ]] && source "$file"
+ done
+ unset file
+fi
+
+# =============================================================================
+# Tool-specific initialization
+# =============================================================================
+# FZF
+[[ -f "$HOME/.fzf.zsh" ]] && source "$HOME/.fzf.zsh"
+[[ -f "$HOME/.zsh/fzf-tab.zsh" ]] && source "$HOME/.zsh/fzf-tab.zsh"
+
+# Dart CLI completion
+[[ -f "$HOME/.config/.dart-cli-completion/zsh-config.zsh" ]] && \
+ source "$HOME/.config/.dart-cli-completion/zsh-config.zsh"
+
+# Zoxide (smart cd)
+command -v zoxide >/dev/null 2>&1 && eval "$(zoxide init zsh)"
+
+# =============================================================================
+# Resource Limits
+# =============================================================================
+ulimit -c unlimited
diff --git a/dotfiles/common/.zshrc.d/aliases.sh b/dotfiles/common/.zshrc.d/aliases.sh
new file mode 100644
index 0000000..28c0f3f
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/aliases.sh
@@ -0,0 +1,91 @@
+# aliases.sh
+# Craig Jennings <c@cjennings.net>
+# Shell aliases - works in both bash and zsh
+
+# =============================================================================
+# Directory Navigation
+# =============================================================================
+alias cdot="cd ~/code/archsetup/dotfiles"
+alias cdpf="cd ~/projects/finances/"
+alias cdpj="cd ~/projects/jr-estate/"
+alias cdpd="cd ~/projects/documents/"
+
+# =============================================================================
+# File Listing (exa)
+# =============================================================================
+alias ls="exa --group-directories-first"
+alias l="exa -lhF --group-directories-first"
+alias ll="exa -lhAF --group-directories-first"
+alias lt="exa -lthAF --group-directories-first"
+
+# =============================================================================
+# File Operations
+# =============================================================================
+alias mkd="mkdir -pv"
+alias open="xdg-open"
+alias linkdel="find . -type l ! -exec test -d {} \; -delete"
+alias linkfind="find . -type l ! -exec test -d {} \; -print"
+
+# =============================================================================
+# System Administration
+# =============================================================================
+alias df='dfc -p /dev/'
+alias ducks='du -cksh * | sort -rh | head -n11'
+alias ntop="sudo bandwhich"
+alias ptop="sudo powertop"
+alias running_services='systemctl list-units --type=service --state=running'
+alias ssn="sudo shutdown now"
+alias boot2bios="sudo systemctl reboot --firmware-setup"
+alias backup='sudo rsyncshot backup 1000'
+alias sysinfo='sudo inxi -v 8 -a -xxxA -xxxB -xxxC -xxxD -xxxG -xxxI -xxxm -xxxN -xxxR -xxxS -xxx --usb -d -I -pl -n -s --slots'
+alias timeshift='sudo timeshift-gtk'
+alias sysupgrade="topgrade"
+
+# =============================================================================
+# Network
+# =============================================================================
+alias myip='curl -4 https://chroot-me.in/ip/ 2>/dev/null || w3m -4 -dump https://chroot-me.in/ip'
+alias whereami="curl ipinfo.io"
+alias speedtest="speedtest-go"
+
+# =============================================================================
+# Applications
+# =============================================================================
+alias vim="nvim"
+alias et="emacs -nw"
+alias weather="wego"
+alias crm="tickrs -s CRM"
+alias handbrake="ghb"
+alias smerge="/usr/bin/smerge"
+alias stext="/opt/sublime_text/sublime_text"
+alias steam="flatpak run com.valvesoftware.Steam"
+alias xterm="xterm -ti 340"
+
+# =============================================================================
+# Stow (dotfiles management)
+# =============================================================================
+alias stow="stow --target=/home/cjennings"
+
+# =============================================================================
+# Ranger (file manager)
+# =============================================================================
+alias cdr='. ranger'
+alias r='. ranger'
+
+# =============================================================================
+# Programming
+# =============================================================================
+alias cc="gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion -Wextra -std=c2x -pedantic"
+alias gdbx="gdb --batch --ex r --ex bt --ex q --args"
+
+# =============================================================================
+# Claude Code
+# =============================================================================
+alias hey='claude "Read ./docs/protocols.org and ./docs/NOTES.org, follow their instructions, then run session startup workflow."'
+
+# =============================================================================
+# Phenomenology RAG (ollama/deepseek)
+# =============================================================================
+phenom() {
+ aichat --rag phenom -m ollama:deepseek-r1:70b "$@"
+}
diff --git a/dotfiles/common/.zshrc.d/arch-downgrade.sh b/dotfiles/common/.zshrc.d/arch-downgrade.sh
new file mode 100644
index 0000000..f1d01a7
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/arch-downgrade.sh
@@ -0,0 +1,47 @@
+# arch-downgrade.sh
+# Craig Jennings <c@cjennings.net>
+# Downgrade Arch packages with fzf (zsh only)
+
+# Config:
+# export DG_HELPER=pacman # or yay, paru, etc.
+# export DG_FZF_OPTS="..." # optional extra fzf flags
+
+dg() {
+ emulate -L zsh
+ set -u
+ set -o pipefail
+
+ local helper="${DG_HELPER:-pacman}"
+
+ # Check dependencies
+ for cmd in "$helper" fzf sudo downgrade awk sort; do
+ if ! command -v "${cmd%% *}" >/dev/null 2>&1; then
+ print -u2 -- "Missing dependency: $cmd"
+ return 1
+ fi
+ done
+
+ # List explicitly installed packages
+ local selection
+ selection="$(
+ "$helper" -Qe 2>/dev/null \
+ | fzf --no-multi \
+ --prompt="Pick package to downgrade > " \
+ --height=80% \
+ --reverse \
+ --delimiter=' ' \
+ --preview-window=right:60%:wrap \
+ --preview "$helper -Qi {1} 2>/dev/null || $helper -Si {1}" \
+ ${DG_FZF_OPTS:-}
+ )"
+
+ [[ $? -ne 0 || -z "$selection" ]] && return 0
+
+ local pkg
+ pkg="$(print -r -- "$selection" | head -n1 | awk '{print $1}')"
+
+ if ! sudo downgrade "$pkg"; then
+ print -u2 -- "Downgrade failed for $pkg"
+ return 1
+ fi
+}
diff --git a/dotfiles/common/.zshrc.d/emacs.sh b/dotfiles/common/.zshrc.d/emacs.sh
new file mode 100644
index 0000000..0a8444b
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/emacs.sh
@@ -0,0 +1,24 @@
+# emacs.sh
+# Craig Jennings <c@cjennings.net>
+# Emacs-specific settings and functions
+
+# GTK/Emacs accessibility bug workaround
+# https://unix.stackexchange.com/questions/230238/
+export NO_AT_BRIDGE=1
+
+# Wake emacs from elisp freeze
+alias emacswake='for i in $(seq 1 500); do killall -s USR2 emacs; done'
+
+# Vterm shell integration
+# Allows shell to send information to vterm via escape sequences
+vterm_printf() {
+ if [ -n "$TMUX" ] && { [ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ]; }; then
+ # Tell tmux to pass the escape sequences through
+ printf "\ePtmux;\e\e]%s\007\e\\" "$1"
+ elif [ "${TERM%%-*}" = "screen" ]; then
+ # GNU screen
+ printf "\eP\e]%s\007\e\\" "$1"
+ else
+ printf "\e]%s\e\\" "$1"
+ fi
+}
diff --git a/dotfiles/common/.zshrc.d/fzf.sh b/dotfiles/common/.zshrc.d/fzf.sh
new file mode 100644
index 0000000..9a5a9bd
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/fzf.sh
@@ -0,0 +1,122 @@
+# fzf.sh
+# Craig Jennings <c@cjennings.net>
+# FZF settings and utility functions
+
+# =============================================================================
+# Settings
+# =============================================================================
+export FZF_DEFAULT_OPTS='--height=70%'
+export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden'
+export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+
+# Directory paths for convenience functions
+IF_GAMES_DIR="$HOME/sync/org/text.games"
+BOOKS_DIR="$HOME/sync/books"
+
+# =============================================================================
+# Navigation
+# =============================================================================
+
+# cdff - change directory to where a file resides
+cdff() {
+ file=$(fzf +m -q "$1")
+ dir=$(dirname "$file")
+ cd "$dir" || return 1
+}
+
+# cdd - cd to directory with fzf
+cdd() {
+ destdir=$(find "${1:-.}" -path '*/\.*' -prune \
+ -o -type d -print 2>/dev/null | fzf +m) &&
+ cd "$destdir"
+}
+
+# =============================================================================
+# System Admin
+# =============================================================================
+
+# Kill process with fzf
+kp() {
+ pid=$(ps -ef | sed 1d | eval "fzf ${FZF_DEFAULT_OPTS} -m --header='[kill:process]'" | awk '{print $2}')
+ if [ -n "$pid" ]; then
+ echo "$pid" | xargs kill -"${1:-9}"
+ kp
+ fi
+}
+
+# Install packages with fzf preview
+yinstall() {
+ yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm
+}
+
+yinstall-skipverify() {
+ yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm --mflags --skipinteg
+}
+
+# Remove packages with fzf preview
+yrm() {
+ yay -Qq | fzf --multi --preview 'yay -Qi {1}' | xargs -ro yay -Rns
+}
+
+# Find in file with fzf
+fif() {
+ if [ "$#" -eq 0 ]; then
+ echo "Need a string to search for!"
+ return 1
+ fi
+ rg --files-with-matches --no-messages "$1" | \
+ fzf --preview "highlight -O ansi -l {} 2>/dev/null | \
+ rg --colors 'match:bg:yellow' --ignore-case --pretty --context 10 '$1' || \
+ rg --ignore-case --pretty --context 10 '$1' {}"
+}
+
+# =============================================================================
+# Convenience
+# =============================================================================
+
+# Find and read epub book in terminal
+bk() {
+ bkfile=$(find "$BOOKS_DIR" -iname "*.epub" -print | fzf)
+ if [ -n "$bkfile" ]; then
+ epr "$bkfile"
+ fi
+}
+
+# Find and play interactive fiction game
+tg() {
+ gamefile=$(find "$IF_GAMES_DIR" -type f \( -iname "*.z[1-8]" -o -iname "*.zblorb" -o -iname "*.blorb" \) -print | fzf)
+ if [ -n "$gamefile" ]; then
+ frotz "$gamefile"
+ fi
+}
+
+# =============================================================================
+# WireGuard
+# =============================================================================
+
+wgup() {
+ # Shutdown existing connections first
+ output=$(sudo wg 2>/dev/null)
+ if [ -n "$output" ]; then
+ for iface in $(sudo wg show interfaces); do
+ sudo wg-quick down "${iface}"
+ done
+ fi
+ # Select and start new connection
+ wgfile=$(sudo find /etc/wireguard/ -iname "*.conf" -exec basename -s .conf {} \; | fzf)
+ if [ -n "$wgfile" ]; then
+ sudo wg-quick up "$wgfile"
+ sudo wg
+ fi
+}
+
+wgdown() {
+ output=$(sudo wg 2>/dev/null)
+ if [ -n "$output" ]; then
+ for iface in $(sudo wg show interfaces); do
+ sudo wg-quick down "${iface}"
+ done
+ fi
+}
+
+alias wg=wgup
diff --git a/dotfiles/common/.zshrc.d/git.sh b/dotfiles/common/.zshrc.d/git.sh
new file mode 100644
index 0000000..6c2b6ad
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/git.sh
@@ -0,0 +1,32 @@
+# git.sh
+# Craig Jennings <c@cjennings.net>
+# Git aliases and convenience functions
+
+# =============================================================================
+# Aliases
+# =============================================================================
+alias gitlog="git log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
+alias gitstatus='git status -sb'
+alias gitcom='git commit -m'
+alias gitpp='git pull --prune'
+alias gittagbydate="git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags"
+
+# =============================================================================
+# Functions
+# =============================================================================
+
+# Stash, pull, pop
+gitsp() {
+ git stash && git pull && git stash pop
+}
+
+# Checkout branch with fzf
+gitck() {
+ git checkout "$(git branch --all | fzf | tr -d '[:space:]')"
+}
+
+# Diff with fzf preview
+gitdiff() {
+ preview="git diff $@ --color=always -- {-1}"
+ git diff "$@" --name-only | fzf -m --ansi --preview "$preview"
+}
diff --git a/dotfiles/common/.zshrc.d/media.sh b/dotfiles/common/.zshrc.d/media.sh
new file mode 100644
index 0000000..a5d54f1
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/media.sh
@@ -0,0 +1,41 @@
+# media.sh
+# Craig Jennings <c@cjennings.net>
+# Media utilities - music, video, downloads
+
+# =============================================================================
+# Terminal MPV
+# =============================================================================
+alias play='mpv --no-video'
+alias shuffle='mpv --no-video --shuffle'
+
+# =============================================================================
+# Tidal
+# =============================================================================
+alias tdl="tidal-dl -l"
+alias ttdl="tsp tidal-dl -l"
+
+# =============================================================================
+# YouTube (yt-dlp)
+# =============================================================================
+# Video - single
+alias yt="yt-dlp --ignore-config --no-playlist --embed-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
+alias tyt="tsp yt-dlp --ignore-config --no-playlist --embed-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
+
+# Video - playlist
+alias ytp="yt-dlp --ignore-config --yes-playlist --embed-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
+alias tytp="tsp yt-dlp --ignore-config --yes-playlist --embed-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
+
+# Audio - single
+alias yta="yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
+alias tyta="tsp yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
+
+# Audio - playlist
+alias ytap="yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
+alias tytap="tsp yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
+
+# =============================================================================
+# Audible Conversion (AAXtoMP3)
+# =============================================================================
+alias aax2flac='AAXtoMP3 -f'
+alias aax2mp3='AAXtoMP3 -c -e:mp3'
+alias aax2opus='AAXtoMP3 --opus -t . -c'
diff --git a/dotfiles/common/.zshrc.d/utilities.sh b/dotfiles/common/.zshrc.d/utilities.sh
new file mode 100644
index 0000000..431cac0
--- /dev/null
+++ b/dotfiles/common/.zshrc.d/utilities.sh
@@ -0,0 +1,206 @@
+# utilities.sh
+# Craig Jennings <c@cjennings.net>
+# General utility functions
+
+# =============================================================================
+# Archive Extraction
+# =============================================================================
+extract() {
+ if [ -f "$1" ]; then
+ case "$1" in
+ *.tar.bz2) tar xjf "$1" ;;
+ *.tar.gz) tar xzf "$1" ;;
+ *.bz2) bunzip2 "$1" ;;
+ *.rar) rar x "$1" ;;
+ *.gz) gunzip "$1" ;;
+ *.tar) tar xf "$1" ;;
+ *.tbz2) tar xjf "$1" ;;
+ *.tgz) tar xzf "$1" ;;
+ *.zip) unzip "$1" ;;
+ *.Z) uncompress "$1" ;;
+ *) echo "$1 cannot be extracted via extract()" ;;
+ esac
+ else
+ echo "$1 is not a valid file"
+ fi
+}
+
+# =============================================================================
+# Archive Compression
+# =============================================================================
+compress() {
+ if [ $# -ne 2 ]; then
+ echo "Usage: compress <format> <file_or_directory>"
+ echo "Formats: tar.bz2, tar.gz, bz2, tar, tbz2, tgz, zip, gz, Z"
+ return 1
+ fi
+
+ format="$1"
+ target="$2"
+
+ if [ ! -e "$target" ]; then
+ echo "Error: '$target' does not exist"
+ return 1
+ fi
+
+ basename=$(basename "$target")
+
+ case "$format" in
+ tar.bz2|tbz2) output="${basename}.tar.bz2" ;;
+ tar.gz|tgz) output="${basename}.tar.gz" ;;
+ bz2) output="${target}.bz2" ;;
+ gz) output="${target}.gz" ;;
+ tar) output="${basename}.tar" ;;
+ zip) output="${basename}.zip" ;;
+ Z) output="${target}.Z" ;;
+ *)
+ echo "Error: Unknown format '$format'"
+ return 1
+ ;;
+ esac
+
+ if [ -e "$output" ]; then
+ printf "Warning: '%s' already exists. Overwrite? (y/N): " "$output"
+ read -r response
+ case "$response" in
+ [yY]|[yY][eE][sS]) rm -f "$output" ;;
+ *) echo "Aborted." && return 1 ;;
+ esac
+ fi
+
+ case "$format" in
+ tar.bz2|tbz2) tar -cjf "$output" "$target" ;;
+ tar.gz|tgz) tar -czf "$output" "$target" ;;
+ bz2)
+ [ -d "$target" ] && echo "Error: bz2 only works on files" && return 1
+ bzip2 -k "$target"
+ ;;
+ gz)
+ [ -d "$target" ] && echo "Error: gz only works on files" && return 1
+ gzip -k "$target"
+ ;;
+ tar) tar -cf "$output" "$target" ;;
+ zip)
+ [ -d "$target" ] && zip -r "$output" "$target" || zip "$output" "$target"
+ ;;
+ Z)
+ [ -d "$target" ] && echo "Error: Z only works on files" && return 1
+ command compress -c "$target" > "$output"
+ ;;
+ esac
+
+ [ $? -eq 0 ] && echo "Created $output" || echo "Compression failed"
+}
+
+# =============================================================================
+# DD Helper
+# =============================================================================
+dd_with_bs() {
+ OUT_DIR=$(dirname "$2")
+ if [ ! -e "$1" ] || [ ! -e "$OUT_DIR" ]; then
+ echo "$1 or $OUT_DIR doesn't exist"
+ return 1
+ fi
+ IN_BS=$(stat -c "%o" "$1")
+ OUT_BS=$(stat -c "%o" "$OUT_DIR")
+ echo dd \"if=$1\" \"of=$2\" \"ibs=$IN_BS\" \"obs=$OUT_BS\"
+}
+
+# =============================================================================
+# Clock, Timer, Alarm, Stopwatch
+# =============================================================================
+export BEEP="/usr/share/sounds/freedesktop/stereo/bell.oga"
+alias beep='paplay $BEEP'
+
+clock() {
+ while true; do
+ tput clear
+ echo ""
+ date +" %l : %M %p" | figlet -f roman -w 200
+ sleep 1
+ done
+}
+
+timer() {
+ if [ "$#" -lt 2 ]; then
+ echo "Pass the time and a notification. Example: timer 1h30m Parking expiring"
+ return 1
+ fi
+ message="${*:2}"
+ start_time=$(date +"%H:%M:%S %p")
+ printf "\nStarting %s timer at %s\n" "$1" "$start_time"
+ snore "$1" && paplay "$BEEP" && notify-send "Timer" "$message"
+}
+
+alarm() {
+ if [ "$#" -lt 2 ]; then
+ echo "Pass both the time and a message. Example: alarm 1:45pm Time to eat!"
+ return 1
+ fi
+
+ if ! date -d "$1" >/dev/null 2>&1; then
+ echo "Invalid time: $1"
+ return 1
+ fi
+
+ echo "paplay \$BEEP && notify-send \"Alarm\" \"$*\"" | at "$1" >/dev/null 2>&1
+ echo ""
+ echo "Alarm '${*:2}' is queued for $1."
+ echo "To see all alarms: atq"
+ echo "To remove an alarm: atrm <number>"
+ echo ""
+}
+
+# Stopwatch
+sw_start_time=0
+sw_started=0
+
+swreset() {
+ sw_start_time=0
+ sw_started=0
+ echo "Stopwatch reset"
+}
+
+swshow() {
+ if [ "$sw_started" = 0 ]; then
+ echo "Error: Stopwatch not started" >&2
+ return 1
+ fi
+
+ current_time=$(date +%s)
+ elapsed_time=$((current_time - sw_start_time))
+
+ if [ "$elapsed_time" -lt 60 ]; then
+ echo "Elapsed time: $elapsed_time seconds"
+ elif [ "$elapsed_time" -lt 3600 ]; then
+ minutes=$((elapsed_time / 60))
+ seconds=$((elapsed_time % 60))
+ echo "Elapsed time: $minutes minutes, $seconds seconds"
+ else
+ hours=$((elapsed_time / 3600))
+ minutes=$(((elapsed_time / 60) % 60))
+ seconds=$((elapsed_time % 60))
+ echo "Elapsed time: $hours hours, $minutes minutes, $seconds seconds"
+ fi
+}
+
+swstop() {
+ swshow
+ swreset
+}
+
+swstart() {
+ if [ "$sw_started" = 1 ]; then
+ printf "Stopwatch is already started. Reset? (y/n): "
+ read -r answer
+ case "$answer" in
+ [yY]) swreset ;;
+ [nN]) echo "Stopwatch not reset." && swshow && return ;;
+ *) echo "Error: Invalid input." >&2 && return 1 ;;
+ esac
+ fi
+
+ sw_started=1
+ sw_start_time=$(date +%s)
+ printf "Stopwatch started at %s\n\n" "$(date +"%H:%M:%S %p")"
+}
diff --git a/dotfiles/system/documents/bazzite-fractal-save-desktop.sd.tar.gz b/dotfiles/common/documents/bazzite-fractal-save-desktop.sd.tar.gz
index 14ea060..14ea060 100644
--- a/dotfiles/system/documents/bazzite-fractal-save-desktop.sd.tar.gz
+++ b/dotfiles/common/documents/bazzite-fractal-save-desktop.sd.tar.gz
Binary files differ
diff --git a/dotfiles/system/documents/bazzite-fractal.sd.tar.gz b/dotfiles/common/documents/bazzite-fractal.sd.tar.gz
index 3d97c6f..3d97c6f 100644
--- a/dotfiles/system/documents/bazzite-fractal.sd.tar.gz
+++ b/dotfiles/common/documents/bazzite-fractal.sd.tar.gz
Binary files differ
diff --git a/dotfiles/system/music/60s Sounds.m3u b/dotfiles/common/music/60s Sounds.m3u
index 1507649..1507649 100644
--- a/dotfiles/system/music/60s Sounds.m3u
+++ b/dotfiles/common/music/60s Sounds.m3u
diff --git a/dotfiles/system/music/90s Sounds.m3u b/dotfiles/common/music/90s Sounds.m3u
index 70c45c1..70c45c1 100644
--- a/dotfiles/system/music/90s Sounds.m3u
+++ b/dotfiles/common/music/90s Sounds.m3u
diff --git a/dotfiles/system/music/Ambient Sleeping Pill.m3u b/dotfiles/common/music/Ambient Sleeping Pill.m3u
index 891a266..891a266 100644
--- a/dotfiles/system/music/Ambient Sleeping Pill.m3u
+++ b/dotfiles/common/music/Ambient Sleeping Pill.m3u
diff --git a/dotfiles/system/music/BAGeL Radio.m3u b/dotfiles/common/music/BAGeL Radio.m3u
index 546030c..546030c 100644
--- a/dotfiles/system/music/BAGeL Radio.m3u
+++ b/dotfiles/common/music/BAGeL Radio.m3u
diff --git a/dotfiles/system/music/BBC World Service.m3u b/dotfiles/common/music/BBC World Service.m3u
index 47ab17d..47ab17d 100644
--- a/dotfiles/system/music/BBC World Service.m3u
+++ b/dotfiles/common/music/BBC World Service.m3u
diff --git a/dotfiles/system/music/Baroque Sonatas.m3u b/dotfiles/common/music/Baroque Sonatas.m3u
index 6962974..6962974 100644
--- a/dotfiles/system/music/Baroque Sonatas.m3u
+++ b/dotfiles/common/music/Baroque Sonatas.m3u
diff --git a/dotfiles/system/music/Black Flamingos - Space Bar.m4a b/dotfiles/common/music/Black Flamingos - Space Bar.m4a
index 281e6b8..281e6b8 100644
--- a/dotfiles/system/music/Black Flamingos - Space Bar.m4a
+++ b/dotfiles/common/music/Black Flamingos - Space Bar.m4a
Binary files differ
diff --git a/dotfiles/system/music/Blues Radio.m3u b/dotfiles/common/music/Blues Radio.m3u
index abd4e2b..abd4e2b 100644
--- a/dotfiles/system/music/Blues Radio.m3u
+++ b/dotfiles/common/music/Blues Radio.m3u
diff --git a/dotfiles/system/music/Dark Ambient.m3u b/dotfiles/common/music/Dark Ambient.m3u
index 2db37ae..2db37ae 100644
--- a/dotfiles/system/music/Dark Ambient.m3u
+++ b/dotfiles/common/music/Dark Ambient.m3u
diff --git a/dotfiles/system/music/Flux FM Radio.m3u b/dotfiles/common/music/Flux FM Radio.m3u
index 9a5aaf9..9a5aaf9 100644
--- a/dotfiles/system/music/Flux FM Radio.m3u
+++ b/dotfiles/common/music/Flux FM Radio.m3u
diff --git a/dotfiles/system/music/Jazz Radio Happy Hour.m3u b/dotfiles/common/music/Jazz Radio Happy Hour.m3u
index caa1802..caa1802 100644
--- a/dotfiles/system/music/Jazz Radio Happy Hour.m3u
+++ b/dotfiles/common/music/Jazz Radio Happy Hour.m3u
diff --git a/dotfiles/system/music/Jazz Radio Latin Jazz.m3u b/dotfiles/common/music/Jazz Radio Latin Jazz.m3u
index f957d29..f957d29 100644
--- a/dotfiles/system/music/Jazz Radio Latin Jazz.m3u
+++ b/dotfiles/common/music/Jazz Radio Latin Jazz.m3u
diff --git a/dotfiles/system/music/Jazz Radio New Orleans.m3u b/dotfiles/common/music/Jazz Radio New Orleans.m3u
index 21f13d6..21f13d6 100644
--- a/dotfiles/system/music/Jazz Radio New Orleans.m3u
+++ b/dotfiles/common/music/Jazz Radio New Orleans.m3u
diff --git a/dotfiles/system/music/Jazz Radio Only Women.m3u b/dotfiles/common/music/Jazz Radio Only Women.m3u
index aebd263..aebd263 100644
--- a/dotfiles/system/music/Jazz Radio Only Women.m3u
+++ b/dotfiles/common/music/Jazz Radio Only Women.m3u
diff --git a/dotfiles/system/music/Malvern Radio International Classical.m3u b/dotfiles/common/music/Malvern Radio International Classical.m3u
index 95b8080..95b8080 100644
--- a/dotfiles/system/music/Malvern Radio International Classical.m3u
+++ b/dotfiles/common/music/Malvern Radio International Classical.m3u
diff --git a/dotfiles/system/music/NPR 24 Hour Radio.m3u b/dotfiles/common/music/NPR 24 Hour Radio.m3u
index 557cb53..557cb53 100644
--- a/dotfiles/system/music/NPR 24 Hour Radio.m3u
+++ b/dotfiles/common/music/NPR 24 Hour Radio.m3u
diff --git a/dotfiles/system/music/Radio Caprice Acoustic Blues.m3u b/dotfiles/common/music/Radio Caprice Acoustic Blues.m3u
index 360e093..360e093 100644
--- a/dotfiles/system/music/Radio Caprice Acoustic Blues.m3u
+++ b/dotfiles/common/music/Radio Caprice Acoustic Blues.m3u
diff --git a/dotfiles/system/music/Radio Caprice Breakbeat.m3u b/dotfiles/common/music/Radio Caprice Breakbeat.m3u
index 93c26c4..93c26c4 100644
--- a/dotfiles/system/music/Radio Caprice Breakbeat.m3u
+++ b/dotfiles/common/music/Radio Caprice Breakbeat.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Baroque.m3u b/dotfiles/common/music/Radio Caprice Classical Baroque.m3u
index c4943da..c4943da 100644
--- a/dotfiles/system/music/Radio Caprice Classical Baroque.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Baroque.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Cello.m3u b/dotfiles/common/music/Radio Caprice Classical Cello.m3u
index 8bc683b..8bc683b 100644
--- a/dotfiles/system/music/Radio Caprice Classical Cello.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Cello.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Impressionism.m3u b/dotfiles/common/music/Radio Caprice Classical Impressionism.m3u
index 3bb18fd..3bb18fd 100644
--- a/dotfiles/system/music/Radio Caprice Classical Impressionism.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Impressionism.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Lute.m3u b/dotfiles/common/music/Radio Caprice Classical Lute.m3u
index 2061560..2061560 100644
--- a/dotfiles/system/music/Radio Caprice Classical Lute.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Lute.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Medieval.m3u b/dotfiles/common/music/Radio Caprice Classical Medieval.m3u
index 7ad7e78..7ad7e78 100644
--- a/dotfiles/system/music/Radio Caprice Classical Medieval.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Medieval.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Piano.m3u b/dotfiles/common/music/Radio Caprice Classical Piano.m3u
index d94613c..d94613c 100644
--- a/dotfiles/system/music/Radio Caprice Classical Piano.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Piano.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Renaissance.m3u b/dotfiles/common/music/Radio Caprice Classical Renaissance.m3u
index 5eb695c..5eb695c 100644
--- a/dotfiles/system/music/Radio Caprice Classical Renaissance.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Renaissance.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Sonata.m3u b/dotfiles/common/music/Radio Caprice Classical Sonata.m3u
index bf6f77f..bf6f77f 100644
--- a/dotfiles/system/music/Radio Caprice Classical Sonata.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Sonata.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Strings.m3u b/dotfiles/common/music/Radio Caprice Classical Strings.m3u
index 06d6b98..06d6b98 100644
--- a/dotfiles/system/music/Radio Caprice Classical Strings.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Strings.m3u
diff --git a/dotfiles/system/music/Radio Caprice Classical Violin.m3u b/dotfiles/common/music/Radio Caprice Classical Violin.m3u
index fe8e97e..fe8e97e 100644
--- a/dotfiles/system/music/Radio Caprice Classical Violin.m3u
+++ b/dotfiles/common/music/Radio Caprice Classical Violin.m3u
diff --git a/dotfiles/system/music/Radio Caprice Delta Blues.m3u b/dotfiles/common/music/Radio Caprice Delta Blues.m3u
index 8788935..8788935 100644
--- a/dotfiles/system/music/Radio Caprice Delta Blues.m3u
+++ b/dotfiles/common/music/Radio Caprice Delta Blues.m3u
diff --git a/dotfiles/system/music/Radio Caprice Downtempo.m3u b/dotfiles/common/music/Radio Caprice Downtempo.m3u
index 7a72ca6..7a72ca6 100644
--- a/dotfiles/system/music/Radio Caprice Downtempo.m3u
+++ b/dotfiles/common/music/Radio Caprice Downtempo.m3u
diff --git a/dotfiles/system/music/Radio Caprice Dubstep.m3u b/dotfiles/common/music/Radio Caprice Dubstep.m3u
index eab9c17..eab9c17 100644
--- a/dotfiles/system/music/Radio Caprice Dubstep.m3u
+++ b/dotfiles/common/music/Radio Caprice Dubstep.m3u
diff --git a/dotfiles/system/music/Radio Caprice Gregorian Chants.m3u b/dotfiles/common/music/Radio Caprice Gregorian Chants.m3u
index a8bdf5a..a8bdf5a 100644
--- a/dotfiles/system/music/Radio Caprice Gregorian Chants.m3u
+++ b/dotfiles/common/music/Radio Caprice Gregorian Chants.m3u
diff --git a/dotfiles/system/music/Radio Caprice Hardcore Punk.m3u b/dotfiles/common/music/Radio Caprice Hardcore Punk.m3u
index b8ba07e..b8ba07e 100644
--- a/dotfiles/system/music/Radio Caprice Hardcore Punk.m3u
+++ b/dotfiles/common/music/Radio Caprice Hardcore Punk.m3u
diff --git a/dotfiles/system/music/Radio Caprice Jazz Bebop.m3u b/dotfiles/common/music/Radio Caprice Jazz Bebop.m3u
index 08f98b7..08f98b7 100644
--- a/dotfiles/system/music/Radio Caprice Jazz Bebop.m3u
+++ b/dotfiles/common/music/Radio Caprice Jazz Bebop.m3u
diff --git a/dotfiles/system/music/Radio Caprice Jazz Rap.m3u b/dotfiles/common/music/Radio Caprice Jazz Rap.m3u
index 275b470..275b470 100644
--- a/dotfiles/system/music/Radio Caprice Jazz Rap.m3u
+++ b/dotfiles/common/music/Radio Caprice Jazz Rap.m3u
diff --git a/dotfiles/system/music/Radio Caprice Old School Hip-Hop.m3u b/dotfiles/common/music/Radio Caprice Old School Hip-Hop.m3u
index bff948d..bff948d 100644
--- a/dotfiles/system/music/Radio Caprice Old School Hip-Hop.m3u
+++ b/dotfiles/common/music/Radio Caprice Old School Hip-Hop.m3u
diff --git a/dotfiles/system/music/Radio Caprice Oldies.m3u b/dotfiles/common/music/Radio Caprice Oldies.m3u
index 7421d1b..7421d1b 100644
--- a/dotfiles/system/music/Radio Caprice Oldies.m3u
+++ b/dotfiles/common/music/Radio Caprice Oldies.m3u
diff --git a/dotfiles/system/music/Radio Caprice Reggae Roots.m3u b/dotfiles/common/music/Radio Caprice Reggae Roots.m3u
index f9f2863..f9f2863 100644
--- a/dotfiles/system/music/Radio Caprice Reggae Roots.m3u
+++ b/dotfiles/common/music/Radio Caprice Reggae Roots.m3u
diff --git a/dotfiles/system/music/Radio Caprice Reggae.m3u b/dotfiles/common/music/Radio Caprice Reggae.m3u
index c7ea1ff..c7ea1ff 100644
--- a/dotfiles/system/music/Radio Caprice Reggae.m3u
+++ b/dotfiles/common/music/Radio Caprice Reggae.m3u
diff --git a/dotfiles/system/music/Radio Caprice Street Punk.m3u b/dotfiles/common/music/Radio Caprice Street Punk.m3u
index e5603ab..e5603ab 100644
--- a/dotfiles/system/music/Radio Caprice Street Punk.m3u
+++ b/dotfiles/common/music/Radio Caprice Street Punk.m3u
diff --git a/dotfiles/system/music/Radio Caprice Trip Hop.m3u b/dotfiles/common/music/Radio Caprice Trip Hop.m3u
index 159e86a..159e86a 100644
--- a/dotfiles/system/music/Radio Caprice Trip Hop.m3u
+++ b/dotfiles/common/music/Radio Caprice Trip Hop.m3u
diff --git a/dotfiles/system/music/Radio Swiss Classic French.m3u b/dotfiles/common/music/Radio Swiss Classic French.m3u
index 20e5a6e..20e5a6e 100644
--- a/dotfiles/system/music/Radio Swiss Classic French.m3u
+++ b/dotfiles/common/music/Radio Swiss Classic French.m3u
diff --git a/dotfiles/system/music/Radio Swiss Classic German.m3u b/dotfiles/common/music/Radio Swiss Classic German.m3u
index 8a1ec72..8a1ec72 100644
--- a/dotfiles/system/music/Radio Swiss Classic German.m3u
+++ b/dotfiles/common/music/Radio Swiss Classic German.m3u
diff --git a/dotfiles/system/music/Radio Swiss Classic Italian.m3u b/dotfiles/common/music/Radio Swiss Classic Italian.m3u
index e0c7d4a..e0c7d4a 100644
--- a/dotfiles/system/music/Radio Swiss Classic Italian.m3u
+++ b/dotfiles/common/music/Radio Swiss Classic Italian.m3u
diff --git a/dotfiles/system/music/SomaFM Beat Blender.m3u b/dotfiles/common/music/SomaFM Beat Blender.m3u
index 1f86a51..1f86a51 100644
--- a/dotfiles/system/music/SomaFM Beat Blender.m3u
+++ b/dotfiles/common/music/SomaFM Beat Blender.m3u
diff --git a/dotfiles/system/music/SomaFM Black Rock FM.m3u b/dotfiles/common/music/SomaFM Black Rock FM.m3u
index 9c3c4e2..9c3c4e2 100644
--- a/dotfiles/system/music/SomaFM Black Rock FM.m3u
+++ b/dotfiles/common/music/SomaFM Black Rock FM.m3u
diff --git a/dotfiles/system/music/SomaFM Boot Liquor.m3u b/dotfiles/common/music/SomaFM Boot Liquor.m3u
index 490aa24..490aa24 100644
--- a/dotfiles/system/music/SomaFM Boot Liquor.m3u
+++ b/dotfiles/common/music/SomaFM Boot Liquor.m3u
diff --git a/dotfiles/system/music/SomaFM Cliqhop IDM.m3u b/dotfiles/common/music/SomaFM Cliqhop IDM.m3u
index 1ca516f..1ca516f 100644
--- a/dotfiles/system/music/SomaFM Cliqhop IDM.m3u
+++ b/dotfiles/common/music/SomaFM Cliqhop IDM.m3u
diff --git a/dotfiles/system/music/SomaFM Dark Zone.m3u b/dotfiles/common/music/SomaFM Dark Zone.m3u
index 5cb6af2..5cb6af2 100644
--- a/dotfiles/system/music/SomaFM Dark Zone.m3u
+++ b/dotfiles/common/music/SomaFM Dark Zone.m3u
diff --git a/dotfiles/system/music/SomaFM Deep Space One.m3u b/dotfiles/common/music/SomaFM Deep Space One.m3u
index 31dab20..31dab20 100644
--- a/dotfiles/system/music/SomaFM Deep Space One.m3u
+++ b/dotfiles/common/music/SomaFM Deep Space One.m3u
diff --git a/dotfiles/system/music/SomaFM Digitalis.m3u b/dotfiles/common/music/SomaFM Digitalis.m3u
index 4a15156..4a15156 100644
--- a/dotfiles/system/music/SomaFM Digitalis.m3u
+++ b/dotfiles/common/music/SomaFM Digitalis.m3u
diff --git a/dotfiles/system/music/SomaFM Drone Zone.m3u b/dotfiles/common/music/SomaFM Drone Zone.m3u
index 1463f76..1463f76 100644
--- a/dotfiles/system/music/SomaFM Drone Zone.m3u
+++ b/dotfiles/common/music/SomaFM Drone Zone.m3u
diff --git a/dotfiles/system/music/SomaFM Dub Step Beyond.m3u b/dotfiles/common/music/SomaFM Dub Step Beyond.m3u
index e5d58d7..e5d58d7 100644
--- a/dotfiles/system/music/SomaFM Dub Step Beyond.m3u
+++ b/dotfiles/common/music/SomaFM Dub Step Beyond.m3u
diff --git a/dotfiles/system/music/SomaFM Fluid.m3u b/dotfiles/common/music/SomaFM Fluid.m3u
index c3eda9d..c3eda9d 100644
--- a/dotfiles/system/music/SomaFM Fluid.m3u
+++ b/dotfiles/common/music/SomaFM Fluid.m3u
diff --git a/dotfiles/system/music/SomaFM Folk Forward.m3u b/dotfiles/common/music/SomaFM Folk Forward.m3u
index 77919cf..77919cf 100644
--- a/dotfiles/system/music/SomaFM Folk Forward.m3u
+++ b/dotfiles/common/music/SomaFM Folk Forward.m3u
diff --git a/dotfiles/system/music/SomaFM Groove Salad Classic.m3u b/dotfiles/common/music/SomaFM Groove Salad Classic.m3u
index 3dc3e70..3dc3e70 100644
--- a/dotfiles/system/music/SomaFM Groove Salad Classic.m3u
+++ b/dotfiles/common/music/SomaFM Groove Salad Classic.m3u
diff --git a/dotfiles/system/music/SomaFM Groove Salad.m3u b/dotfiles/common/music/SomaFM Groove Salad.m3u
index ab50669..ab50669 100644
--- a/dotfiles/system/music/SomaFM Groove Salad.m3u
+++ b/dotfiles/common/music/SomaFM Groove Salad.m3u
diff --git a/dotfiles/system/music/SomaFM Heavyweight Reggae.m3u b/dotfiles/common/music/SomaFM Heavyweight Reggae.m3u
index ead2744..ead2744 100644
--- a/dotfiles/system/music/SomaFM Heavyweight Reggae.m3u
+++ b/dotfiles/common/music/SomaFM Heavyweight Reggae.m3u
diff --git a/dotfiles/system/music/SomaFM Illinois Street Lounge.m3u b/dotfiles/common/music/SomaFM Illinois Street Lounge.m3u
index 3c1f9f2..3c1f9f2 100644
--- a/dotfiles/system/music/SomaFM Illinois Street Lounge.m3u
+++ b/dotfiles/common/music/SomaFM Illinois Street Lounge.m3u
diff --git a/dotfiles/system/music/SomaFM Indie Pop Rocks.m3u b/dotfiles/common/music/SomaFM Indie Pop Rocks.m3u
index 7bbcbf9..7bbcbf9 100644
--- a/dotfiles/system/music/SomaFM Indie Pop Rocks.m3u
+++ b/dotfiles/common/music/SomaFM Indie Pop Rocks.m3u
diff --git a/dotfiles/system/music/SomaFM PopTron.m3u b/dotfiles/common/music/SomaFM PopTron.m3u
index 513581a..513581a 100644
--- a/dotfiles/system/music/SomaFM PopTron.m3u
+++ b/dotfiles/common/music/SomaFM PopTron.m3u
diff --git a/dotfiles/system/music/SomaFM Secret Agent.m3u b/dotfiles/common/music/SomaFM Secret Agent.m3u
index d789a20..d789a20 100644
--- a/dotfiles/system/music/SomaFM Secret Agent.m3u
+++ b/dotfiles/common/music/SomaFM Secret Agent.m3u
diff --git a/dotfiles/system/music/SomaFM Sonic Universe.m3u b/dotfiles/common/music/SomaFM Sonic Universe.m3u
index f195f30..f195f30 100644
--- a/dotfiles/system/music/SomaFM Sonic Universe.m3u
+++ b/dotfiles/common/music/SomaFM Sonic Universe.m3u
diff --git a/dotfiles/system/music/SomaFM Space Station Soma.m3u b/dotfiles/common/music/SomaFM Space Station Soma.m3u
index 6ef616c..6ef616c 100644
--- a/dotfiles/system/music/SomaFM Space Station Soma.m3u
+++ b/dotfiles/common/music/SomaFM Space Station Soma.m3u
diff --git a/dotfiles/system/music/SomaFM Suburbs of Goa.m3u b/dotfiles/common/music/SomaFM Suburbs of Goa.m3u
index 0ceb925..0ceb925 100644
--- a/dotfiles/system/music/SomaFM Suburbs of Goa.m3u
+++ b/dotfiles/common/music/SomaFM Suburbs of Goa.m3u
diff --git a/dotfiles/system/music/SomaFM Synphaera.m3u b/dotfiles/common/music/SomaFM Synphaera.m3u
index a2b73be..a2b73be 100644
--- a/dotfiles/system/music/SomaFM Synphaera.m3u
+++ b/dotfiles/common/music/SomaFM Synphaera.m3u
diff --git a/dotfiles/system/music/SomaFM The Trip.m3u b/dotfiles/common/music/SomaFM The Trip.m3u
index f29d14a..f29d14a 100644
--- a/dotfiles/system/music/SomaFM The Trip.m3u
+++ b/dotfiles/common/music/SomaFM The Trip.m3u
diff --git a/dotfiles/system/music/SomaFM Underground 80s.m3u b/dotfiles/common/music/SomaFM Underground 80s.m3u
index 04ca280..04ca280 100644
--- a/dotfiles/system/music/SomaFM Underground 80s.m3u
+++ b/dotfiles/common/music/SomaFM Underground 80s.m3u
diff --git a/dotfiles/system/music/SomaFM Vaporwaves.m3u b/dotfiles/common/music/SomaFM Vaporwaves.m3u
index 07158a1..07158a1 100644
--- a/dotfiles/system/music/SomaFM Vaporwaves.m3u
+++ b/dotfiles/common/music/SomaFM Vaporwaves.m3u
diff --git a/dotfiles/system/music/SomaFM n5MD Radio.m3u b/dotfiles/common/music/SomaFM n5MD Radio.m3u
index 6a86dab..6a86dab 100644
--- a/dotfiles/system/music/SomaFM n5MD Radio.m3u
+++ b/dotfiles/common/music/SomaFM n5MD Radio.m3u
diff --git a/dotfiles/system/music/Sunday Baroque.m3u b/dotfiles/common/music/Sunday Baroque.m3u
index c040ac6..c040ac6 100644
--- a/dotfiles/system/music/Sunday Baroque.m3u
+++ b/dotfiles/common/music/Sunday Baroque.m3u
diff --git a/dotfiles/system/music/Surf Rock.m3u b/dotfiles/common/music/Surf Rock.m3u
index 8ea997e..8ea997e 100644
--- a/dotfiles/system/music/Surf Rock.m3u
+++ b/dotfiles/common/music/Surf Rock.m3u
diff --git a/dotfiles/system/music/Venice Classic Radio.m3u b/dotfiles/common/music/Venice Classic Radio.m3u
index 8202906..8202906 100644
--- a/dotfiles/system/music/Venice Classic Radio.m3u
+++ b/dotfiles/common/music/Venice Classic Radio.m3u
diff --git a/dotfiles/system/music/WWNO.m3u b/dotfiles/common/music/WWNO.m3u
index b5a19ff..b5a19ff 100644
--- a/dotfiles/system/music/WWNO.m3u
+++ b/dotfiles/common/music/WWNO.m3u
diff --git a/dotfiles/system/music/WWOZ New Orleans.m3u b/dotfiles/common/music/WWOZ New Orleans.m3u
index a2f35a2..a2f35a2 100644
--- a/dotfiles/system/music/WWOZ New Orleans.m3u
+++ b/dotfiles/common/music/WWOZ New Orleans.m3u
diff --git a/dotfiles/system/pictures/cjennings.jpg b/dotfiles/common/pictures/cjennings.jpg
index 5870e0a..5870e0a 100644
--- a/dotfiles/system/pictures/cjennings.jpg
+++ b/dotfiles/common/pictures/cjennings.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/devilman.jpg b/dotfiles/common/pictures/devilman.jpg
index 5e01371..5e01371 100644
--- a/dotfiles/system/pictures/devilman.jpg
+++ b/dotfiles/common/pictures/devilman.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/a-streetcar-named-despair.jpg b/dotfiles/common/pictures/wallpaper/a-streetcar-named-despair.jpg
index 3345ecd..3345ecd 100644
--- a/dotfiles/system/pictures/wallpaper/a-streetcar-named-despair.jpg
+++ b/dotfiles/common/pictures/wallpaper/a-streetcar-named-despair.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/atari-canyon.png b/dotfiles/common/pictures/wallpaper/atari-canyon.png
index 3d81c64..3d81c64 100644
--- a/dotfiles/system/pictures/wallpaper/atari-canyon.png
+++ b/dotfiles/common/pictures/wallpaper/atari-canyon.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/balance.jpg b/dotfiles/common/pictures/wallpaper/balance.jpg
index 8c851c1..8c851c1 100644
--- a/dotfiles/system/pictures/wallpaper/balance.jpg
+++ b/dotfiles/common/pictures/wallpaper/balance.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg b/dotfiles/common/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg
index 9f9b35a..9f9b35a 100644
--- a/dotfiles/system/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg
+++ b/dotfiles/common/pictures/wallpaper/beatles-st-pancras-old-church-1968.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg b/dotfiles/common/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg
index 3ea382a..3ea382a 100644
--- a/dotfiles/system/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg
+++ b/dotfiles/common/pictures/wallpaper/big-j-mcneely-los-angeles-1951.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/blues-brothers-and-hooker.png b/dotfiles/common/pictures/wallpaper/blues-brothers-and-hooker.png
index 8bdb560..8bdb560 100644
--- a/dotfiles/system/pictures/wallpaper/blues-brothers-and-hooker.png
+++ b/dotfiles/common/pictures/wallpaper/blues-brothers-and-hooker.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg b/dotfiles/common/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg
index 25849e6..25849e6 100644
--- a/dotfiles/system/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg
+++ b/dotfiles/common/pictures/wallpaper/bondi-beach-new-south-wales-australia.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/capetown-south-africa.jpg b/dotfiles/common/pictures/wallpaper/capetown-south-africa.jpg
index f998c79..f998c79 100644
--- a/dotfiles/system/pictures/wallpaper/capetown-south-africa.jpg
+++ b/dotfiles/common/pictures/wallpaper/capetown-south-africa.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/damrak-amsterdam-netherlands.jpg b/dotfiles/common/pictures/wallpaper/damrak-amsterdam-netherlands.jpg
index f3f9dc8..f3f9dc8 100644
--- a/dotfiles/system/pictures/wallpaper/damrak-amsterdam-netherlands.jpg
+++ b/dotfiles/common/pictures/wallpaper/damrak-amsterdam-netherlands.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/dark-lion.jpg b/dotfiles/common/pictures/wallpaper/dark-lion.jpg
index f3c8990..f3c8990 100644
--- a/dotfiles/system/pictures/wallpaper/dark-lion.jpg
+++ b/dotfiles/common/pictures/wallpaper/dark-lion.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/deadline.jpg b/dotfiles/common/pictures/wallpaper/deadline.jpg
index e8c925f..e8c925f 100644
--- a/dotfiles/system/pictures/wallpaper/deadline.jpg
+++ b/dotfiles/common/pictures/wallpaper/deadline.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/dodge-this.png b/dotfiles/common/pictures/wallpaper/dodge-this.png
index 555d6fb..555d6fb 100644
--- a/dotfiles/system/pictures/wallpaper/dodge-this.png
+++ b/dotfiles/common/pictures/wallpaper/dodge-this.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/doe.jpg b/dotfiles/common/pictures/wallpaper/doe.jpg
index 4be5445..4be5445 100644
--- a/dotfiles/system/pictures/wallpaper/doe.jpg
+++ b/dotfiles/common/pictures/wallpaper/doe.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/dolomites-italy.jpg b/dotfiles/common/pictures/wallpaper/dolomites-italy.jpg
index b863bf0..b863bf0 100644
--- a/dotfiles/system/pictures/wallpaper/dolomites-italy.jpg
+++ b/dotfiles/common/pictures/wallpaper/dolomites-italy.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg b/dotfiles/common/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg
index 157e702..157e702 100644
--- a/dotfiles/system/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg
+++ b/dotfiles/common/pictures/wallpaper/duckdive-teahupoo-french-polynesia.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/early-morning-commute.jpg b/dotfiles/common/pictures/wallpaper/early-morning-commute.jpg
index 100f99a..100f99a 100644
--- a/dotfiles/system/pictures/wallpaper/early-morning-commute.jpg
+++ b/dotfiles/common/pictures/wallpaper/early-morning-commute.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/eltz-castle-wiershem-germany.jpg b/dotfiles/common/pictures/wallpaper/eltz-castle-wiershem-germany.jpg
index 3e3a154..3e3a154 100644
--- a/dotfiles/system/pictures/wallpaper/eltz-castle-wiershem-germany.jpg
+++ b/dotfiles/common/pictures/wallpaper/eltz-castle-wiershem-germany.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/framed.png b/dotfiles/common/pictures/wallpaper/framed.png
index 5e6377b..5e6377b 100644
--- a/dotfiles/system/pictures/wallpaper/framed.png
+++ b/dotfiles/common/pictures/wallpaper/framed.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/fu-some-field-near-you.jpg b/dotfiles/common/pictures/wallpaper/fu-some-field-near-you.jpg
index f38873f..f38873f 100644
--- a/dotfiles/system/pictures/wallpaper/fu-some-field-near-you.jpg
+++ b/dotfiles/common/pictures/wallpaper/fu-some-field-near-you.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/greenwich-village-nyc.jpg b/dotfiles/common/pictures/wallpaper/greenwich-village-nyc.jpg
index fc582d9..fc582d9 100644
--- a/dotfiles/system/pictures/wallpaper/greenwich-village-nyc.jpg
+++ b/dotfiles/common/pictures/wallpaper/greenwich-village-nyc.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/hawker-sea-fury.jpg b/dotfiles/common/pictures/wallpaper/hawker-sea-fury.jpg
index 2cd33b5..2cd33b5 100644
--- a/dotfiles/system/pictures/wallpaper/hawker-sea-fury.jpg
+++ b/dotfiles/common/pictures/wallpaper/hawker-sea-fury.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/highway-59-kansas-us.jpg b/dotfiles/common/pictures/wallpaper/highway-59-kansas-us.jpg
index 9d5959b..9d5959b 100644
--- a/dotfiles/system/pictures/wallpaper/highway-59-kansas-us.jpg
+++ b/dotfiles/common/pictures/wallpaper/highway-59-kansas-us.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg b/dotfiles/common/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg
index 75d8260..75d8260 100644
--- a/dotfiles/system/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg
+++ b/dotfiles/common/pictures/wallpaper/ice-checkpoint-2030-a-d.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/imminent.jpg b/dotfiles/common/pictures/wallpaper/imminent.jpg
index 935dbd6..935dbd6 100644
--- a/dotfiles/system/pictures/wallpaper/imminent.jpg
+++ b/dotfiles/common/pictures/wallpaper/imminent.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/interior-space.jpg b/dotfiles/common/pictures/wallpaper/interior-space.jpg
index 98302d0..98302d0 100644
--- a/dotfiles/system/pictures/wallpaper/interior-space.jpg
+++ b/dotfiles/common/pictures/wallpaper/interior-space.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/ischia-from-castello-aragonese.jpg b/dotfiles/common/pictures/wallpaper/ischia-from-castello-aragonese.jpg
index b25eb13..b25eb13 100644
--- a/dotfiles/system/pictures/wallpaper/ischia-from-castello-aragonese.jpg
+++ b/dotfiles/common/pictures/wallpaper/ischia-from-castello-aragonese.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/jack-rabbit-slims.jpeg b/dotfiles/common/pictures/wallpaper/jack-rabbit-slims.jpeg
index 2a2cdcf..2a2cdcf 100644
--- a/dotfiles/system/pictures/wallpaper/jack-rabbit-slims.jpeg
+++ b/dotfiles/common/pictures/wallpaper/jack-rabbit-slims.jpeg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg b/dotfiles/common/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg
index fb74235..fb74235 100644
--- a/dotfiles/system/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg
+++ b/dotfiles/common/pictures/wallpaper/jackson-lake-lodge-wyoming-us.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/joker.jpg b/dotfiles/common/pictures/wallpaper/joker.jpg
index 9483e0c..9483e0c 100644
--- a/dotfiles/system/pictures/wallpaper/joker.jpg
+++ b/dotfiles/common/pictures/wallpaper/joker.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/khan-al-khalili-egypt.jpg b/dotfiles/common/pictures/wallpaper/khan-al-khalili-egypt.jpg
index 5c90144..5c90144 100644
--- a/dotfiles/system/pictures/wallpaper/khan-al-khalili-egypt.jpg
+++ b/dotfiles/common/pictures/wallpaper/khan-al-khalili-egypt.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/knockturn-alley-london-uk.jpg b/dotfiles/common/pictures/wallpaper/knockturn-alley-london-uk.jpg
index acf21af..acf21af 100644
--- a/dotfiles/system/pictures/wallpaper/knockturn-alley-london-uk.jpg
+++ b/dotfiles/common/pictures/wallpaper/knockturn-alley-london-uk.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/knowledge-is-power.jpg b/dotfiles/common/pictures/wallpaper/knowledge-is-power.jpg
index 36c431e..36c431e 100644
--- a/dotfiles/system/pictures/wallpaper/knowledge-is-power.jpg
+++ b/dotfiles/common/pictures/wallpaper/knowledge-is-power.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg b/dotfiles/common/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg
index 4c40563..4c40563 100644
--- a/dotfiles/system/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg
+++ b/dotfiles/common/pictures/wallpaper/last-jedis-neighbor-faroe-islands-denmark.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/loch-muick-scotland-uk.jpg b/dotfiles/common/pictures/wallpaper/loch-muick-scotland-uk.jpg
index 05bee98..05bee98 100644
--- a/dotfiles/system/pictures/wallpaper/loch-muick-scotland-uk.jpg
+++ b/dotfiles/common/pictures/wallpaper/loch-muick-scotland-uk.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/madison.jpg b/dotfiles/common/pictures/wallpaper/madison.jpg
index ad75f75..ad75f75 100644
--- a/dotfiles/system/pictures/wallpaper/madison.jpg
+++ b/dotfiles/common/pictures/wallpaper/madison.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/maps.jpg b/dotfiles/common/pictures/wallpaper/maps.jpg
index 408ec9d..408ec9d 100644
--- a/dotfiles/system/pictures/wallpaper/maps.jpg
+++ b/dotfiles/common/pictures/wallpaper/maps.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/monday-morning-in-yosemite.jpg b/dotfiles/common/pictures/wallpaper/monday-morning-in-yosemite.jpg
index 0a1e61a..0a1e61a 100644
--- a/dotfiles/system/pictures/wallpaper/monday-morning-in-yosemite.jpg
+++ b/dotfiles/common/pictures/wallpaper/monday-morning-in-yosemite.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/my-summer-home-denmark.png b/dotfiles/common/pictures/wallpaper/my-summer-home-denmark.png
index fb0da75..fb0da75 100644
--- a/dotfiles/system/pictures/wallpaper/my-summer-home-denmark.png
+++ b/dotfiles/common/pictures/wallpaper/my-summer-home-denmark.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/napa-valley-california-us.jpg b/dotfiles/common/pictures/wallpaper/napa-valley-california-us.jpg
index 89f1d4d..89f1d4d 100644
--- a/dotfiles/system/pictures/wallpaper/napa-valley-california-us.jpg
+++ b/dotfiles/common/pictures/wallpaper/napa-valley-california-us.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/nasa-earth-day.jpg b/dotfiles/common/pictures/wallpaper/nasa-earth-day.jpg
index 25098f1..25098f1 100644
--- a/dotfiles/system/pictures/wallpaper/nasa-earth-day.jpg
+++ b/dotfiles/common/pictures/wallpaper/nasa-earth-day.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/nasa-earth-night.jpg b/dotfiles/common/pictures/wallpaper/nasa-earth-night.jpg
index 7ad0497..7ad0497 100644
--- a/dotfiles/system/pictures/wallpaper/nasa-earth-night.jpg
+++ b/dotfiles/common/pictures/wallpaper/nasa-earth-night.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/nazarรฉ-portugal.jpg b/dotfiles/common/pictures/wallpaper/nazarรฉ-portugal.jpg
index 604641d..604641d 100644
--- a/dotfiles/system/pictures/wallpaper/nazarรฉ-portugal.jpg
+++ b/dotfiles/common/pictures/wallpaper/nazarรฉ-portugal.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/no-exit.jpg b/dotfiles/common/pictures/wallpaper/no-exit.jpg
index 9e5c190..9e5c190 100644
--- a/dotfiles/system/pictures/wallpaper/no-exit.jpg
+++ b/dotfiles/common/pictures/wallpaper/no-exit.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/nola-post-hurricane-ida.jpg b/dotfiles/common/pictures/wallpaper/nola-post-hurricane-ida.jpg
index f773a06..f773a06 100644
--- a/dotfiles/system/pictures/wallpaper/nola-post-hurricane-ida.jpg
+++ b/dotfiles/common/pictures/wallpaper/nola-post-hurricane-ida.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/notre-dame-paris-france.jpg b/dotfiles/common/pictures/wallpaper/notre-dame-paris-france.jpg
index 70c270c..70c270c 100644
--- a/dotfiles/system/pictures/wallpaper/notre-dame-paris-france.jpg
+++ b/dotfiles/common/pictures/wallpaper/notre-dame-paris-france.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/oak-plantation.jpg b/dotfiles/common/pictures/wallpaper/oak-plantation.jpg
index 1e8a58c..1e8a58c 100644
--- a/dotfiles/system/pictures/wallpaper/oak-plantation.jpg
+++ b/dotfiles/common/pictures/wallpaper/oak-plantation.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/paddling-out.jpg b/dotfiles/common/pictures/wallpaper/paddling-out.jpg
index 500c70c..500c70c 100644
--- a/dotfiles/system/pictures/wallpaper/paddling-out.jpg
+++ b/dotfiles/common/pictures/wallpaper/paddling-out.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/painswick-from-inside.png b/dotfiles/common/pictures/wallpaper/painswick-from-inside.png
index f189309..f189309 100644
--- a/dotfiles/system/pictures/wallpaper/painswick-from-inside.png
+++ b/dotfiles/common/pictures/wallpaper/painswick-from-inside.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/paris-in-royal-colors.jpg b/dotfiles/common/pictures/wallpaper/paris-in-royal-colors.jpg
index 472b21a..472b21a 100644
--- a/dotfiles/system/pictures/wallpaper/paris-in-royal-colors.jpg
+++ b/dotfiles/common/pictures/wallpaper/paris-in-royal-colors.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/petit-piton-st-lucia.jpg b/dotfiles/common/pictures/wallpaper/petit-piton-st-lucia.jpg
index 64cb9b8..64cb9b8 100644
--- a/dotfiles/system/pictures/wallpaper/petit-piton-st-lucia.jpg
+++ b/dotfiles/common/pictures/wallpaper/petit-piton-st-lucia.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg b/dotfiles/common/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg
index 5a5da19..5a5da19 100644
--- a/dotfiles/system/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg
+++ b/dotfiles/common/pictures/wallpaper/reading-room-new-york-public-library-new-york-us.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/remote.jpg b/dotfiles/common/pictures/wallpaper/remote.jpg
index c9ec08e..c9ec08e 100644
--- a/dotfiles/system/pictures/wallpaper/remote.jpg
+++ b/dotfiles/common/pictures/wallpaper/remote.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/sacre-coeur-paris-france.jpg b/dotfiles/common/pictures/wallpaper/sacre-coeur-paris-france.jpg
index a38d08c..a38d08c 100644
--- a/dotfiles/system/pictures/wallpaper/sacre-coeur-paris-france.jpg
+++ b/dotfiles/common/pictures/wallpaper/sacre-coeur-paris-france.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/saint-sรฉverin-france.jpg b/dotfiles/common/pictures/wallpaper/saint-sรฉverin-france.jpg
index 42b28fe..42b28fe 100644
--- a/dotfiles/system/pictures/wallpaper/saint-sรฉverin-france.jpg
+++ b/dotfiles/common/pictures/wallpaper/saint-sรฉverin-france.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/save-yourself.jpg b/dotfiles/common/pictures/wallpaper/save-yourself.jpg
index 9a72c42..9a72c42 100644
--- a/dotfiles/system/pictures/wallpaper/save-yourself.jpg
+++ b/dotfiles/common/pictures/wallpaper/save-yourself.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/saves-more-than-text.png b/dotfiles/common/pictures/wallpaper/saves-more-than-text.png
index e585a82..e585a82 100644
--- a/dotfiles/system/pictures/wallpaper/saves-more-than-text.png
+++ b/dotfiles/common/pictures/wallpaper/saves-more-than-text.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg b/dotfiles/common/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg
index 39cc6c2..39cc6c2 100644
--- a/dotfiles/system/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg
+++ b/dotfiles/common/pictures/wallpaper/saville-dam-barkhamsted-connecticut-us.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg b/dotfiles/common/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg
index b480c93..b480c93 100644
--- a/dotfiles/system/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg
+++ b/dotfiles/common/pictures/wallpaper/sexy-curvy-beautiful-bottom.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/stalenhag-cartesian-skepticism.png b/dotfiles/common/pictures/wallpaper/stalenhag-cartesian-skepticism.png
index 4abe2e8..4abe2e8 100644
--- a/dotfiles/system/pictures/wallpaper/stalenhag-cartesian-skepticism.png
+++ b/dotfiles/common/pictures/wallpaper/stalenhag-cartesian-skepticism.png
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/that-one-up-there.jpg b/dotfiles/common/pictures/wallpaper/that-one-up-there.jpg
index ea5d277..ea5d277 100644
--- a/dotfiles/system/pictures/wallpaper/that-one-up-there.jpg
+++ b/dotfiles/common/pictures/wallpaper/that-one-up-there.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/the-arc.jpg b/dotfiles/common/pictures/wallpaper/the-arc.jpg
index 0b3252f..0b3252f 100644
--- a/dotfiles/system/pictures/wallpaper/the-arc.jpg
+++ b/dotfiles/common/pictures/wallpaper/the-arc.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/the-nomad-lounge-nyc.jpg b/dotfiles/common/pictures/wallpaper/the-nomad-lounge-nyc.jpg
index 8f91b6b..8f91b6b 100644
--- a/dotfiles/system/pictures/wallpaper/the-nomad-lounge-nyc.jpg
+++ b/dotfiles/common/pictures/wallpaper/the-nomad-lounge-nyc.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/tlulum-mexico.jpg b/dotfiles/common/pictures/wallpaper/tlulum-mexico.jpg
index 29c645e..29c645e 100644
--- a/dotfiles/system/pictures/wallpaper/tlulum-mexico.jpg
+++ b/dotfiles/common/pictures/wallpaper/tlulum-mexico.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg b/dotfiles/common/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg
index 9dca336..9dca336 100644
--- a/dotfiles/system/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg
+++ b/dotfiles/common/pictures/wallpaper/trinity-college-library-dublin-ireland.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/trondheim-norway.jpg b/dotfiles/common/pictures/wallpaper/trondheim-norway.jpg
index 5a458d6..5a458d6 100644
--- a/dotfiles/system/pictures/wallpaper/trondheim-norway.jpg
+++ b/dotfiles/common/pictures/wallpaper/trondheim-norway.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/twenty-thousand-years.jpg b/dotfiles/common/pictures/wallpaper/twenty-thousand-years.jpg
index ae6c55c..ae6c55c 100644
--- a/dotfiles/system/pictures/wallpaper/twenty-thousand-years.jpg
+++ b/dotfiles/common/pictures/wallpaper/twenty-thousand-years.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/valldemossa-spain.jpg b/dotfiles/common/pictures/wallpaper/valldemossa-spain.jpg
index 1169c19..1169c19 100644
--- a/dotfiles/system/pictures/wallpaper/valldemossa-spain.jpg
+++ b/dotfiles/common/pictures/wallpaper/valldemossa-spain.jpg
Binary files differ
diff --git a/dotfiles/system/pictures/wallpaper/zendopeak.jpg b/dotfiles/common/pictures/wallpaper/zendopeak.jpg
index 293e95d..293e95d 100644
--- a/dotfiles/system/pictures/wallpaper/zendopeak.jpg
+++ b/dotfiles/common/pictures/wallpaper/zendopeak.jpg
Binary files differ
diff --git a/dotfiles/system/.gnupg/gpg-agent.conf b/dotfiles/dwm/.gnupg/gpg-agent.conf
index 6448665..6448665 100644
--- a/dotfiles/system/.gnupg/gpg-agent.conf
+++ b/dotfiles/dwm/.gnupg/gpg-agent.conf
diff --git a/dotfiles/system/.gnupg/pinentry-dmenu.conf b/dotfiles/dwm/.gnupg/pinentry-dmenu.conf
index d931896..ccd4d55 100644
--- a/dotfiles/system/.gnupg/pinentry-dmenu.conf
+++ b/dotfiles/dwm/.gnupg/pinentry-dmenu.conf
@@ -1,6 +1,6 @@
asterisk= "* ";
prompt = "$";
-font = "Fira Code Nerd Font Mono:size=12";
+font = "BerkeleyMono Nerd Font:size=12";
prompt_fg = "#eeeeee";
prompt_bg = "#d9904a";
normal_fg = "#ffffff";
diff --git a/dotfiles/system/.local/bin/airplanemodetoggle b/dotfiles/dwm/.local/bin/airplanemodetoggle
index 038a0d6..038a0d6 100755
--- a/dotfiles/system/.local/bin/airplanemodetoggle
+++ b/dotfiles/dwm/.local/bin/airplanemodetoggle
diff --git a/dotfiles/system/.local/bin/brightness b/dotfiles/dwm/.local/bin/brightness
index 9142f33..9142f33 100755
--- a/dotfiles/system/.local/bin/brightness
+++ b/dotfiles/dwm/.local/bin/brightness
diff --git a/dotfiles/system/.local/bin/colorpick b/dotfiles/dwm/.local/bin/colorpick
index b5e1aff..b5e1aff 100755
--- a/dotfiles/system/.local/bin/colorpick
+++ b/dotfiles/dwm/.local/bin/colorpick
diff --git a/dotfiles/system/.local/bin/dmenuexitmenu b/dotfiles/dwm/.local/bin/dmenuexitmenu
index 5570364..5570364 100755
--- a/dotfiles/system/.local/bin/dmenuexitmenu
+++ b/dotfiles/dwm/.local/bin/dmenuexitmenu
diff --git a/dotfiles/system/.local/bin/dmenuunicode b/dotfiles/dwm/.local/bin/dmenuunicode
index b25876f..b25876f 100755
--- a/dotfiles/system/.local/bin/dmenuunicode
+++ b/dotfiles/dwm/.local/bin/dmenuunicode
diff --git a/dotfiles/system/.local/bin/screenshotmenu b/dotfiles/dwm/.local/bin/screenshotmenu
index c899dfc..c899dfc 100755
--- a/dotfiles/system/.local/bin/screenshotmenu
+++ b/dotfiles/dwm/.local/bin/screenshotmenu
diff --git a/dotfiles/system/.local/bin/toggle-touchpad b/dotfiles/dwm/.local/bin/toggle-touchpad
index 9dde99b..9dde99b 100755
--- a/dotfiles/system/.local/bin/toggle-touchpad
+++ b/dotfiles/dwm/.local/bin/toggle-touchpad
diff --git a/dotfiles/system/.local/bin/wallsearch b/dotfiles/dwm/.local/bin/wallsearch
index f71d150..f71d150 100755
--- a/dotfiles/system/.local/bin/wallsearch
+++ b/dotfiles/dwm/.local/bin/wallsearch
diff --git a/dotfiles/system/.local/share/applications/dwm.desktop b/dotfiles/dwm/.local/share/applications/dwm.desktop
index ba3bd00..ba3bd00 100644
--- a/dotfiles/system/.local/share/applications/dwm.desktop
+++ b/dotfiles/dwm/.local/share/applications/dwm.desktop
diff --git a/dotfiles/system/.local/share/applications/emacsclient-mail.desktop b/dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop
index 6efcf61..6efcf61 100644
--- a/dotfiles/system/.local/share/applications/emacsclient-mail.desktop
+++ b/dotfiles/dwm/.local/share/applications/emacsclient-mail.desktop
diff --git a/dotfiles/system/.local/share/applications/file.desktop b/dotfiles/dwm/.local/share/applications/file.desktop
index 5df1633..5df1633 100644
--- a/dotfiles/system/.local/share/applications/file.desktop
+++ b/dotfiles/dwm/.local/share/applications/file.desktop
diff --git a/dotfiles/system/.local/share/applications/img.desktop b/dotfiles/dwm/.local/share/applications/img.desktop
index 42aa81e..42aa81e 100644
--- a/dotfiles/system/.local/share/applications/img.desktop
+++ b/dotfiles/dwm/.local/share/applications/img.desktop
diff --git a/dotfiles/system/.local/share/applications/lock-screen.desktop b/dotfiles/dwm/.local/share/applications/lock-screen.desktop
index 2bd7afa..2bd7afa 100644
--- a/dotfiles/system/.local/share/applications/lock-screen.desktop
+++ b/dotfiles/dwm/.local/share/applications/lock-screen.desktop
diff --git a/dotfiles/system/.local/share/applications/logout.desktop b/dotfiles/dwm/.local/share/applications/logout.desktop
index 8c3bc3a..8c3bc3a 100644
--- a/dotfiles/system/.local/share/applications/logout.desktop
+++ b/dotfiles/dwm/.local/share/applications/logout.desktop
diff --git a/dotfiles/system/.local/share/applications/mail.desktop b/dotfiles/dwm/.local/share/applications/mail.desktop
index d24aea2..d24aea2 100644
--- a/dotfiles/system/.local/share/applications/mail.desktop
+++ b/dotfiles/dwm/.local/share/applications/mail.desktop
diff --git a/dotfiles/system/.local/share/applications/pdf.desktop b/dotfiles/dwm/.local/share/applications/pdf.desktop
index 8c38677..8c38677 100644
--- a/dotfiles/system/.local/share/applications/pdf.desktop
+++ b/dotfiles/dwm/.local/share/applications/pdf.desktop
diff --git a/dotfiles/system/.local/share/applications/reboot.desktop b/dotfiles/dwm/.local/share/applications/reboot.desktop
index ae2c76e..ae2c76e 100644
--- a/dotfiles/system/.local/share/applications/reboot.desktop
+++ b/dotfiles/dwm/.local/share/applications/reboot.desktop
diff --git a/dotfiles/system/.local/share/applications/shutdown.desktop b/dotfiles/dwm/.local/share/applications/shutdown.desktop
index 2d93aa0..2d93aa0 100644
--- a/dotfiles/system/.local/share/applications/shutdown.desktop
+++ b/dotfiles/dwm/.local/share/applications/shutdown.desktop
diff --git a/dotfiles/system/.local/share/applications/suspend.desktop b/dotfiles/dwm/.local/share/applications/suspend.desktop
index ab8addf..ab8addf 100644
--- a/dotfiles/system/.local/share/applications/suspend.desktop
+++ b/dotfiles/dwm/.local/share/applications/suspend.desktop
diff --git a/dotfiles/system/.local/share/applications/text.desktop b/dotfiles/dwm/.local/share/applications/text.desktop
index 41ee05f..41ee05f 100644
--- a/dotfiles/system/.local/share/applications/text.desktop
+++ b/dotfiles/dwm/.local/share/applications/text.desktop
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index 13fa7f2..390d905 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -15,7 +15,7 @@ exec-once = waybar
exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg
exec-once = dunst
exec-once = hypridle
-exec-once = gammastep
+exec-once = gammastep-indicator
exec-once = blueman-applet
exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
@@ -28,6 +28,7 @@ exec-once = insync start
# Environment Variables
# ============================================================================
env = XCURSOR_SIZE,24
+env = XCURSOR_THEME,capitaine-cursors-light
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
@@ -134,7 +135,7 @@ bind = $mod, P, exec, fuzzel
bind = $mod, SPACE, exec, fuzzel
bind = $mod SHIFT, W, exec, $ALTBROWSER
bind = CTRL ALT, W, exec, tor-browser
-bind = CTRL ALT, F, exec, thunar
+bind = CTRL ALT, F, exec, nautilus
bind = $mod, V, exec, virtualbox
bind = $mod SHIFT, L, exec, calibre
bind = $mod SHIFT, R, exec, shortwave
@@ -303,10 +304,11 @@ bind = $mod, ESCAPE, exec, hyprlock
# Touchpad toggle
bind = $mod, F9, exec, toggle-touchpad
-# Exit/session (from DWM)
-bind = $mod SHIFT, Q, exec, printf "Exit\nCancel" | fuzzel --dmenu --prompt "Exit Hyprland? " | grep -q "Exit" && hyprctl dispatch exit
+# Exit/session
+bind = $mod SHIFT, Q, exec, pgrep -x wlogout || wlogout -b 3 -T 600 -B 600 -L 1200 -R 1200 -c 20 -r 20
bind = $mod SHIFT, BACKSPACE, exit
bind = $mod SHIFT, ESCAPE, exec, hyprctl reload
+bind = CTRL ALT $mod, K, exec, hyprctl kill
# Mouse bindings (from DWM buttons)
bindm = $mod, mouse:272, movewindow
diff --git a/dotfiles/hyprland/.config/wlogout/layout b/dotfiles/hyprland/.config/wlogout/layout
new file mode 100644
index 0000000..878e75d
--- /dev/null
+++ b/dotfiles/hyprland/.config/wlogout/layout
@@ -0,0 +1,36 @@
+{
+ "label" : "lock",
+ "action" : "hyprlock",
+ "text" : "๓ฐŒพ",
+ "keybind" : "l"
+}
+{
+ "label" : "logout",
+ "action" : "hyprctl dispatch exit",
+ "text" : "๓ฐƒ",
+ "keybind" : "e"
+}
+{
+ "label" : "suspend",
+ "action" : "systemctl suspend",
+ "text" : "๓ฐ’ฒ",
+ "keybind" : "u"
+}
+{
+ "label" : "hibernate",
+ "action" : "systemctl hibernate",
+ "text" : "๓ฐ–”",
+ "keybind" : "h"
+}
+{
+ "label" : "reboot",
+ "action" : "systemctl reboot",
+ "text" : "๓ฐœ‰",
+ "keybind" : "r"
+}
+{
+ "label" : "shutdown",
+ "action" : "systemctl poweroff",
+ "text" : "๓ฐฅ",
+ "keybind" : "s"
+}
diff --git a/dotfiles/hyprland/.config/wlogout/style.css b/dotfiles/hyprland/.config/wlogout/style.css
new file mode 100644
index 0000000..658e3c9
--- /dev/null
+++ b/dotfiles/hyprland/.config/wlogout/style.css
@@ -0,0 +1,37 @@
+/* wlogout style - Dupre theme */
+/* Dupre palette:
+ bg: #151311, black: #252321, br_black: #474544, muted: #58574e
+ steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f
+ red: #d47c59, green: #a4ac64, blue: #67809c, magenta: #b294bb
+*/
+
+* {
+ background-image: none;
+ box-shadow: none;
+ font-family: "BerkeleyMono Nerd Font", monospace;
+}
+
+window {
+ background-color: rgba(21, 19, 17, 0.6);
+}
+
+button {
+ border-radius: 10px;
+ border-color: #151311;
+ color: #969385;
+ background-color: #151311;
+ border-style: solid;
+ border-width: 2px;
+ font-size: 96px;
+}
+
+button:hover, button:focus {
+ background-color: #151311;
+ border-color: #d7af5f;
+ color: #d7af5f;
+ outline-style: none;
+}
+
+button:active {
+ background-color: #474544;
+}
diff --git a/dotfiles/hyprland/.config/wofi/power-menu.css b/dotfiles/hyprland/.config/wofi/power-menu.css
new file mode 100644
index 0000000..a9dd9ba
--- /dev/null
+++ b/dotfiles/hyprland/.config/wofi/power-menu.css
@@ -0,0 +1,65 @@
+/* Wofi power menu - Dupre theme */
+/* Dupre palette:
+ bg: #151311, black: #252321, br_black: #474544, muted: #58574e
+ steel: #969385, white: #d0cbc0, fg: #f0fef0, gold: #d7af5f
+*/
+
+* {
+ font-family: "BerkeleyMono Nerd Font", monospace;
+}
+
+window {
+ margin: 0px;
+ border: 2px solid #67809c;
+ border-radius: 0px;
+ background-color: rgba(21, 19, 17, 0.9);
+}
+
+#input {
+ margin: 0px;
+ padding: 0px;
+ border: none;
+ background-color: transparent;
+ color: transparent;
+ min-height: 0px;
+}
+
+#inner-box {
+ margin: 15px;
+}
+
+#outer-box {
+ margin: 0px;
+ padding: 0px;
+}
+
+#scroll {
+ margin: 0px;
+}
+
+#text {
+ padding: 15px;
+ color: #969385;
+ font-size: 32px;
+}
+
+#entry box {
+ justify-content: center;
+ align-items: center;
+}
+
+#entry {
+ border-radius: 0px;
+ background-color: #151311;
+ border: 2px solid #474544;
+ margin: 5px;
+}
+
+#entry:selected {
+ background-color: #252321;
+ border-color: #67809c;
+}
+
+#entry:selected #text {
+ color: #67809c;
+}
diff --git a/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop b/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/android-file-transfer.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/arandr.desktop b/dotfiles/hyprland/.local/share/applications/arandr.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/arandr.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop b/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/avahi-discover.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop b/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/blueman-adapters.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop b/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/blueman-manager.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/bssh.desktop b/dotfiles/hyprland/.local/share/applications/bssh.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/bssh.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/bvnc.desktop b/dotfiles/hyprland/.local/share/applications/bvnc.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/bvnc.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/caffeine.desktop b/dotfiles/hyprland/.local/share/applications/caffeine.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/caffeine.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop b/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/calibre-ebook-edit.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop b/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop
new file mode 100644
index 0000000..0dbe42d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/calibre-ebook-viewer.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Calibre E-book Viewer
+GenericName=Viewer for E-books
+Comment=Viewer for E-books in all the major formats
+TryExec=ebook-viewer
+Exec=ebook-viewer --detach %f
+Icon=calibre-viewer
+Categories=Office;Viewer;
+Keywords=epub;ebook;viewer;
+MimeType=application/epub+zip;application/ereader;application/oebps-package+xml;application/vnd.ctc-posml;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/x-cb7;application/x-cbc;application/x-cbr;application/x-cbz;application/x-mobi8-ebook;application/x-mobipocket-ebook;application/x-mobipocket-subscription;application/x-sony-bbeb;image/vnd.djvu;
diff --git a/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop b/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/calibre-lrfviewer.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop b/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/cmake-gui.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/compton.desktop b/dotfiles/hyprland/.local/share/applications/compton.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/compton.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/conky.desktop b/dotfiles/hyprland/.local/share/applications/conky.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/conky.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/cups.desktop b/dotfiles/hyprland/.local/share/applications/cups.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/cups.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/dwm.desktop b/dotfiles/hyprland/.local/share/applications/dwm.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/dwm.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop b/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/emacs-mail.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop b/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/emacsclient-mail.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/file.desktop b/dotfiles/hyprland/.local/share/applications/file.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/file.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/foot-server.desktop b/dotfiles/hyprland/.local/share/applications/foot-server.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/foot-server.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/footclient.desktop b/dotfiles/hyprland/.local/share/applications/footclient.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/footclient.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop b/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gammastep-indicator.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gammastep.desktop b/dotfiles/hyprland/.local/share/applications/gammastep.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gammastep.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop b/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gcr-prompter.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop b/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gcr-viewer.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop b/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/geoclue-demo-agent.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop b/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/geoclue-where-am-i.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop b/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gkbd-keyboard-display.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/google-chrome.desktop b/dotfiles/hyprland/.local/share/applications/google-chrome.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/google-chrome.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/google-maps-geo-handler.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop b/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/gtk-lshw.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/htop.desktop b/dotfiles/hyprland/.local/share/applications/htop.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/htop.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/hy3-util.desktop b/dotfiles/hyprland/.local/share/applications/hy3-util.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/hy3-util.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/hyprland.desktop b/dotfiles/hyprland/.local/share/applications/hyprland.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/hyprland.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/img.desktop b/dotfiles/hyprland/.local/share/applications/img.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/img.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/insync-helper.desktop b/dotfiles/hyprland/.local/share/applications/insync-helper.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/insync-helper.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/ipython.desktop b/dotfiles/hyprland/.local/share/applications/ipython.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/ipython.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jconsole.desktop b/dotfiles/hyprland/.local/share/applications/jconsole.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/jconsole.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jshell.desktop b/dotfiles/hyprland/.local/share/applications/jshell.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/jshell.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop b/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/jvisualvm.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop b/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/libreoffice-base.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lock-screen.desktop b/dotfiles/hyprland/.local/share/applications/lock-screen.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/lock-screen.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/logout.desktop b/dotfiles/hyprland/.local/share/applications/logout.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/logout.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lstopo.desktop b/dotfiles/hyprland/.local/share/applications/lstopo.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/lstopo.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/lxappearance.desktop b/dotfiles/hyprland/.local/share/applications/lxappearance.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/lxappearance.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/mail.desktop b/dotfiles/hyprland/.local/share/applications/mail.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/mail.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop b/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/nautilus-autorun-software.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nm-applet.desktop b/dotfiles/hyprland/.local/share/applications/nm-applet.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/nm-applet.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop b/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/nm-connection-editor.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/nsxiv.desktop b/dotfiles/hyprland/.local/share/applications/nsxiv.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/nsxiv.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/openstreetmap-geo-handler.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop b/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.flameshot.Flameshot.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop b/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.freedesktop.Xwayland.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop b/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.gnome.Zenity.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.gnupg.pinentry-qt5.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop b/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.kde.polkit-kde-authentication-agent-1.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-cb.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-djvu.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/org.pwmt.zathura-pdf-mupdf.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/pdf.desktop b/dotfiles/hyprland/.local/share/applications/pdf.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/pdf.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/picom.desktop b/dotfiles/hyprland/.local/share/applications/picom.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/picom.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop b/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/proton-bridge.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qt5ct.desktop b/dotfiles/hyprland/.local/share/applications/qt5ct.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/qt5ct.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qt6ct.desktop b/dotfiles/hyprland/.local/share/applications/qt6ct.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/qt6ct.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qv4l2.desktop b/dotfiles/hyprland/.local/share/applications/qv4l2.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/qv4l2.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/qvidcap.desktop b/dotfiles/hyprland/.local/share/applications/qvidcap.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/qvidcap.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/ranger.desktop b/dotfiles/hyprland/.local/share/applications/ranger.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/ranger.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/reboot.desktop b/dotfiles/hyprland/.local/share/applications/reboot.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/reboot.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop b/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/redshift-gtk.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/redshift.desktop b/dotfiles/hyprland/.local/share/applications/redshift.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/redshift.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop b/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/rofi-theme-selector.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/rofi.desktop b/dotfiles/hyprland/.local/share/applications/rofi.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/rofi.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/shutdown.desktop b/dotfiles/hyprland/.local/share/applications/shutdown.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/shutdown.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/suspend.desktop b/dotfiles/hyprland/.local/share/applications/suspend.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/suspend.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/text.desktop b/dotfiles/hyprland/.local/share/applications/text.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/text.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop b/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/thunar-bulk-rename.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop b/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/thunar-settings.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/thunar.desktop b/dotfiles/hyprland/.local/share/applications/thunar.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/thunar.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop b/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/torbrowser-settings.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop b/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/user-dirs-update-gtk.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/vim.desktop b/dotfiles/hyprland/.local/share/applications/vim.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/vim.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop b/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/wheelmap-geo-handler.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xcolor.desktop b/dotfiles/hyprland/.local/share/applications/xcolor.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xcolor.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop b/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xdg-desktop-portal-gtk.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xdvi.desktop b/dotfiles/hyprland/.local/share/applications/xdvi.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xdvi.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop b/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xfce4-about.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xgps.desktop b/dotfiles/hyprland/.local/share/applications/xgps.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xgps.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop b/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop
new file mode 100644
index 0000000..5829b2d
--- /dev/null
+++ b/dotfiles/hyprland/.local/share/applications/xgpsspeed.desktop
@@ -0,0 +1,2 @@
+[Desktop Entry]
+NoDisplay=true
diff --git a/dotfiles/hyprland/.profile.d/hyprland.sh b/dotfiles/hyprland/.profile.d/hyprland.sh
new file mode 100644
index 0000000..be15b02
--- /dev/null
+++ b/dotfiles/hyprland/.profile.d/hyprland.sh
@@ -0,0 +1,14 @@
+# Hyprland profile settings
+# These override X11 settings from .profile when running Wayland
+
+# Terminal (foot instead of st)
+export TERM="xterm-256color"
+export TERMINAL="foot"
+
+# XDG overrides for Wayland
+export XDG_CURRENT_DESKTOP=Hyprland
+export XDG_SESSION_TYPE=wayland
+export XDG_SESSION_DESKTOP=Hyprland
+
+# alias startx to start Hyprland (muscle memory from X11)
+alias startx="start-hyprland"
diff --git a/dotfiles/system/.bashrc b/dotfiles/system/.bashrc
deleted file mode 100644
index b5290cd..0000000
--- a/dotfiles/system/.bashrc
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-# cjennings .bashrc
-
-# tells shellcheck not to follow references to other files
-# shellcheck source=/dev/null
-
-# If not running interactively, don't do anything
-case $- in
- *i*) ;;
- *) return;;
-esac
-
-# env variables, aliases, and functions that are not bash specific
-source "$HOME"/.profile
-
-# don't put duplicate lines or lines starting with space in the history.
-HISTCONTROL=ignoreboth
-
-# infinite history
-HISTSIZE=HISTFILESIZE=
-
-# append and reload the history after each command
-PROMPT_COMMAND="history -a; history -n"
-
-# ignore the following commands from the history
-HISTIGNORE="ls:ll:cd:pwd:bg:fg:history"
-
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=100000
-HISTFILESIZE=10000000
-
-# append to the history file, don't overwrite it
-shopt -s histappend
-
-# cd to directory by typing its name
-shopt -s autocd
-
-# check window size after each command + update LINES and COLUMNS values.
-shopt -s checkwinsize
-
-# enable programmable completion features
-if ! shopt -oq posix; then
- if [ -f /usr/share/bash-completion/bash_completion ]; then
- . /usr/share/bash-completion/bash_completion
- elif [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
- fi
-fi
-if [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
-fi
-
-export PS1="[\d, \t] \u@\H:\w \n$ "
-
-source "$HOME"/.profile
-
-[ -f "$HOME"/.fzf.bash ] && source "$HOME"/.fzf.bash
-. "/home/cjennings/.deno/env"
-source /home/cjennings/.local/share/bash-completion/completions/deno.bash \ No newline at end of file
diff --git a/dotfiles/system/.config/.cmailpass.gpg b/dotfiles/system/.config/.cmailpass.gpg
deleted file mode 100644
index e2f102e..0000000
--- a/dotfiles/system/.config/.cmailpass.gpg
+++ /dev/null
@@ -1 +0,0 @@
-Œ  ศL’FเฮาLJEใกdM0ฺ+G 5nnว]ฎ›‹ึ๔โŸ๗›)>{\จ›\K๘Zดศ˜Gย>Zฤ—สำถKv!ๅ“ำ>€Wณ’~< \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/app-internal-state.db b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/app-internal-state.db
deleted file mode 100644
index 656dfd5..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/app-internal-state.db
+++ /dev/null
Binary files differ
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/early-access-registry.txt b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/early-access-registry.txt
deleted file mode 100644
index 644afaf..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/early-access-registry.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-ide.experimental.ui
-true
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/colors.scheme.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/colors.scheme.xml
deleted file mode 100644
index 19c4baa..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/colors.scheme.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<application>
- <component name="EditorColorsManagerImpl">
- <global_color_scheme name="Dark" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/console-font.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/console-font.xml
deleted file mode 100644
index 2c67ad2..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/console-font.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<application>
- <component name="ConsoleFont">
- <option name="VERSION" value="1" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor-font.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor-font.xml
deleted file mode 100644
index f03edf7..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor-font.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<application>
- <component name="DefaultFont">
- <option name="VERSION" value="1" />
- <option name="FONT_SIZE" value="20" />
- <option name="FONT_SIZE_2D" value="19.5" />
- <option name="FONT_SCALE" value="1.5" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor.xml
deleted file mode 100644
index b43f2d4..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/editor.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<application>
- <component name="CodeInsightSettings">
- <option name="REFORMAT_ON_PASTE" value="1" />
- <option name="INDENT_TO_CARET_ON_PASTE" value="true" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/features.usage.statistics.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/features.usage.statistics.xml
deleted file mode 100644
index ac11abf..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/features.usage.statistics.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<application>
- <component name="FeatureUsageStatistics" first-run="1731435818931" have-been-shown="false" show-in-other="true" show-in-compilation="true">
- <feature id="editing.completion.camelHumps" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.clipboard.history" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.compare.editor.with.clipboard" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.surroundwith.statement" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="refactoring.rename" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.action" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.goto.file.line" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="refactoring.show.quick.list" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.cancelByControlArrows" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.symbol" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="find.recent.search" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="switcher" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.replace" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.complete.statement" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.goto.inspection" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.show.local.history" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.show.quick.list" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.use.integration" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.file" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.overrideimplement" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.close.all.editors" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.wildcards" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.convert.line.separators" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="refactoring.introduceVariable" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="refactoring.extractMethod" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.generate.code" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.recent.files" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.goto.declaration" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="scratch" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.finishByDotEtc" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.open.project.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.join.lines" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.pull.requests" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.annotate" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="debugger.breakpoint.non.suspending" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.finishByCtrlDot" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.context.actions" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.open.last.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.select.in" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.reformat.code" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.show.liveTemplates" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.copy.line" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.find.in.files" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.tree.speedsearch" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.horizontal.scrolling" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.replace" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.hide.tool.window" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.find.replace.in.files.toggle" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="intentions.check.regexp" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="profiler.open.snapshot" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.comment.line" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.camelprefix" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="SearchEverywhere" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.class" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editor.delete.line" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.parameterInfo" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.inheritance.hierarchy" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.duplicate" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.copy.reference" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.find" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="find.completion" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.quickdefinition" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.basic" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="tag.name.completion" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.postfix" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="refactoring.introduceVariable.incompleteStatement" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="vcs.compare.file.versions" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.find.replace.toggle" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="dir.diff" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.recent.locations" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.select.word" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.add.carets.using.double.ctrl" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.close.other.editors" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="debugger.evaluate.expression" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.quickjavadoc.lookup" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.scheme.quickswitch" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.replace.in.files" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.highlight.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="debugger.breakpoint.edit" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassist.inspect.batch" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.popup.file.structure" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.liveTemplates" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.quickjavadoc.ctrln" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.goto.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.quickjavadoc" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="ui.recentchanges" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="intentions.edit.regexp" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.move.statement.up.down" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="editing.completion.changeSorting" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="codeassists.quickdefinition.lookup" count="0" last-shown="0" last-used="0" shown-count="0" />
- <feature id="navigation.find.usages" count="0" last-shown="0" last-used="0" shown-count="0" />
- <completionStatsTag />
- <fixesStatsTag />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/filetypes.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/filetypes.xml
deleted file mode 100644
index 099baf9..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/filetypes.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<application>
- <component name="FileTypeManager" version="19">
- <ignoreFiles list="*$py.class;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.mypy_cache;.pytest_cache;.ruff_cache;.svn;CVS;__pycache__;_svn;vssver.scc;vssver2.scc" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide-features-trainer.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide-features-trainer.xml
deleted file mode 100644
index 54b8902..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide-features-trainer.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<application>
- <component name="LessonStateBase">
- <option name="map">
- <map>
- <entry key="python.onboarding" value="NOT_PASSED" />
- </map>
- </option>
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide.general.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide.general.xml
deleted file mode 100644
index 1df1fe5..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/ide.general.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<application>
- <component name="Registry">
- <entry key="ide.experimental.ui" value="true" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/log-categories.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/log-categories.xml
deleted file mode 100644
index 3ff0f01..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/log-categories.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<application>
- <component name="Logs.Categories"><![CDATA[{}]]></component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/other.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/other.xml
deleted file mode 100644
index 76bc172..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/other.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<application>
- <component name="LangManager">
- <option name="languageName" value="Python" />
- </component>
- <component name="NotRoamableUiSettings">
- <option name="presentationModeIdeScale" value="1.75" />
- </component>
- <component name="PropertyService"><![CDATA[{
- "keyToString": {
- "PyCharm.InitialConfiguration": "true",
- "PyCharm.InitialConfiguration.V2": "true",
- "PyCharm.InitialConfiguration.V3": "true",
- "PyCharm.InitialConfiguration.V4": "true",
- "PyCharm.InitialConfiguration.V5": "true",
- "PyCharm.InitialConfiguration.V6": "true",
- "PyCharm.InitialConfiguration.V7": "true",
- "PyCharm.InitialConfiguration.V8": "true",
- "ask.about.ctrl.y.shortcut.v2": "true",
- "experimental.ui.on.first.startup": "true",
- "experimental.ui.used.version": "241.18968.29",
- "experimentalFeature.terminal.shell.command.handling": "false",
- "fileTypeChangedCounter": "2",
- "fontSizeToResetConsole": "19.5",
- "fontSizeToResetEditor": "19.5",
- "ift.hide.welcome.screen.promo": "true",
- "input.method.disabler.muted": "true",
- "previousColorScheme": "_@user_Dark"
- },
- "keyToStringList": {
- "fileTypeDetectors": [
- "com.intellij.ide.scratch.ScratchFileServiceImpl$Detector",
- "org.jetbrains.plugins.textmate.TextMateFileType$TextMateFileDetector"
- ]
- }
-}]]></component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/settingsSync.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/settingsSync.xml
deleted file mode 100644
index 6c9eb82..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/settingsSync.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<application>
- <component name="SettingsSyncSettings">
- <option name="migrationFromOldStorageChecked" value="true" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/updates.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/updates.xml
deleted file mode 100644
index 089dbf6..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/updates.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<application>
- <component name="UpdatesConfigurable">
- <option name="LAST_BUILD_CHECKED" value="PC-241.18968.29" />
- <option name="LAST_TIME_CHECKED" value="1731435821159" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/window.state.xml b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/window.state.xml
deleted file mode 100644
index 078d8f1..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/options/window.state.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<application>
- <component name="WindowStateApplicationService">
- <state x="1128" y="768" width="2256" height="1471" key="WELCOME_SCREEN" timestamp="1731435832726">
- <screen x="0" y="0" width="2256" height="1504" />
- </state>
- <state x="1128" y="768" width="2256" height="1471" key="WELCOME_SCREEN/0.0.2256.1504" timestamp="1731435832726" />
- </component>
-</application> \ No newline at end of file
diff --git a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/updatedBrokenPlugins.db b/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/updatedBrokenPlugins.db
deleted file mode 100644
index 63a47f8..0000000
--- a/dotfiles/system/.config/JetBrains/PyCharmCE2024.1/updatedBrokenPlugins.db
+++ /dev/null
Binary files differ
diff --git a/dotfiles/system/.config/Thunar/accels.scm b/dotfiles/system/.config/Thunar/accels.scm
deleted file mode 100644
index 1428351..0000000
--- a/dotfiles/system/.config/Thunar/accels.scm
+++ /dev/null
@@ -1,138 +0,0 @@
-; thunar GtkAccelMap rc-file -*- scheme -*-
-; this file is an automated accelerator map dump
-;
-; (gtk_accel_path "<Actions>/ThunarDetailsView/expandable-folders" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/d773562babb56e1a529a1bd5d640df62" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/0210e6411e61004cc4c7c68612c8463b" "")
-; (gtk_accel_path "<Actions>/Thunarwindow/menu" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/f4268bf81222b9956e74a8c7903b31d1" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
-; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab-alt" "<Primary><Shift>ISO_Left_Tab")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
-; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
-(gtk_accel_path "<Actions>/ThunarWindow/close-window" "q")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
-; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
-; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
-; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/fd67aefaf5d114765fe8b24c4c89f7e9" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
-; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/b89949686b39b7851b3f8ca433368c2b" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
-; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/1ac44f6cd07428a163baf754f81a9849" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/f659214f67b5f81d4695959941c2fe11" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
-; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
-; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
-; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-hidden-count" "")
-; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
-; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
-; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
-; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
-; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
-; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/a15ad706188e797cac4c8dd8aa3b613e" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/8f10b72b429dd160dc70d6f7cc168a28" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
-; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
-; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
-; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
-; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")
-; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
-; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
-; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/dd7b2f7f1acb316e06e8de82ceff0f08" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
-; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
-; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
-; (gtk_accel_path "<Actions>/ThunarBookmarks/39adb4b734832c8ccc67032e77081c1f" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
-; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
-; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt2" "Back")
-; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt1" "BackSpace")
-; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
-; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
-; (gtk_accel_path "<Actions>/ThunarWindow/switch-focused-split-view-pane" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
-; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
-; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
-; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/search-alt" "Search")
-; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab-alt" "<Primary>Tab")
-; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
-; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
-; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
-; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
diff --git a/dotfiles/system/.config/Thunar/uca.xml b/dotfiles/system/.config/Thunar/uca.xml
deleted file mode 100644
index 0ade63f..0000000
--- a/dotfiles/system/.config/Thunar/uca.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<actions>
-<action>
- <icon>utilities-terminal</icon>
- <name>Open Terminal Here</name>
- <submenu></submenu>
- <unique-id>1731361150647694-1</unique-id>
- <command>exo-open --working-directory %f --launch TerminalEmulator</command>
- <description>Example for a custom action</description>
- <range></range>
- <patterns>*</patterns>
- <startup-notify/>
- <directories/>
-</action>
-</actions>
diff --git a/dotfiles/system/.config/ghostty/config b/dotfiles/system/.config/ghostty/config
deleted file mode 100644
index 68f8a15..0000000
--- a/dotfiles/system/.config/ghostty/config
+++ /dev/null
@@ -1,44 +0,0 @@
-# Ghostty configuration to match st terminal appearance
-
-# Font configuration (matching st)
-font-family = "Berkeley Mono"
-font-size = 12
-font-feature = ss01
-font-feature = ss02
-font-feature = ss03
-
-# Window appearance
-window-padding-x = 2
-window-padding-y = 2
-background-opacity = 0.8
-gtk-titlebar = false
-
-# Colors (matching st's color scheme)
-# Foreground: gray90, Background: black
-foreground = d9d9d9
-background = 000000
-
-# 16 ANSI colors (matching st config.def.h)
-palette = 0=#000000
-palette = 1=#cd0000
-palette = 2=#00cd00
-palette = 3=#cdcd00
-palette = 4=#0000ee
-palette = 5=#cd00cd
-palette = 6=#00cdcd
-palette = 7=#e5e5e5
-palette = 8=#7f7f7f
-palette = 9=#ff0000
-palette = 10=#00ff00
-palette = 11=#ffff00
-palette = 12=#5c5cff
-palette = 13=#ff00ff
-palette = 14=#00ffff
-palette = 15=#ffffff
-
-# Cursor configuration
-cursor-color = cccccc
-cursor-style = block
-
-# Keybindings
-keybind = shift+enter=text:\x1b\r
diff --git a/dotfiles/system/.config/lf/cleaner b/dotfiles/system/.config/lf/cleaner
deleted file mode 100755
index a184d84..0000000
--- a/dotfiles/system/.config/lf/cleaner
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-if [ -n "$FIFO_UEBERZUG" ]; then
- printf '{"action": "remove", "identifier": "PREVIEW"}\n' > "$FIFO_UEBERZUG"
-fi
diff --git a/dotfiles/system/.config/lf/draw_img b/dotfiles/system/.config/lf/draw_img
deleted file mode 100755
index 5a70d5e..0000000
--- a/dotfiles/system/.config/lf/draw_img
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env bash
-
-clear_screen() {
- printf '\e[%sH\e[9999C\e[1J%b\e[1;%sr' \
- "$((LINES-2))" "${TMUX:+\e[2J}" "$max_items"
-}
-
-# Get a file's mime_type.
-mime_type=$(file -bi "$1")
-
-# File isn't an image file, give warning.
-if [[ $mime_type != image/* ]]; then
- lf -remote "send $id echoerr 'Not an image'"
- exit
-fi
-
-w3m_paths=(/usr/{local/,}{lib,libexec,lib64,libexec64}/w3m/w3mi*)
-read -r w3m _ < <(type -p w3mimgdisplay "${w3m_paths[@]}")
-read -r LINES COLUMNS < <(stty size)
-
-# Get terminal window size in pixels and set it to WIDTH and HEIGHT.
-export $(xdotool getactivewindow getwindowgeometry --shell)
-
-# Get the image size in pixels.
-read -r img_width img_height < <("$w3m" <<< "5;${CACHE:-$1}")
-
-((img_width > WIDTH)) && {
- ((img_height=img_height*WIDTH/img_width))
- ((img_width=WIDTH))
-}
-
-((img_height > HEIGHT)) && {
- ((img_width=img_width*HEIGHT/img_height))
- ((img_height=HEIGHT))
-}
-
-# Variable needed for centering image.
-HALF_HEIGHT=$(expr $HEIGHT / 2)
-HALF_WIDTH=$(expr $WIDTH / 2)
-HALF_IMG_HEIGHT=$(expr $img_height / 2)
-HALF_IMG_WIDTH=$(expr $img_width / 2)
-X_POS=$(expr $HALF_WIDTH - $HALF_IMG_WIDTH)
-Y_POS=$(expr $HALF_HEIGHT - $HALF_IMG_HEIGHT)
-
-clear_screen
-# Hide the cursor.
-printf '\e[?25l'
-
-# Display the image.
-printf '0;1;%s;%s;%s;%s;;;;;%s\n3;\n4\n' \
- ${X_POS:-0} \
- ${Y_POS:-0} \
- "$img_width" \
- "$img_height" \
- "${CACHE:-$1}" | "$w3m" &>/dev/null
-
-# Wait for user input.
-read -ern 1
-
-# Clear the image.
-printf '6;%s;%s;%s;%s\n3;' \
- "${X_POS:-0}" \
- "${Y_POS:-0}" \
- "$WIDTH" \
- "$HEIGHT" | "$w3m" &>/dev/null
-
-clear_screen
diff --git a/dotfiles/system/.config/lf/image b/dotfiles/system/.config/lf/image
deleted file mode 100755
index 77ddb5b..0000000
--- a/dotfiles/system/.config/lf/image
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-readonly ID_PREVIEW="preview"
-main() {
- case "$1" in
- "clear")
- declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") \
- > "$FIFO_UEBERZUG"
- ;;
- "draw")
- declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" \
- [x]="$3" [y]="$4" [max_width]="$5" [max_height]="$6" \
- [path]="$2") > "$FIFO_UEBERZUG"
- ;;
- "*") echo "Unknown command: '$1', '$2'" ;;
- esac
-}
-main "$@"
-
diff --git a/dotfiles/system/.config/lf/lfrc b/dotfiles/system/.config/lf/lfrc
deleted file mode 100644
index 50f5af9..0000000
--- a/dotfiles/system/.config/lf/lfrc
+++ /dev/null
@@ -1,333 +0,0 @@
-# lffc
-# Craig Jennings <c@cjennings.net>
-#
-
-
-##########################################################################
-# BASIC SETTINGS #
-##########################################################################
-
-set ratios 1:2:3
-set cleaner ~/.config/lf/cleaner # path to cleaner script
-set previewer ~/.config/lf/preview # path to preview script
-set preview # turn on previews
-
-set nohidden # don't show hidden files. '.' toggles
-set incsearch true # incremental searching
-set drawbox # draw boxes around panes
-set noicons # turn on icons
-set ignorecase # ignore case in sorting & searching
-set filesep " " # separate files w/ space not newline
-
-set shell sh
-set shellopts '-eu'
-
-##########################################################################
-# REMOVE SOME DEFAULT BINDINGS #
-##########################################################################
-
-map m
-map o
-map n
-map "'"
-map '"'
-map d
-map c
-map e
-map f
-
-##########################################################################
-# BASIC COMMANDS #
-##########################################################################
-
-map . set hidden! # toggle hidden files
-map p paste
-map x cut
-map y copy
-map H top
-map L bottom
-map R reload
-map C clear
-map U unselect
-
-##########################################################################
-# LF CONFIG EDIT/NAV
-##########################################################################
-
-# LF CONFIG
-#edit lfrc
-map elf $$EDITOR ~/.config/lf/lfrc &!
-
-# goto lf dir
-map glf cd ~/.config/lf/
-
-# reload lfrc
-map <f-5> push :source<space>~/.config/lf/lfrc<enter>
-
-##########################################################################
-# CUSTOM COMMANDS #
-##########################################################################
-
-# SET WALLPAPER BACKGROUND
-map bg $feh --bg-fill "$f"
-
-# ROTATE IMAGE 90 degrees clockwise
-map 90 mogrify -rotate 90 "$f"
-
-# DETOX FILENAME
-map dtx $detox "$f"
-
-# COPY FILE PATH
-map Y $echo "$fx" | clip
-
-# ADD TO DOTFILES REPO
-map atd /usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME add "$f"
-
-
-##########################################################################
-# NAVIGATION / FILE MANAGEMENT #
-##########################################################################
-
-### MAIN
-map mh. $mv "$f" ~
-map ch. $cp "$f" ~
-map gh. cd ~
-
-map mdx $mv "$f" ~/documents
-map cdx $cp "$f" ~/documents
-map gdx cd ~/documents
-
-map mdl $mv "$f" ~/downloads
-map cdl $cp "$f" ~/downloads
-map gdl cd ~/downloads
-
-### PICTURES
-map mpx $mv "$f" ~/pictures
-map cpx $cp "$f" ~/pictures
-map gpx cd ~/pictures
-
-map mps $mv "$f" ~/pictures/screenshots
-map cps $cp "$f" ~/pictures/screenshots
-map gps cd ~/pictures/screenshots
-
-map mpw $mv "$f" ~/pictures/wallpaper
-map cpw $cp "$f" ~/pictures/wallpaper
-map gpw cd ~/pictures/wallpaper
-
-### MAME
-
-map mmr $mv "$f" ~/.mame/roms
-map cmr $cp "$f" ~/.mame/roms
-map gmr cd ~/.mame/roms
-map owm /usr/bin/mame "$f"
-
-### MISC
-map gtc cd ~/downloads/torrents/complete
-map gulb cd /usr/local/bin
-map gp0 cd ~/.vids
-map mp0 $mv "$f" ~/.vids
-
-map gmv cd ~/movies
-map mmv $mv "$f" ~/movies
-
-##########################################################################
-# OPEN WITH COMMANDS #
-##########################################################################
-
-# open with vlc video player (default: mpv)
-map owv $vlc "$f"
-
-# open with gimp (default: nsxiv)
-map owg $gimp "$f"
-
-# open with zathura (default emacs pdf-tools)
-map owz $zathura "$f"
-
-# open with audacious
-map owa $audacious "$f"
-
-##########################################################################
-# FILE OPERATION #
-##########################################################################
-
-
-# RENAME
-#
-cmd rename %[ -e $1 ] && printf "file exists" || mv "$f" $1
-map r push :rename<space>
-
-
-# OPEN
-#
-# Called when current file is not a directory.
-cmd open ${{
- # if text or json file
- case $(file --mime-type "$f" -bL) in
- text/*|application/json) $EDITOR "$f";;
-
- *) xdg-open "$f" ;;
- esac
-}}
-map <enter> open
-
-
-# DELETE
-#
-cmd delete $rm -rf "$fx"
-map dd delete
-
-map <delete> delete
-
-# MKDIR
-#
-cmd mkdir ${{
- printf "Directory Name: "
- read ans
- mkdir $ans
-}}
-map md mkdir
-
-
-# MKFILE
-#
-cmd mkfile ${{
- printf "File Name: "
- read ans
- $EDITOR $ans
-}}
-map mf mkfile
-
-
-# SUDO MKFILE
-#
-cmd sudomkfile ${{
- printf "File Name: "
- read ans
- sudo $EDITOR $ans
-}}
-map mr sudomkfile
-
-
-# CHMOD
-#
-cmd chmod ${{
- printf "Mode Bits: "
- read ans
- for file in "$fx"
- do
- chmod $ans $file
- done
- lf -remote 'send reload'
-}}
-map ch chmod
-
-
-######################################################################## #
-# COMPRESSION FUNCTIONS #
-######################################################################## #
-
-# EXTRACT
-cmd extract ${{
- case "$f" in
- *.tar.bz2) tar xjf "$f" ;;
- *.tar.gz) tar xzf "$f" ;;
- *.bz2) bunzip2 "$f" ;;
- *.rar) rar x "$f" ;;
- *.gz) gunzip "$f" ;;
- *.tar) tar xf "$f" ;;
- *.tbz2) tar xjf "$f" ;;
- *.tgz) tar xzf "$f" ;;
- *.zip) unzip "$f" ;;
- *.Z) uncompress "$f" ;;
- *) echo "Unsupported format" ;;
- esac
-}}
-map ex extract
-
-
-# TARGZ
-# tar.gz current or selected files
-#
-cmd targz ${{
- set -f
- mkdir $1
- cp -r "$fx" $1
- tar czf $1.tar.gz $1
- rm -rf $1
-}}
-map tgz targz
-
-
-# ZIP
-# zip current file or selected files
-cmd zip ${{
- set -f
- mkdir $1
- cp -r "$fx" $1
- zip -r $1.zip $1
- rm -rf $1
-}}
-map zip zip
-
-
-######################################################################## #
-# MISCELLANEOUS CONVENIENCE COMMANDS #
-######################################################################## #
-
-
-# PACMAN INSTALL
-#
-cmd pacman_install ${{
- case "$f" in
- *.pkg.tar.xz|*.pkg.tar.gz|*.pkg.tar.zst) sudo pacman -U "$f" ;;
- *) echo "This doesn't look like an Arch package, so not installing."
-}}
-
-
-# MP3
-# convert audio file to mp3
-#
-cmd mp3 ${{
- set -f
- outname=$(echo "$f" | cut -f 1 -d '.')
- lame -V --preset extreme $f "${outname}.mp3"
-}}
-
-
-######################################################################## #
-# FZF HELPER FUNCTIONS #
-######################################################################## #
-
-
-# FZF-JUMP
-#
-# jump to file or directory with c-f
-cmd fzf_jump ${{
- res="$(find . -maxdepth 1 | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')"
- if [ -d "$res" ] ; then
- cmd="cd"
- elif [ -f "$res" ] ; then
- cmd="select"
- else
- exit 0
- fi
- lf -remote "send $id $cmd \"$res\""
-}}
-map <c-f> :fzf_jump
-
-
-# FZF-SEARCH
-#
-# search contents of files in current directory, then select a file
-cmd fzf_search ${{
- res="$( \
- RG_PREFIX="rg --column --line-number --no-heading --color=always \
- --smart-case "
- FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
- fzf --bind "change:reload:$RG_PREFIX {q} || true" \
- --ansi --layout=reverse --header 'Search in files' \
- | cut -d':' -f1
- )"
- [ ! -z "$res" ] && lf -remote "send $id select \"$res\""
-}}
-map gs :fzf_search
diff --git a/dotfiles/system/.config/lf/preview b/dotfiles/system/.config/lf/preview
deleted file mode 100755
index 68cda52..0000000
--- a/dotfiles/system/.config/lf/preview
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-image() {
- geometry="$(($2-2))x$3"
- chafa "$1" -f sixel -s "$geometry" --animate false
-}
-
-batorcat() {
- file="$1"
- shift
- if command -v bat > /dev/null 2>&1
- then
- bat --color=always --style=plain --pager=never "$file" "$@"
- else
- cat "$file"
- fi
-}
-
-glowormdcat() {
- file="$1"
- shift
- if command -v glow > /dev/null 2>&1
- then
- glow "$file"
- else
- mdcat "$file"
- fi
-}
-
-CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))"
-
-case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in
- *.tgz|*.tar.gz) tar tzf "$1" ;;
- *.tar.bz2|*.tbz2) tar tjf "$1" ;;
- *.tar.txz|*.txz) xz --list "$1" ;;
- *.tar) tar tf "$1" ;;
- *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;;
- *.rar) unrar l "$1" ;;
- *.md)
- glowormdcat "$1";;
- *.7z) 7z l "$1" ;;
- *.[1-8]) man "$1" | col -b ;;
- *.o) nm "$1";;
- *.torrent) transmission-show "$1" ;;
- *.iso) iso-info --no-header -l "$1" ;;
- *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;;
- *.doc) catdoc "$1" ;;
- *.docx) docx2txt "$1" ;;
- *.xml|*.html) w3m -dump "$1";;
- *.xls|*.xlsx)
- ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batorcat --language=csv
- ;;
- *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka)
- exiftool "$1"
- ;;
- *.pdf)
- [ ! -f "${CACHE}.jpg" ] && \
- pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE"
- image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
- ;;
- *.epub)
- [ ! -f "$CACHE" ] && \
- epub-thumbnailer "$1" "$CACHE" 1024
- image "$CACHE" "$2" "$3" "$4" "$5"
- ;;
- *.cbz|*.cbr|*.cbt)
- [ ! -f "$CACHE" ] && \
- comicthumb "$1" "$CACHE" 1024
- image "$CACHE" "$2" "$3" "$4" "$5"
- ;;
- *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx)
- [ ! -f "${CACHE}.jpg" ] && \
- ffmpegthumbnailer -i "$1" -o "${CACHE}.jpg" -s 0 -q 5
- image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
- ;;
- *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.tiff|*.gif|*.jfif|*.ico)
- image "$1" "$2" "$3" "$4" "$5"
- ;;
- *.svg)
- [ ! -f "${CACHE}.jpg" ] && \
- convert "$1" "${CACHE}.jpg"
- image "${CACHE}.jpg" "$2" "$3" "$4" "$5"
- ;;
- *.ino)
- batorcat --language=cpp "$1"
- ;;
- *)
- batorcat "$1"
- ;;
-esac
-exit 0
diff --git a/dotfiles/system/.config/mopidy/mopidy.conf b/dotfiles/system/.config/mopidy/mopidy.conf
deleted file mode 100644
index a386dbd..0000000
--- a/dotfiles/system/.config/mopidy/mopidy.conf
+++ /dev/null
@@ -1,91 +0,0 @@
-# Mopidy configuration for cjennings
-# See https://docs.mopidy.com/en/latest/config/ for documentation
-
-[core]
-cache_dir = $XDG_CACHE_DIR/mopidy
-config_dir = $XDG_CONFIG_DIR/mopidy
-data_dir = $XDG_DATA_DIR/mopidy
-max_tracklist_length = 10000
-restore_state = false
-
-[logging]
-verbosity = 0
-format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
-color = true
-
-[audio]
-mixer = software
-mixer_volume =
-output = pulsesink device=alsa_output.pci-0000_00_1f.3.analog-stereo
-# Buffer time in milliseconds - 1000ms works well for local files
-# Explicitly using analog output to avoid Bluetooth latency/jumpiness issues
-buffer_time = 1000
-
-[proxy]
-scheme =
-hostname =
-port =
-username =
-password =
-
-[file]
-enabled = true
-# Point to Craig's music directory
-media_dirs =
- /home/cjennings/music|Music
-excluded_file_extensions =
- .directory
- .html
- .jpeg
- .jpg
- .log
- .nfo
- .pdf
- .png
- .txt
- .zip
-show_dotfiles = false
-follow_symlinks = false
-metadata_timeout = 1000
-
-[http]
-enabled = true
-hostname = 127.0.0.1
-port = 6680
-zeroconf = Mopidy HTTP server on $hostname
-allowed_origins =
-csrf_protection = true
-default_app = mopidy
-
-[m3u]
-enabled = true
-base_dir = /home/cjennings/music
-default_encoding = latin-1
-default_extension = .m3u
-playlists_dir = /home/cjennings/music
-
-[softwaremixer]
-enabled = true
-
-[stream]
-enabled = true
-protocols =
- http
- https
- mms
- rtmp
- rtmps
- rtsp
-metadata_blacklist =
-# Increase timeout for slow/distant streams (30 seconds)
-timeout = 30000
-
-# MPD frontend - enables MPD protocol compatibility (port 6600)
-# This allows MPD clients like mpc, ncmpcpp to work with Mopidy
-[mpd]
-enabled = true
-hostname = 127.0.0.1
-port = 6600
-password =
-max_connections = 20
-connection_timeout = 60 \ No newline at end of file
diff --git a/dotfiles/system/.config/nitrogen/bg-saved.cfg b/dotfiles/system/.config/nitrogen/bg-saved.cfg
deleted file mode 100644
index eccaecb..0000000
--- a/dotfiles/system/.config/nitrogen/bg-saved.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-[xin_-1]
-file=/home/cjennings/pictures/wallpaper/zendopeak.jpg
-mode=5
-bgcolor=#000000
diff --git a/dotfiles/system/.config/pychess/config b/dotfiles/system/.config/pychess/config
deleted file mode 100644
index 694298a..0000000
--- a/dotfiles/system/.config/pychess/config
+++ /dev/null
@@ -1,213 +0,0 @@
-[General]
-soundcombo0 = 3
-soundcombo1 = 3
-soundcombo2 = 3
-soundcombo3 = 3
-soundcombo4 = 3
-soundcombo5 = 3
-soundcombo6 = 3
-soundcombo7 = 3
-soundcombo8 = 3
-soundcombo9 = 3
-soundcombo10 = 3
-soundcombo11 = 3
-soundcombo12 = 3
-sounduri0 = file:/usr/share/pychess/sounds/move1.ogg
-sounduri1 = file:/usr/share/pychess/sounds/check1.ogg
-sounduri2 = file:/usr/share/pychess/sounds/capture1.ogg
-sounduri3 = file:/usr/share/pychess/sounds/start1.ogg
-sounduri4 = file:/usr/share/pychess/sounds/win1.ogg
-sounduri5 = file:/usr/share/pychess/sounds/lose1.ogg
-sounduri6 = file:/usr/share/pychess/sounds/draw1.ogg
-sounduri7 = file:/usr/share/pychess/sounds/obs_mov.ogg
-sounduri8 = file:/usr/share/pychess/sounds/obs_end.ogg
-sounduri9 = file:/usr/share/pychess/sounds/alarm.ogg
-sounduri10 = file:/usr/share/pychess/sounds/invalid.ogg
-sounduri11 = file:/usr/share/pychess/sounds/success.ogg
-sounduri12 = file:/usr/share/pychess/sounds/choice.ogg
-ics_combo = 0
-autologin = False
-categorycombo = 0
-max_log_files = 10
-hint_mode = False
-spy_mode = False
-show_sidepanels = True
-autocallflag = True
-tips_seed = 468535751
-tips_index = 3
-firstname = Craig Jennings
-secondname = Whomever
-showemt = False
-showeval = True
-showblunder = True
-hidetabs = True
-closeall = False
-facetoface = False
-scorelinearscale = False
-showcaptured = True
-figuresinnotation = False
-moveanimation = True
-noanimation = False
-autopromote = False
-autorotate = False
-showficsgameno = False
-fullanimation = False
-showcords = False
-drawgrid = False
-activatesupportalgorithm = False
-autosave = True
-autosaveformat = cjennings
-saveemt = True
-saveeval = True
-saveratingchange = True
-indentpgn = True
-saveowngames = False
-max_analysis_spin = 3
-max_depth_spin = 20
-infinite_analysis = False
-infinite_depth = True
-opening_check = False
-book_depth_max = 13
-endgame_check = False
-online_egtb_check = True
-analyzer_check = True
-inv_analyzer_check = False
-alarm_spin = 15
-usesounds = False
-newgametasker_playercombo = 1
-taskerskillslider = 2.0
-ana_combobox = c72ee03eee276a3a8e142ed144b4c77b
-inv_ana_combobox = c72ee03eee276a3a8e142ed144b4c77b
-tipofthedaywindow_width = 693
-tipofthedaywindow_height = 373
-tipofthedaywindow_x = 778
-tipofthedaywindow_y = 562
-externalsdialogwindow_width = 1193
-externalsdialogwindow_height = 371
-externalsdialogwindow_x = 528
-externalsdialogwindow_y = 563
-mainwindow_width = 2256
-mainwindow_height = 1471
-mainwindow_x = 0
-mainwindow_y = 33
-download_scoutfish = True
-opening_file_entry = /usr/share/pychess/pychess_book.bin
-book_exact_match = True
-egtb_path = /usr/share/pychess
-welcome_image = /usr/share/pychess/glade/background.jpg
-board_style = 2
-board_frame = 5
-lightcolour = #444444
-darkcolour = #252525
-piecetheme = Merida_new
-autosavepath = /home/cjennings/documents/chessdata
-preferencesdialogwindow_width = 1102
-preferencesdialogwindow_height = 1031
-preferencesdialogwindow_x = 574
-preferencesdialogwindow_y = 233
-show_tip_at_startup = False
-dont_show_externals_at_startup = False
-ngblitz min = 5
-ngblitz moves = 0
-ngblitz gain = 0
-ngrapid min = 15
-ngrapid moves = 0
-ngrapid gain = 5
-ngnormal min = 45
-ngnormal moves = 0
-ngnormal gain = 15
-ngclassical min = 3
-ngclassical moves = 40
-ngclassical gain = 0
-ngvariant1 = 3
-ngvariant2 = 23
-whiteplayercombobox = 0
-blackplayercombobox = 1
-skillslider1 = 20
-skillslider2 = 4.0
-notimeradio = True
-blitzradio = False
-rapidradio = 0
-normalradio = False
-classicalradio = False
-playnormalradio = 0
-playvariant1radio = 0
-playvariant2radio = 0
-numberoffingers = 2
-seek1radio = 0
-seek2radio = 0
-seek3radio = 0
-challenge1radio = 0
-challenge2radio = 0
-challenge3radio = 0
-untimedcheck-1 = False
-minutesspin-1 = 15
-gainspin-1 = 10
-strengthcheck-1 = True
-chainalignment-1 = True
-ratingcenterslider-1 = 40
-toleranceslider-1 = 8
-tolerancehbox-1 = False
-nocolorradio-1 = True
-whitecolorradio-1 = False
-blackcolorradio-1 = False
-variantcombo-1 = 4
-novariantradio-1 = True
-variantradio-1 = False
-ratedgamecheck-1 = False
-manualacceptcheck-1 = False
-untimedcheck-2 = False
-minutesspin-2 = 10
-gainspin-2 = 0
-strengthcheck-2 = True
-chainalignment-2 = True
-ratingcenterslider-2 = 40
-toleranceslider-2 = 8
-tolerancehbox-2 = False
-nocolorradio-2 = True
-whitecolorradio-2 = False
-blackcolorradio-2 = False
-variantcombo-2 = 3
-novariantradio-2 = True
-variantradio-2 = False
-ratedgamecheck-2 = False
-manualacceptcheck-2 = False
-untimedcheck-3 = False
-minutesspin-3 = 2
-gainspin-3 = 12
-strengthcheck-3 = True
-chainalignment-3 = True
-ratingcenterslider-3 = 40
-toleranceslider-3 = 8
-tolerancehbox-3 = False
-nocolorradio-3 = True
-whitecolorradio-3 = False
-blackcolorradio-3 = False
-variantcombo-3 = 23
-novariantradio-3 = True
-variantradio-3 = False
-ratedgamecheck-3 = False
-manualacceptcheck-3 = False
-chat_paned_position = 306
-standard_toggle = True
-blitz_toggle = True
-lightning_toggle = True
-variant_toggle = True
-registered_toggle = True
-guest_toggle = True
-computer_toggle = True
-titled_toggle = True
-standard_toggle1 = True
-blitz_toggle1 = True
-lightning_toggle1 = True
-variant_toggle1 = True
-computer_toggle1 = True
-download_chess_db = True
-download_timestamp = True
-
-[FICS]
-asguestcheck = True
-timesealcheck = True
-
-[ICC]
-
diff --git a/dotfiles/system/.config/pychess/engines.json b/dotfiles/system/.config/pychess/engines.json
deleted file mode 100644
index 913a9be..0000000
--- a/dotfiles/system/.config/pychess/engines.json
+++ /dev/null
@@ -1,526 +0,0 @@
-[
- {
- "analyze": true,
- "command": "/usr/lib/python3.13/site-packages/pychess/Players/PyChess.py",
- "comment": "",
- "country": "dk",
- "level": 5,
- "md5": "be6e594623ce6b20024914bcffba3f66",
- "name": "PyChess.py",
- "options": [
- {
- "default": false,
- "name": "Ponder",
- "type": "check",
- "value": false
- },
- {
- "default": 0,
- "max": 100,
- "min": 0,
- "name": "skipPruneChance",
- "type": "spin",
- "value": 0
- }
- ],
- "protocol": "xboard",
- "recheck": false,
- "variants": [
- "normal",
- "wildcastle",
- "nocastle",
- "fischerandom",
- "crazyhouse",
- "light-brigade",
- "losers",
- "suicide",
- "giveaway",
- "horde",
- "atomic",
- "racingkings",
- "seirawan",
- "kingofthehill",
- "3check",
- "placement",
- "asean",
- "cambodian",
- "makruk",
- "sittuyin"
- ],
- "vm_args": [
- "-u"
- ],
- "vm_command": "/usr/bin/python",
- "vm_name": "python"
- },
- {
- "analyze": true,
- "command": "/usr/bin/critter",
- "comment": "",
- "country": "sk",
- "level": 20,
- "md5": "854b376c8e7b3405b5e4f7cef8420204",
- "name": "critter",
- "options": [
- {
- "default": 64,
- "max": 8192,
- "min": 8,
- "name": "Hash",
- "type": "spin"
- },
- {
- "default": false,
- "name": "Ponder",
- "type": "check"
- },
- {
- "default": true,
- "name": "OwnBook",
- "type": "check"
- },
- {
- "default": "book.cbk",
- "name": "Book File",
- "type": "text"
- },
- {
- "default": false,
- "name": "UCI_Chess960",
- "type": "check"
- },
- {
- "default": 1,
- "max": 100,
- "min": 1,
- "name": "MultiPV",
- "type": "spin"
- },
- {
- "default": 20,
- "max": 32,
- "min": 1,
- "name": "Threads",
- "type": "spin"
- },
- {
- "default": 5,
- "max": 15,
- "min": 4,
- "name": "Split Depth",
- "type": "spin"
- },
- {
- "default": "/gtb",
- "name": "GaviotaTbPath",
- "type": "text"
- },
- {
- "default": 32,
- "max": 256,
- "min": 4,
- "name": "GaviotaTbCache",
- "type": "spin"
- },
- {
- "choices": [
- "uncompressed",
- "cp1",
- "cp2",
- "cp3",
- "cp4"
- ],
- "default": "cp4",
- "name": "GaviotaTbCompression",
- "type": "combo"
- },
- {
- "choices": [
- "Disable",
- "Only At Root",
- "Everywhere"
- ],
- "default": "Only At Root",
- "name": "Tablebase Usage",
- "type": "combo"
- },
- {
- "name": "Clear Hash",
- "type": "button"
- },
- {
- "default": false,
- "name": "Use Session File",
- "type": "check"
- },
- {
- "default": "session.csf",
- "name": "Session File",
- "type": "text"
- },
- {
- "default": 32,
- "max": 1024,
- "min": 2,
- "name": "SF Size",
- "type": "spin"
- },
- {
- "default": 8,
- "max": 32,
- "min": 2,
- "name": "SF Write Depth",
- "type": "spin"
- },
- {
- "default": 0,
- "max": 32,
- "min": 0,
- "name": "SF Material Limit",
- "type": "spin"
- },
- {
- "default": 0,
- "max": 999,
- "min": 0,
- "name": "SF Move Limit",
- "type": "spin"
- },
- {
- "name": "Clear SF",
- "type": "button"
- },
- {
- "default": false,
- "name": "Resolve Score Drops",
- "type": "check"
- },
- {
- "default": 32,
- "max": 100,
- "min": 0,
- "name": "King Safety Weight",
- "type": "spin"
- }
- ],
- "protocol": "uci",
- "recheck": false
- },
- {
- "analyze": true,
- "command": "/usr/bin/fruit",
- "comment": "",
- "country": "fr",
- "level": 5,
- "md5": "d401d07d0b5c41cbf8be63574a9214ca",
- "name": "fruit",
- "options": [
- {
- "default": "book_small.bin",
- "name": "BookFile",
- "type": "text",
- "value": "book_small.bin"
- },
- {
- "default": 50,
- "max": 500,
- "min": 0,
- "name": "Delta Margin",
- "type": "spin",
- "value": 50
- },
- {
- "default": false,
- "name": "Delta Pruning",
- "type": "check",
- "value": false
- },
- {
- "default": 100,
- "max": 500,
- "min": 0,
- "name": "Futility Margin",
- "type": "spin",
- "value": 100
- },
- {
- "default": false,
- "name": "Futility Pruning",
- "type": "check",
- "value": false
- },
- {
- "default": 16,
- "max": 1024,
- "min": 4,
- "name": "Hash",
- "type": "spin",
- "value": 16
- },
- {
- "default": true,
- "name": "History Pruning",
- "type": "check",
- "value": true
- },
- {
- "default": 60,
- "max": 100,
- "min": 0,
- "name": "History Threshold",
- "type": "spin",
- "value": 60
- },
- {
- "default": 100,
- "max": 400,
- "min": 0,
- "name": "King Safety",
- "type": "spin",
- "value": 100
- },
- {
- "default": 100,
- "max": 400,
- "min": 0,
- "name": "Material",
- "type": "spin",
- "value": 100
- },
- {
- "choices": [
- "Always",
- "Fail High",
- "Never"
- ],
- "default": "Fail High",
- "name": "NullMove Pruning",
- "type": "combo",
- "value": "Fail High"
- },
- {
- "default": 3,
- "max": 3,
- "min": 1,
- "name": "NullMove Reduction",
- "type": "spin",
- "value": 3
- },
- {
- "default": true,
- "name": "OwnBook",
- "type": "check",
- "value": true
- },
- {
- "default": 100,
- "max": 400,
- "min": 0,
- "name": "Passed Pawns",
- "type": "spin",
- "value": 100
- },
- {
- "default": 100,
- "max": 400,
- "min": 0,
- "name": "Pawn Structure",
- "type": "spin",
- "value": 100
- },
- {
- "default": 100,
- "max": 400,
- "min": 0,
- "name": "Piece Activity",
- "type": "spin",
- "value": 100
- },
- {
- "default": false,
- "name": "Ponder",
- "type": "check",
- "value": false
- },
- {
- "default": 1,
- "max": 2,
- "min": 0,
- "name": "Quiescence Check Plies",
- "type": "spin",
- "value": 1
- },
- {
- "default": 5,
- "max": 6,
- "min": 1,
- "name": "Verification Reduction",
- "type": "spin",
- "value": 5
- },
- {
- "choices": [
- "Always",
- "Endgame",
- "Never"
- ],
- "default": "Endgame",
- "name": "Verification Search",
- "type": "combo",
- "value": "Endgame"
- }
- ],
- "protocol": "uci",
- "recheck": false,
- "workingDirectory": "/usr/bin"
- },
- {
- "analyze": true,
- "command": "/usr/bin/stockfish",
- "comment": "",
- "country": "no",
- "level": 20,
- "md5": "c72ee03eee276a3a8e142ed144b4c77b",
- "name": "stockfish",
- "options": [
- {
- "name": "Clear Hash",
- "type": "button"
- },
- {
- "default": "<empty>",
- "name": "Debug Log File",
- "type": "text",
- "value": "<empty>"
- },
- {
- "default": "nn-1c0000000000.nnue",
- "name": "EvalFile",
- "type": "text",
- "value": "nn-1c0000000000.nnue"
- },
- {
- "default": "nn-37f18f62d772.nnue",
- "name": "EvalFileSmall",
- "type": "text",
- "value": "nn-37f18f62d772.nnue"
- },
- {
- "default": 16,
- "max": 33554432,
- "min": 1,
- "name": "Hash",
- "type": "spin",
- "value": 16
- },
- {
- "default": 10,
- "max": 5000,
- "min": 0,
- "name": "Move Overhead",
- "type": "spin",
- "value": 10
- },
- {
- "default": 1,
- "max": 256,
- "min": 1,
- "name": "MultiPV",
- "type": "spin",
- "value": 1
- },
- {
- "default": 0,
- "max": 10000,
- "min": 0,
- "name": "nodestime",
- "type": "spin",
- "value": 0
- },
- {
- "default": "auto",
- "name": "NumaPolicy",
- "type": "text",
- "value": "auto"
- },
- {
- "default": false,
- "name": "Ponder",
- "type": "check",
- "value": false
- },
- {
- "default": 20,
- "max": 20,
- "min": 0,
- "name": "Skill Level",
- "type": "spin",
- "value": 20
- },
- {
- "default": true,
- "name": "Syzygy50MoveRule",
- "type": "check",
- "value": true
- },
- {
- "default": "<empty>",
- "name": "SyzygyPath",
- "type": "text",
- "value": "<empty>"
- },
- {
- "default": 1,
- "max": 100,
- "min": 1,
- "name": "SyzygyProbeDepth",
- "type": "spin",
- "value": 1
- },
- {
- "default": 7,
- "max": 7,
- "min": 0,
- "name": "SyzygyProbeLimit",
- "type": "spin",
- "value": 7
- },
- {
- "default": 1,
- "max": 1024,
- "min": 1,
- "name": "Threads",
- "type": "spin",
- "value": 1
- },
- {
- "default": false,
- "name": "UCI_Chess960",
- "type": "check",
- "value": false
- },
- {
- "default": 1320,
- "max": 3190,
- "min": 1320,
- "name": "UCI_Elo",
- "type": "spin",
- "value": 1320
- },
- {
- "default": false,
- "name": "UCI_LimitStrength",
- "type": "check",
- "value": false
- },
- {
- "default": false,
- "name": "UCI_ShowWDL",
- "type": "check",
- "value": false
- }
- ],
- "protocol": "uci",
- "recheck": false
- }
-] \ No newline at end of file
diff --git a/dotfiles/system/.config/pychess/pydock.xml b/dotfiles/system/.config/pychess/pydock.xml
deleted file mode 100644
index ef523db..0000000
--- a/dotfiles/system/.config/pychess/pydock.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" ?><docks><dock id="main"><v pos="0.9992458521870287"><h pos="0.9995551601423488"><leaf current="board" dockable="False"><panel id="board" visible="True"/></leaf><v pos="0.999245283018868"><leaf current="annotationPanel" dockable="True"><panel id="annotationPanel" visible="True"/><panel id="historyPanel" visible="True"/><panel id="scorePanel" visible="True"/></leaf><leaf current="chatPanel" dockable="True"><panel id="chatPanel" visible="True"/><panel id="commentPanel" visible="False"/></leaf></v></h><leaf current="engineOutputPanel" dockable="True"><panel id="bookPanel" visible="False"/><panel id="engineOutputPanel" visible="True"/></leaf></v></dock></docks> \ No newline at end of file
diff --git a/dotfiles/system/.config/sublime-merge/Local/License.sublime_license b/dotfiles/system/.config/sublime-merge/Local/License.sublime_license
deleted file mode 100644
index 69d2755..0000000
--- a/dotfiles/system/.config/sublime-merge/Local/License.sublime_license
+++ /dev/null
Binary files differ
diff --git a/dotfiles/system/.config/youtube-dl/youtube-dl.conf b/dotfiles/system/.config/youtube-dl/youtube-dl.conf
deleted file mode 100644
index 91b4e42..0000000
--- a/dotfiles/system/.config/youtube-dl/youtube-dl.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-# self explanatory
---add-metadata
---format best
---no-overwrites
---ignore-errors
-
-# insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default 5)
---audio-quality 0
-
-# save all videos under Videos file with channel, title, and extension
--o ~/videos/%(channel)s-%(title)s.%(ext)s
diff --git a/dotfiles/system/.local/bin/audioselect b/dotfiles/system/.local/bin/audioselect
deleted file mode 100755
index 6c40d47..0000000
--- a/dotfiles/system/.local/bin/audioselect
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-# Craig Jennings
-# convenience script to switch audio devices
-# need bluez and bluez-utils
-
-# DEVICE MAC ADDRESSES
-marshall_earbuds_device="00:25:D1:1B:39:CA"
-marshall_headset_device="9C:0D:AC:05:1E:C9"
-
-# SINKS (Audio Out)
-marshall_headset_sink="bluez_output.9C_0D_AC_05_1E_C9.a2dp-sink"
-marshall_earbuds_sink="bluez_output.00_25_D1_1B_39_CA.a2dp_sink"
-builtin_sink="alsa_output.pci-0000_00_1f.3.analog-stereo"
-jabra_510_sink="alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_1C48F9C067D5020A00-00.analog-stereo"
-steelseries_sink="alsa_output.usb-SteelSeries_SteelSeries_Arctis_7-00.stereo-game"
-emberton_sink="bluez_sink.04_21_44_89_D0_BE.a2dp_sink"
-
-# SOURCES (Audio In)
-jabra_510_source="alsa_input.usb-0b0e_Jabra_SPEAK_510_USB_1C48F9C067D5020A00-00.mono-fallback"
-builtin_source="alsa_input.pci-0000_00_1f.3.analog-stereo"
-steelseries_source="alsa_input.usb-SteelSeries_SteelSeries_Arctis_7-00.mono-chat"
-
-CHOICES="Cancel\nToggle Mute Speaker\nToggle Mute Mic\nMarshall Headset & Jabra Mic\nMarshall Headset & Default Mic\nMarshall Earbuds & Jabra Mic\nJabra Speaker & Mic\nBuilt-In Audio"
-
-CHOSEN=$(echo -e "$CHOICES" | dmenu -l 10)
-
-case "$CHOSEN" in
-"Toggle Mute Speaker")
- pactl set-sink-mute 0 toggle
- ;;
-"Toggle Mute Mic")
- pactl set-source-mute 0 toggle
- ;;
-"Marshall Headset & Jabra Mic")
- bluetooth power on
- bluetoothctl connect $marshall_headset_device
- pactl set-default-sink $marshall_headset_sink
- pactl set-default-source $jabra_510_source
- ;;
-"Marshall Headset & Default Mic")
- bluetooth power on
- bluetoothctl connect $marshall_headset_device
- pactl set-default-sink $marshall_headset_sink
- pactl set-default-source $builtin_source
- ;;
-"Marshall Earbuds & Jabra Mic")
- bluetooth power on
- bluetoothctl connect $marshall_earbuds_device
- pactl set-default-sink $marshall_earbuds_sink
- pactl set-default-source $jabra_510_source
- ;;
-"Built-In Audio")
- pactl set-default-sink $builtin_audio_sink
- pactl set-default-source $builtin_audio_source
- ;;
-"Jabra Speaker & Mic")
- pactl set-default-sink $jabra_510_sink
- pactl set-default-source $jabra_510_source
- ;;
-"Emberton & Built-In")
- pactl set-default-sink $emberton_sink
- pactl set-default-source $builtin_audio_source
- ;;
-"Steelseries Headset")
- pactl set-default-sink $steelseries_sink
- pactl set-default-source $steelseries_source
- ;;
-esac
diff --git a/dotfiles/system/.local/bin/battery_monitor b/dotfiles/system/.local/bin/battery_monitor
deleted file mode 100755
index dc8d5ea..0000000
--- a/dotfiles/system/.local/bin/battery_monitor
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-# battery_monitor
-# Intended to be run via .xinitrc
-# - Exit automatically if no battery (desktop)
-# - When below 15%, warn user of low battery
-# - When below 10%, suspend within 10 seconds if not charging
-#
-# Craig Jennings <c@cjennings.net>
-
-# check if acpi is installed
-if ! command -v acpi &> /dev/null; then
- echo "acpi is not installed. Cannot continue. Exiting...."
- exit 1
-fi
-
-# exit if a battery exists
-if [ ! -d "/sys/class/power_supply/BAT0" ] && [ ! -d "/sys/class/power_supply/BAT1" ]; then
- echo "Acpi is installed but no battery detected. Assuming this is a desktop and exiting...."
- exit 1
-fi
-
-while true; do
- # Get the current battery percentage using acpi
- battery_percentage=$(acpi -b | awk -F ', ' '{print $2}' | tr -d '%')
- # battery_percentage=$(acpi -b | awk -F ', ' '{print $2}' | sed 's/%//')
-
- # When below 10%, suspend within 10 seconds if not charging
- if [ "$battery_percentage" -lt 11 ] && ! acpi -a | grep -q "on-line" ; then
- # Send a notification of sleeping in 10 seconds
- notify-send -u critical "Critical Battery" "Battery is at $battery_percentage%. System entering sleep in 30 seconds."
-
- # sleep for 10 seconds, then abort if charging
- sleep 30
-
- # Check if the system is charging (AC adapter connected)
- if acpi -a | grep -q "on-line"; then
- notify-send "Charging" "The system is now charging. No action taken."
- else
- notify-send -u critical "Critical Battery" "Putting the system to sleep."
- sudo systemctl suspend
- fi
- fi
-
- # When below 15%, warn user
- if [ "$battery_percentage" -lt 15 ] && ! acpi -a | grep -q "on-line" ; then
- # Send a notification using notify-send and dunst
- notify-send -u critical "Low Battery" "Battery is at $battery_percentage%. System will automatically sleep at 10%."
- fi
-
- # Sleep for 5 minutes before checking again
- sleep 300
-done
diff --git a/dotfiles/system/.local/bin/bookfind b/dotfiles/system/.local/bin/bookfind
deleted file mode 100755
index c5cc1bc..0000000
--- a/dotfiles/system/.local/bin/bookfind
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-# allows user to open a calibre book using dmenu
-
-find ~/Library/ -type f \( -iname \*.pdf -o -iname \*.epub \) | dmenu -i -l 20 -p "Choose an ebook:"
-
diff --git a/dotfiles/system/.local/bin/bsdnet_bounce b/dotfiles/system/.local/bin/bsdnet_bounce
deleted file mode 100755
index e4eec08..0000000
--- a/dotfiles/system/.local/bin/bsdnet_bounce
+++ /dev/null
@@ -1,6 +0,0 @@
-if [ $(id -u) -eq 0 ]
-then
- service netif restart && service routing restart
-else
- echo "You must be root to run this script"
-fi
diff --git a/dotfiles/system/.local/bin/build.emacs.aur.sh b/dotfiles/system/.local/bin/build.emacs.aur.sh
deleted file mode 100755
index a185437..0000000
--- a/dotfiles/system/.local/bin/build.emacs.aur.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-rm -rf emacs-git
-git clone https://aur.archlinux.org/emacs-git.git
-cd emacs-git
-sed -i 's/^JIT=\( \)/JIT="YES"/' PKGBUILD
-makepkg --syncdeps --install
diff --git a/dotfiles/system/.local/bin/calibre-install b/dotfiles/system/.local/bin/calibre-install
deleted file mode 100755
index 42b007c..0000000
--- a/dotfiles/system/.local/bin/calibre-install
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-
-# remember location
-export SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-
-# download and install latest calibre
-sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
-
-# install current plugins and config
-# tar -xf $SRCDIR/../assets/calibre.tar.gz -C ~/.config/
diff --git a/dotfiles/system/.local/bin/debugemacs b/dotfiles/system/.local/bin/debugemacs
deleted file mode 100755
index 4585be1..0000000
--- a/dotfiles/system/.local/bin/debugemacs
+++ /dev/null
@@ -1,4 +0,0 @@
- #!/bin/sh
- EMACS_PID=`pgrep emacs`
- cd /home/cjennings/Projects/emacs/src
- exec -a debug-emacs $TERM -e gdb /usr/local/bin/emacs $EMACS_PID
diff --git a/dotfiles/system/.local/bin/displayselect b/dotfiles/system/.local/bin/displayselect
deleted file mode 100755
index f9e8062..0000000
--- a/dotfiles/system/.local/bin/displayselect
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-# A UI for detecting and selecting all displays. Probes xrandr for connected
-# displays and lets user select one to use. User may also select "manual
-# selection" which opens arandr.
-
-twoscreen() { # If multi-monitor is selected and there are two screens.
-
- mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
- # Mirror displays using native resolution of external display and a scaled
- # version for the internal display
- if [ "$mirror" = "yes" ]; then
- external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:")
- internal=$(echo "$screens" | grep -v "$external")
-
- res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
- tail -n 1 | awk '{print $1}')
- res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
- tail -n 1 | awk '{print $1}')
-
- res_ext_x=$(echo "$res_external" | sed 's/x.*//')
- res_ext_y=$(echo "$res_external" | sed 's/.*x//')
- res_int_x=$(echo "$res_internal" | sed 's/x.*//')
- res_int_y=$(echo "$res_internal" | sed 's/.*x//')
-
- scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
- scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
-
- xrandr --output "$external" --auto --scale 1.0x1.0 \
- --output "$internal" --auto --same-as "$external" \
- --scale "$scale_x"x"$scale_y"
- else
-
- primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
- secondary=$(echo "$screens" | grep -v "$primary")
- direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
- xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
- fi
- }
-
-morescreen() { # If multi-monitor is selected and there are more than two screens.
- primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
- secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
- direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
- tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:")
- xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
- }
-
-multimon() { # Multi-monitor handler.
- case "$(echo "$screens" | wc -l)" in
- 2) twoscreen ;;
- *) morescreen ;;
- esac ;}
-
-onescreen() { # If only one output available or chosen.
- xrandr --output "$1" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "\b$1" | awk '{print "--output", $1, "--off"}' | paste -sd ' ' -)
- }
-
-postrun() { # Stuff to run to clean up.
- setbg # Fix background if screen size/arangement has changed.
- remaps # Re-remap keys if keyboard added (for laptop bases)
- { killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen
- }
-
-# Get all possible displays
-allposs=$(xrandr -q | grep "connected")
-
-# Get all connected screens.
-screens=$(echo "$allposs" | awk '/ connected/ {print $1}')
-
-# If there's only one screen
-[ "$(echo "$screens" | wc -l)" -lt 2 ] &&
- { onescreen "$screens"; postrun; notify-send "๐Ÿ’ป Only one screen detected." "Using it in its optimal settings..."; exit ;}
-
-# Get user choice including multi-monitor and manual selection:
-chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
-case "$chosen" in
- "manual selection") arandr ; exit ;;
- "multi-monitor") multimon ;;
- *) onescreen "$chosen" ;;
-esac
-
-postrun
diff --git a/dotfiles/system/.local/bin/dmenuhandler b/dotfiles/system/.local/bin/dmenuhandler
deleted file mode 100755
index 1c48f3a..0000000
--- a/dotfiles/system/.local/bin/dmenuhandler
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Feed this script a link and it will give dmenu
-# some choice programs to use to open it.
-feed="${1:-$(printf "%s" | dmenu -p 'Paste URL or file path')}"
-
-case "$(printf "Copy URL\\nsxiv\\nsetbg\\nPDF\\nbrowser\\nlynx\\nvim\\nmpv\\nmpv loop\\nmpv float\\nqueue download\\nqueue yt-dlp\\nqueue yt-dlp audio" | dmenu -i -p "Open it with?")" in
- "Copy URL") echo "$feed" | xclip -selection clipboard ;;
- mpv) setsid -f mpv -quiet "$feed" >/dev/null 2>&1 ;;
- "mpv loop") setsid -f mpv -quiet --loop "$feed" >/dev/null 2>&1 ;;
- "mpv float") setsid -f "$TERMINAL" -e mpv --geometry=+0-0 --autofit=30% --title="mpvfloat" "$feed" >/dev/null 2>&1 ;;
- "queue yt-dlp") qndl "$feed" >/dev/null 2>&1 ;;
- "queue yt-dlp audio") qndl "$feed" 'yt-dlp --embed-metadata -icx -f bestaudio/best' >/dev/null 2>&1 ;;
- "queue download") qndl "$feed" 'curl -LO' >/dev/null 2>&1 ;;
- PDF) curl -sL "$feed" > "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" && zathura "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" >/dev/null 2>&1 ;;
- sxiv) curl -sL "$feed" > "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" >/dev/null 2>&1 ;;
- vim) curl -sL "$feed" > "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" && setsid -f "$TERMINAL" -e "$EDITOR" "/tmp/$(echo "$feed" | sed "s|.*/||;s/%20/ /g")" >/dev/null 2>&1 ;;
- setbg) curl -L "$feed" > $XDG_CACHE_HOME/pic ; xwallpaper --zoom $XDG_CACHE_HOME/pic >/dev/null 2>&1 ;;
- browser) setsid -f "$BROWSER" "$feed" >/dev/null 2>&1 ;;
- lynx) lynx "$feed" >/dev/null 2>&1 ;;
-esac
diff --git a/dotfiles/system/.local/bin/dmenumount b/dotfiles/system/.local/bin/dmenumount
deleted file mode 100755
index 3cb1f81..0000000
--- a/dotfiles/system/.local/bin/dmenumount
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-# Gives a dmenu prompt to mount unmounted drives and Android phones. If
-# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
-# be prompted to give a mountpoint from already existsing directories. If you
-# input a novel directory, it will prompt you to create that directory.
-
-getmount() { \
- [ -z "$chosen" ] && exit 1
- # shellcheck disable=SC2086
- mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
- test -z "$mp" && exit 1
- if [ ! -d "$mp" ]; then
- mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
- [ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
- fi
- }
-
-mountusb() { \
- chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
- chosen="$(echo "$chosen" | awk '{print $1}')"
- sudo -A mount "$chosen" 2>/dev/null && notify-send "๐Ÿ’ป USB mounting" "$chosen mounted." && exit 0
- alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
- getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
- partitiontype="$(lsblk -no "fstype" "$chosen")"
- case "$partitiontype" in
- "vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
- "exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
- *) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
- esac
- notify-send "๐Ÿ’ป USB mounting" "$chosen mounted to $mp."
- }
-
-mountandroid() { \
- chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
- chosen="$(echo "$chosen" | cut -d : -f 1)"
- getmount "$HOME -maxdepth 3 -type d"
- simple-mtpfs --device "$chosen" "$mp"
- echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
- simple-mtpfs --device "$chosen" "$mp"
- notify-send "๐Ÿค– Android Mounting" "Android device mounted to $mp."
- }
-
-asktype() { \
- choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
- case $choice in
- USB) mountusb ;;
- Android) mountandroid ;;
- esac
- }
-
-anddrives=$(simple-mtpfs -l 2>/dev/null)
-usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
-
-if [ -z "$usbdrives" ]; then
- [ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
- echo "Android device(s) detected."
- mountandroid
-else
- if [ -z "$anddrives" ]; then
- echo "USB drive(s) detected."
- mountusb
- else
- echo "Mountable USB drive(s) and Android device(s) detected."
- asktype
- fi
-fi
diff --git a/dotfiles/system/.local/bin/dmenumountcifs b/dotfiles/system/.local/bin/dmenumountcifs
deleted file mode 100755
index 46c2b57..0000000
--- a/dotfiles/system/.local/bin/dmenumountcifs
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# Gives a dmenu prompt to mount unmounted local NAS shares for read/write.
-# Requirements - "%wheel ALL=(ALL) NOPASSWD: ALL"
-#
-# Browse for mDNS/DNS-SD services using the Avahi daemon...
-srvname=$(avahi-browse _smb._tcp -t | awk '{print $4}' | dmenu -i -p "Which NAS?") || exit 1
-notify-send "Searching for network shares..." "Please wait..."
-# Choose share disk...
-share=$(smbclient -L "$srvname" -N | grep Disk | awk '{print $1}' | dmenu -i -p "Mount which share?") || exit 1
-# Format URL...
-share2mnt=//"$srvname".local/"$share"
-
-sharemount() {
- mounted=$(mount -v | grep "$share2mnt") || ([ ! -d /mnt/"$share" ] && sudo mkdir /mnt/"$share")
- [ -z "$mounted" ] && sudo mount -t cifs "$share2mnt" -o user=nobody,password="",noperm /mnt/"$share" && notify-send "Netshare $share mounted" && exit 0
- notify-send "Netshare $share already mounted"; exit 1
-}
-
-sharemount
diff --git a/dotfiles/system/.local/bin/dmenurecord b/dotfiles/system/.local/bin/dmenurecord
deleted file mode 100755
index b83a7c5..0000000
--- a/dotfiles/system/.local/bin/dmenurecord
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/sh
-
-# Usage:
-# `$0`: Ask for recording type via dmenu
-# `$0 screencast`: Record both audio and screen
-# `$0 video`: Record only screen
-# `$0 audio`: Record only audio
-# `$0 kill`: Kill existing recording
-#
-# If there is already a running instance, user will be prompted to end it.
-
-updateicon() { \
- echo "$1" > /tmp/recordingicon
- pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
- }
-
-killrecording() {
- recpid="$(cat /tmp/recordingpid)"
- # kill with SIGTERM, allowing finishing touches.
- kill -15 "$recpid"
- rm -f /tmp/recordingpid
- updateicon ""
- pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
- # even after SIGTERM, ffmpeg may still run, so SIGKILL it.
- sleep 3
- kill -9 "$recpid"
- exit
- }
-
-screencast() { \
- ffmpeg -y \
- -f x11grab \
- -framerate 60 \
- -s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
- -i "$DISPLAY" \
- -f alsa -i default \
- -r 30 \
- -c:v h264 -crf 0 -preset ultrafast -c:a aac \
- "$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
- echo $! > /tmp/recordingpid
- updateicon "โบ๏ธ๐ŸŽ™๏ธ"
- }
-
-video() { ffmpeg \
- -f x11grab \
- -s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
- -i "$DISPLAY" \
- -c:v libx264 -qp 0 -r 30 \
- "$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" &
- echo $! > /tmp/recordingpid
- updateicon "โบ๏ธ"
- }
-
-webcamhidef() { ffmpeg \
- -f v4l2 \
- -i /dev/video0 \
- -video_size 1920x1080 \
- "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
- echo $! > /tmp/recordingpid
- updateicon "๐ŸŽฅ"
- }
-
-webcam() { ffmpeg \
- -f v4l2 \
- -i /dev/video0 \
- -video_size 640x480 \
- "$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
- echo $! > /tmp/recordingpid
- updateicon "๐ŸŽฅ"
- }
-
-
-audio() { \
- ffmpeg \
- -f alsa -i default \
- -c:a flac \
- "$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" &
- echo $! > /tmp/recordingpid
- updateicon "๐ŸŽ™๏ธ"
- }
-
-askrecording() { \
- choice=$(printf "screencast\\nvideo\\nvideo selected\\naudio\\nwebcam\\nwebcam (hi-def)" | dmenu -i -p "Select recording style:")
- case "$choice" in
- screencast) screencast;;
- audio) audio;;
- video) video;;
- *selected) videoselected;;
- webcam) webcam;;
- "webcam (hi-def)") webcamhidef;;
- esac
- }
-
-asktoend() { \
- response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
- [ "$response" = "Yes" ] && killrecording
- }
-
-videoselected()
-{
- slop -f "%x %y %w %h" > /tmp/slop
- read -r X Y W H < /tmp/slop
- rm /tmp/slop
-
- ffmpeg \
- -f x11grab \
- -framerate 60 \
- -video_size "$W"x"$H" \
- -i :0.0+"$X,$Y" \
- -c:v libx264 -qp 0 -r 30 \
- "$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" &
- echo $! > /tmp/recordingpid
- updateicon "โบ๏ธ"
-}
-
-case "$1" in
- screencast) screencast;;
- audio) audio;;
- video) video;;
- *selected) videoselected;;
- kill) killrecording;;
- *) ([ -f /tmp/recordingpid ] && asktoend && exit) || askrecording;;
-esac
diff --git a/dotfiles/system/.local/bin/dmenuumount b/dotfiles/system/.local/bin/dmenuumount
deleted file mode 100755
index 946d12c..0000000
--- a/dotfiles/system/.local/bin/dmenuumount
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# A dmenu prompt to unmount drives.
-# Provides you with mounted partitions, select one to unmount.
-# Drives mounted at /, /boot and /home will not be options to unmount.
-
-unmountusb() {
- [ -z "$drives" ] && exit
- chosen="$(echo "$drives" | dmenu -i -p "Unmount which drive?")" || exit 1
- chosen="$(echo "$chosen" | awk '{print $1}')"
- [ -z "$chosen" ] && exit
- sudo -A umount "$chosen" && notify-send "๐Ÿ’ป USB unmounting" "$chosen unmounted."
- }
-
-unmountandroid() { \
- chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")" || exit 1
- [ -z "$chosen" ] && exit
- sudo -A umount -l "$chosen" && notify-send "๐Ÿค– Android unmounting" "$chosen unmounted."
- }
-
-asktype() { \
- choice="$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" || exit 1
- case "$choice" in
- USB) unmountusb ;;
- Android) unmountandroid ;;
- esac
- }
-
-drives=$(lsblk -nrpo "name,type,size,mountpoint,label" | awk -F':' '{gsub(/ /,":")}$4!~/\/boot|\/efi|\/home$|SWAP/&&length($4)>1{printf "%s (%s) %s\n",$4,$3,$5}')
-
-if ! grep simple-mtpfs /etc/mtab; then
- [ -z "$drives" ] && echo "No drives to unmount." && exit
- echo "Unmountable USB drive detected."
- unmountusb
-else
- if [ -z "$drives" ]
- then
- echo "Unmountable Android device detected."
- unmountandroid
- else
- echo "Unmountable USB drive(s) and Android device(s) detected."
- asktype
- fi
-fi
diff --git a/dotfiles/system/.local/bin/dotfiles_pushall b/dotfiles/system/.local/bin/dotfiles_pushall
deleted file mode 100755
index 3eef2c6..0000000
--- a/dotfiles/system/.local/bin/dotfiles_pushall
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-# Craig Jennings <craigmartinjennings@gmail.com>
-# tired of pushing to multiple locations with multiple commands
-/usr/bin/git --git-dir="$HOME"/.dotfiles/ --work-tree="$HOME" push origin main && \
-/usr/bin/git --git-dir="$HOME"/.dotfiles/ --work-tree="$HOME" push source main && \
-/usr/bin/git --git-dir="$HOME"/.dotfiles/ --work-tree="$HOME" push github main
diff --git a/dotfiles/system/.local/bin/exitmenu b/dotfiles/system/.local/bin/exitmenu
deleted file mode 100755
index 54028a7..0000000
--- a/dotfiles/system/.local/bin/exitmenu
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-CHOICES="Shutdown\nReboot\nLock\nHibernate\nSuspend\nToggle Airplane Mode\nToggle Powersave Mode"
-CHOSEN=$(echo -e "$CHOICES" | dmenu -i)
-
-case $CHOSEN in
- "Shutdown") shutdown now ;;
- "Reboot") reboot ;;
- "Lock") xscreensaver-command --lock ;;
- "Hiberbate") systemctl hibernate ;;
- "Suspend") systemctl suspend ;;
- "Toggle Airplane Mode") airplanemodetoggle ;;
- "Toggle Powersave Mode") lowpowertoggle && notify-send "Battery Status" "$(acpi -b)" ;;
-esac
-
diff --git a/dotfiles/system/.local/bin/gruv b/dotfiles/system/.local/bin/gruv
deleted file mode 100755
index b3e7f35..0000000
--- a/dotfiles/system/.local/bin/gruv
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-dir=$pwd
-for file in $(ls $dir | shuf) ; do mpv --no-video "$file"; done
diff --git a/dotfiles/system/.local/bin/lfrun b/dotfiles/system/.local/bin/lfrun
deleted file mode 100755
index 5bb0ba3..0000000
--- a/dotfiles/system/.local/bin/lfrun
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-set -e
-
-cleanup() {
- exec 3>&-
- rm "$FIFO_UEBERZUG"
-}
-
-if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
- lf "$@"
-else
- [ ! -d "$HOME/.cache/lf" ] && mkdir --parents "$HOME/.cache/lf"
- export FIFO_UEBERZUG="$HOME/.cache/lf/ueberzug-$$"
- mkfifo "$FIFO_UEBERZUG"
- ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
- exec 3>"$FIFO_UEBERZUG"
- trap cleanup EXIT
- lf "$@" 3>&-
-fi
diff --git a/dotfiles/system/.local/bin/lfub b/dotfiles/system/.local/bin/lfub
deleted file mode 100755
index 9012f50..0000000
--- a/dotfiles/system/.local/bin/lfub
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# This is a wrapper script for lb that allows it to create image previews with
-# ueberzug. This works in concert with the lf configuration file and the
-# lf-cleaner script.
-
-set -e
-
-cleanup() {
- exec 3>&-
- rm "$FIFO_UEBERZUG"
-}
-
-if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
- lf "$@"
-else
- [ ! -d "$HOME/.cache/lf" ] && mkdir -p "$HOME/.cache/lf"
- export FIFO_UEBERZUG="$HOME/.cache/lf/ueberzug-$$"
- mkfifo "$FIFO_UEBERZUG"
- ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
- exec 3>"$FIFO_UEBERZUG"
- trap cleanup HUP INT QUIT TERM PWR EXIT
- lf "$@" 3>&-
-fi
diff --git a/dotfiles/system/.local/bin/lsbak b/dotfiles/system/.local/bin/lsbak
deleted file mode 100755
index 7803135..0000000
--- a/dotfiles/system/.local/bin/lsbak
+++ /dev/null
@@ -1 +0,0 @@
-ls -laF /media/backup/renovo
diff --git a/dotfiles/system/.local/bin/monitor b/dotfiles/system/.local/bin/monitor
deleted file mode 100755
index 30f04b6..0000000
--- a/dotfiles/system/.local/bin/monitor
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-# Craig Jennings
-# convenience script to switch monitors
-
-# this script assumes there are at most two monitors attached and we want to switch between then
-CHOICES="Laptop\nLaptop-Scaled\nHome-Display\nExternal-Auto\nExternal-Scaled\nVirtualbox"
-
-# laptops always have a monitor connected when running the script.
-LAPTOP=$(xrandr -q | grep primary | awk '$2 == "connected" {print $1}')
-echo "primary monitor is $LAPTOP"
-
-# an external monitor will always be a connected monitor that isn't primary
-EXTERNAL=$(xrandr -q | grep -v primary | awk '$2 == "connected" {print $1}')
-
-# start by resetting
-xrandr -s 0
-
-# disable if called automatically, otherwise you'll want the menu
-# if there's only one monitor connected, setup laptop monitor
-# if [ -z "$EXTERNAL" ]; then
-# xrandr -s 0
-# xrandr --output "$LAPTOP" --auto --dpi 144 --scale 0.6
-# exit 0
-# fi
-
-CHOSEN=$(echo -e "$CHOICES" | dmenu -i)
-
-case "$CHOSEN" in
-"Laptop")
- xrandr --output "$LAPTOP" --auto --output "$EXTERNAL" --off
- ;;
-"Laptop-Scaled")
- xrandr --output "$LAPTOP" --auto --dpi 144 --scale 0.6 --output "$EXTERNAL" --off
- ;;
-"External")
- xrandr --output "$EXTERNAL" --auto --dpi 96 --mode 3440x1440 --scale 1.0 --output "$LAPTOP" --off
- ;;
-"External-Auto")
- xrandr --output "$EXTERNAL" --auto --output "$LAPTOP" --off
- ;;
-"External-Scaled")
- xrandr --output "$EXTERNAL" --auto --scale 0.6 --output "$LAPTOP" --off
- ;;
-"Virtualbox")
- xrandr --output "$LAPTOP" --auto --mode 1920x1080
- ;;
-esac
-
-# restore the wallpaper after resolution change
-[ -f ~/.fehbg ] && ~/.fehbg
diff --git a/dotfiles/system/.local/bin/project b/dotfiles/system/.local/bin/project
deleted file mode 100755
index cf5918d..0000000
--- a/dotfiles/system/.local/bin/project
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env bash
-
-echo ""
-
-# Check parameter
-if [ "$#" -ne 1 ] || [ "$1" != "start" ] && [ "$1" != "end" ]; then
- echo "This script must be called with either 'start' or 'end' as a parameter."
- exit 1
-fi
-
-CHECK_MARK="\033[0;32m\xE2\x9C\x94\033[0m"
-CLEAR_LINE="\033[1K"
-
-# Define directories to process
-project_dirs="$HOME/projects"
-code_dirs="$HOME/code"
-sync_dirs="$HOME/sync"
-
-
-# Git pull quietly unless there's an error
-git_maybe_pull() {
- git fetch --quiet
- if ! git diff --quiet HEAD FETCH_HEAD; then
- git pull --quiet
-
- # clear line and message
- echo -ne "\033[1K"
- echo -e "\\rpulled remote changes into $1"
- fi
-}
-
-# Git stash quietly unless there's an error
-git_stash () {
- git stash > /dev/null 2>&1 || \
- echo "git stash error in $1: $? "
-}
-
-# Git stash pop quietly unless there's an error
-git_stash_pop () {
- git stash pop > /dev/null 2>&1 || \
- echo "git stash error in $1: $? "
-}
-
-# Function to process a directory
-process_directory() {
- if [ -d "$1/.git" ]; then
- # Check remote repository
- cd "$1"
-
- # skip URLs with http/s URLS as they're directories cloned for reference only
- # skip git directories with no remote repository associated as well
- remote_url=$(git config --get remote.origin.url)
- if [ -n "$remote_url" ]; then
- # if remote URL is http or https or empty, skip the directory
- if [ -z "$remote_url" ] || echo "$remote_url" | grep -E -q "^(http|https)://"; then
- return
- fi
-
- # clear line and update directory
- echo -ne "$CLEAR_LINE"
- echo -ne "\\rchecking: $1 "
-
- if [ "$2" = "start" ]; then
- if [ -n "$(git status --porcelain)" ]; then
- # notify user of uncommitted work
- echo ""; echo ">>>> uncommitted work found in $1";
-
- # git stash, pull latest files, then pop uncommitted work
- git_stash "$1"
- git_maybe_pull "$1"
- git_stash_pop "$1"
- else
- # retrieve any latest changes
- git_maybe_pull "$1"
- fi
- elif [ "$2" = "end" ]; then
- # Check for uncommitted work
- if [ -n "$(git status --porcelain)" ]; then
- echo ""; echo ">>>> Uncommitted work found in $1. <<<<"; echo ""
- fi
- return # Skip pulling changes
- fi
- fi
- fi
-}
-
-# Process directories
-for directory in "$project_dirs"/*; do
- process_directory "$directory" "$1"
-done
-for directory in "$sync_dirs"/*; do
- process_directory "$directory" "$1"
-done
-for directory in "$code_dirs"/*; do
- process_directory "$directory" "$1"
-done
-
-# clear line and message finished
-echo -ne "\033[1K"
-echo -ne "\\rfinished.\n"
diff --git a/dotfiles/system/.local/bin/prompt b/dotfiles/system/.local/bin/prompt
deleted file mode 100755
index 666434f..0000000
--- a/dotfiles/system/.local/bin/prompt
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# A dmenu binary prompt script.
-# Gives a dmenu prompt labeled with $1 to perform command $2.
-# For example:
-# `./prompt "Do you want to shutdown?" "shutdown -h now"`
-
-[ "$(printf "No\\nYes" | dmenu -i -p "$1" -nb darkred -sb red -sf white -nf gray )" = "Yes" ] && $2
diff --git a/dotfiles/system/.local/bin/protonvpn b/dotfiles/system/.local/bin/protonvpn
deleted file mode 100755
index 0f24068..0000000
--- a/dotfiles/system/.local/bin/protonvpn
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-
-flatpak run com.protonvpn.www \ No newline at end of file
diff --git a/dotfiles/system/.local/bin/recordnow b/dotfiles/system/.local/bin/recordnow
deleted file mode 100755
index 4e2d04a..0000000
--- a/dotfiles/system/.local/bin/recordnow
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env sh
-# Craig Jennings <c@cjennings.net>
-
-# Start a screen recording using ffmpeg to capture the entire
-# screen along with all audio and the microphone.
-
-# Make sure that ffmpeg is in the path and the destination directory
-# exists.
-
-LOCATION="$HOME/videos/recordings"
-NAME=$(date +'%Y-%m-%d-%H-%M-%S')
-echo $NAME
-
-# create the directory if it doesn't exist
-if [ ! -d "$LOCATION" ]; then
- mkdir -p "$LOCATION"
-fi
-
-# error out if ffmpeg isn't installed
-if ! command -v ffmpeg &> /dev/null
-then
- echo "ERROR: ffmpeg couldn't be found. Please ensure it's installed and added to your PATH."
- exit
-fi
-
-ffmpeg -framerate 30 -f x11grab -i :0.0+ -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo -ac 1 -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -ac 2 "$LOCATION/$NAME".mkv
diff --git a/dotfiles/system/.local/bin/remaps b/dotfiles/system/.local/bin/remaps
deleted file mode 100755
index c95ac84..0000000
--- a/dotfiles/system/.local/bin/remaps
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# This script is called on startup to remap keys.
-# Decrease key repeat delay to 300ms and increase key repeat rate to 50 per second.
-xset r rate 300 50
-# Map the caps lock key to super, and map the menu key to right super.
-setxkbmap -option caps:super,altwin:menu_win
-# When caps lock is pressed only once, treat it as escape.
-killall xcape 2>/dev/null ; xcape -e 'Super_L=Escape'
-# Turn off caps lock if on since there is no longer a key for it.
-xset -q | grep "Caps Lock:\s*on" && xdotool key Caps_Lock
diff --git a/dotfiles/system/.local/bin/reset-auth b/dotfiles/system/.local/bin/reset-auth
deleted file mode 100755
index a3aaeb5..0000000
--- a/dotfiles/system/.local/bin/reset-auth
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-# reset-auth
-# Resets all GPG and SSH authentication agents
-# Useful when auth gets stuck or after unlocking gpg keys
-#
-# Craig Jennings <c@cjennings.net>
-
-echo "Resetting authentication agents..."
-
-# Kill GPG agent cleanly
-echo " Stopping gpg-agent..."
-gpgconf --kill gpg-agent 2>/dev/null
-
-# Kill any remaining gpg-agent processes
-killall gpg-agent 2>/dev/null
-
-# Kill SSH agent
-echo " Stopping ssh-agent..."
-killall ssh-agent 2>/dev/null
-
-# Clear GPG cache
-echo " Clearing GPG cache..."
-gpgconf --reload gpg-agent 2>/dev/null
-
-# Restart GPG agent
-echo " Starting gpg-agent..."
-gpg-connect-agent /bye 2>/dev/null
-
-# Note: SSH agent typically starts automatically via shell profile or systemd
-# If you need to manually start ssh-agent, uncomment:
-# eval "$(ssh-agent -s)"
-
-echo "โœ“ Authentication agents reset complete"
-echo ""
-echo "Note: You may need to source your shell profile or start a new terminal"
-echo " for SSH agent to be fully reinitialized."
diff --git a/dotfiles/system/.local/bin/resetmimetypes b/dotfiles/system/.local/bin/resetmimetypes
deleted file mode 100755
index 88c58f3..0000000
--- a/dotfiles/system/.local/bin/resetmimetypes
+++ /dev/null
@@ -1,295 +0,0 @@
-# Remove Old Databases
-rm ~/.config/mimeapps.list >> /dev/null 2>&1
-rm ~/.local/share/applications/mimeinfo.cache >> /dev/null 2>&1
-rm ~/.local/share/applications/mimeinfo.list >> /dev/null 2>&1
-
-# Directory Node: thunar
-# Open directory nodes in thunar
-xdg-mime default thunar.desktop inode/directory
-
-# Audio Files: audacious
-# xdg-mime default audacious.desktop audio/basic
-# xdg-mime default audacious.desktop audio/flac.wav
-# xdg-mime default audacious.desktop audio/mp4
-# xdg-mime default audacious.desktop audio/mpeg
-# xdg-mime default audacious.desktop audio/ogg
-# xdg-mime default audacious.desktop audio/opus
-# xdg-mime default audacious.desktop audio/vnd.rn-realaudio
-# xdg-mime default audacious.desktop audio/vnd.wav
-# xdg-mime default audacious.desktop audio/vorbis
-# xdg-mime default audacious.desktop audio/x-aiff
-# xdg-mime default audacious.desktop audio/x-mpegurl
-
-# Audio Files: mpv
-xdg-mime default mpv.desktop audio/basic
-xdg-mime default mpv.desktop audio/flac.wav
-xdg-mime default mpv.desktop audio/mp4
-xdg-mime default mpv.desktop audio/mpeg
-xdg-mime default mpv.desktop audio/ogg
-xdg-mime default mpv.desktop audio/opus
-xdg-mime default mpv.desktop audio/vnd.rn-realaudio
-xdg-mime default mpv.desktop audio/vnd.wav
-xdg-mime default mpv.desktop audio/vorbis
-xdg-mime default mpv.desktop audio/x-aiff
-xdg-mime default mpv.desktop audio/x-mpegurl
-
-# Video Files: mpv
-# xdg-mime default mpv.desktop application/mpeg4-iod
-# xdg-mime default mpv.desktop application/mpeg4-muxcodetable
-# xdg-mime default mpv.desktop application/ogg
-# xdg-mime default mpv.desktop application/vnd.apple.mpegurl
-# xdg-mime default mpv.desktop application/x-quicktime-media-link
-# xdg-mime default mpv.desktop application/x-quicktimeplayer
-# xdg-mime default mpv.desktop application/x-shockwave-flash
-# xdg-mime default mpv.desktop video/avi
-# xdg-mime default mpv.desktop video/divx
-# xdg-mime default mpv.desktop video/flv
-# xdg-mime default mpv.desktop video/mp4
-# xdg-mime default mpv.desktop video/mp4
-# xdg-mime default mpv.desktop video/mp4v-es
-# xdg-mime default mpv.desktop video/mpeg
-# xdg-mime default mpv.desktop video/mpeg-system
-# xdg-mime default mpv.desktop video/msvideo
-# xdg-mime default mpv.desktop video/ogg
-# xdg-mime default mpv.desktop video/quicktime
-# xdg-mime default mpv.desktop video/vnd.divx
-# xdg-mime default mpv.desktop video/vnd.mpegurl
-# xdg-mime default mpv.desktop video/vnd.rn-realvideo
-# xdg-mime default mpv.desktop video/webm
-# xdg-mime default mpv.desktop video/x-avi
-# xdg-mime default mpv.desktop video/x-flv
-# xdg-mime default mpv.desktop video/x-m4v
-# xdg-mime default mpv.desktop video/x-matroska
-# xdg-mime default mpv.desktop video/x-mpeg
-# xdg-mime default mpv.desktop video/x-mpeg-system
-# xdg-mime default mpv.desktop video/x-mpeg2
-# xdg-mime default mpv.desktop video/x-ms-wmv
-# xdg-mime default mpv.desktop video/x-msvideo
-# xdg-mime default mpv.desktop video/x-theora
-# xdg-mime default mpv.desktop video/x-theora+ogg
-# xdg-mime default mpv.desktop x-content/video-dvd
-# xdg-mime default mpv.desktop x-content/video-svcd
-# xdg-mime default mpv.desktop x-content/video-vcd
-
-# Video Files: vlc
-xdg-mime default vlc.desktop application/mpeg4-iod
-xdg-mime default vlc.desktop application/mpeg4-muxcodetable
-xdg-mime default vlc.desktop application/ogg
-xdg-mime default vlc.desktop application/vnd.apple.mpegurl
-xdg-mime default vlc.desktop application/x-quicktime-media-link
-xdg-mime default vlc.desktop application/x-quicktimeplayer
-xdg-mime default vlc.desktop application/x-shockwave-flash
-xdg-mime default vlc.desktop video/avi
-xdg-mime default vlc.desktop video/divx
-xdg-mime default vlc.desktop video/flv
-xdg-mime default vlc.desktop video/mp4
-xdg-mime default vlc.desktop video/mp4
-xdg-mime default vlc.desktop video/mp4v-es
-xdg-mime default vlc.desktop video/mpeg
-xdg-mime default vlc.desktop video/mpeg-system
-xdg-mime default vlc.desktop video/msvideo
-xdg-mime default vlc.desktop video/ogg
-xdg-mime default vlc.desktop video/quicktime
-xdg-mime default vlc.desktop video/vnd.divx
-xdg-mime default vlc.desktop video/vnd.mpegurl
-xdg-mime default vlc.desktop video/vnd.rn-realvideo
-xdg-mime default vlc.desktop video/webm
-xdg-mime default vlc.desktop video/x-avi
-xdg-mime default vlc.desktop video/x-flv
-xdg-mime default vlc.desktop video/x-m4v
-xdg-mime default vlc.desktop video/x-matroska
-xdg-mime default vlc.desktop video/x-mpeg
-xdg-mime default vlc.desktop video/x-mpeg-system
-xdg-mime default vlc.desktop video/x-mpeg2
-xdg-mime default vlc.desktop video/x-ms-wmv
-xdg-mime default vlc.desktop video/x-msvideo
-xdg-mime default vlc.desktop video/x-theora
-xdg-mime default vlc.desktop video/x-theora+ogg
-xdg-mime default vlc.desktop x-content/video-dvd
-xdg-mime default vlc.desktop x-content/video-svcd
-xdg-mime default vlc.desktop x-content/video-vcd
-
-
-# Images: NSXIV
-xdg-mime default nsxiv.desktop image/bmp
-xdg-mime default nsxiv.desktop image/gif
-xdg-mime default nsxiv.desktop image/jpegmix.desktop;
-xdg-mime default nsxiv.desktop image/jpg
-xdg-mime default nsxiv.desktop image/png
-xdg-mime default nsxiv.desktop image/tiff
-xdg-mime default nsxiv.desktop image/x-bmp
-xdg-mime default nsxiv.desktop image/x-eps
-xdg-mime default nsxiv.desktop image/x-ico
-xdg-mime default nsxiv.desktop image/x-icon
-xdg-mime default nsxiv.desktop image/x-xbitmap
-xdg-mime default nsxiv.desktop image/x-xpixmapq
-
-# Torrent Files: Transmission Remote
-xdg-mime default io.github.TransmissionRemoteGtk-gtk.desktop application/x-bittorrent
-xdg-mime default io.github.TransmissionRemoteGtk.desktop x-scheme-handler/magnet
-
-# Web Browser: Chromium Browser
-# xdg-mime default chromium.desktop application/rdf+xml
-# xdg-mime default chromium.desktop application/rss+xml
-# xdg-mime default chromium.desktop application/xhtml+xml
-# xdg-mime default chromium.desktop application/xhtml_xml
-# xdg-mime default chromium.desktop application/xml
-# # xdg-mime default chromium.desktop image/gif
-# # xdg-mime default chromium.desktop image/jpeg
-# # xdg-mime default chromoum.desktop image/png
-# # xdg-mime default chromium.desktop image/webp
-# xdg-mime default chromium.desktop text/html
-# xdg-mime default chromium.desktop text/xml
-# xdg-mime default chromium.desktop x-scheme-handler/http
-# xdg-mime default chromium.desktop x-scheme-handler/https
-
-# Web Browser: Google-Chrome Browser
-# xdg-mime default google-chrome.desktop application/rdf+xml
-# xdg-mime default google-chrome.desktop application/rss+xml
-# xdg-mime default google-chrome.desktop application/xhtml+xml
-# xdg-mime default google-chrome.desktop application/xhtml_xml
-# xdg-mime default google-chrome.desktop application/xml
-# # xdg-mime default google-chrome.desktop image/gif
-# # xdg-mime default google-chrome.desktop image/jpeg
-# # xdg-mime default chromoum.desktop image/png
-# # xdg-mime default google-chrome.desktop image/webp
-# xdg-mime default google-chrome.desktop text/html
-# xdg-mime default google-chrome.desktop text/xml
-# xdg-mime default google-chrome.desktop x-scheme-handler/http
-# xdg-mime default google-chrome.desktop x-scheme-handler/https
-
-
-# Web Browser: Firefox
-xdg-mime default firefox.desktop application/rdf+xml
-xdg-mime default firefox.desktop application/rss+xml
-xdg-mime default firefox.desktop application/xhtml+xml
-xdg-mime default firefox.desktop application/xhtml_xml
-xdg-mime default firefox.desktop application/xml
-# xdg-mime default firefox.desktop image/gif
-# xdg-mime default firefox.desktop image/jpeg
-# xdg-mime default firefox.desktop image/png
-# xdg-mime default firefox.desktop image/webp
-xdg-mime default firefox.desktop text/html
-xdg-mime default firefox.desktop text/xml
-xdg-mime default firefox.desktop x-scheme-handler/http
-xdg-mime default firefox.desktop x-scheme-handler/https
-
-# Mobi Ebooks: calibre-ebook-reader
-xdg-mime default calibre-ebook-viewer.desktop application/x-mobi8-ebook
-xdg-mime default calibre-ebook-viewer.desktop application/x-mobipocket-ebook
-
-# Text and Source Code: Emacsclient
-xdg-mime default emacsclient.desktop application/x-shellscript
-xdg-mime default emacsclient.desktop text/english
-xdg-mime default emacsclient.desktop text/markdown
-xdg-mime default emacsclient.desktop text/plain
-xdg-mime default emacsclient.desktop text/x-c
-xdg-mime default emacsclient.desktop text/x-c++
-xdg-mime default emacsclient.desktop text/x-c++hdr
-xdg-mime default emacsclient.desktop text/x-c++src
-xdg-mime default emacsclient.desktop text/x-chdr
-xdg-mime default emacsclient.desktop text/x-csrc
-xdg-mime default emacsclient.desktop text/x-java
-xdg-mime default emacsclient.desktop text/x-makefile
-xdg-mime default emacsclient.desktop text/x-moc
-xdg-mime default emacsclient.desktop text/x-pascal
-xdg-mime default emacsclient.desktop text/x-tcl
-xdg-mime default emacsclient.desktop text/x-tex
-
-# PDF/EPUB: Emacsclient
-# xdg-mime default emacsclient.desktop application/eps
-# xdg-mime default emacsclient.desktop application/epub+zip
-# xdg-mime default emacsclient.desktop application/oxps
-# xdg-mime default emacsclient.desktop application/pdf
-# xdg-mime default emacsclient.desktop application/postscript
-# xdg-mime default emacsclient.desktop application/ps
-# xdg-mime default emacsclient.desktop application/x-fictionbook;
-# xdg-mime default emacsclient.desktop image/eps
-# xdg-mime default emacsclient.desktop image/vnd.djvu
-# xdg-mime default emacsclient.desktop image/vnd.djvu+multipage
-
-# PDF ePUB: Zathura
-xdg-mime default org.pwmt.zathura.desktop application/eps
-xdg-mime default org.pwmt.zathura.desktop application/epub+zip
-xdg-mime default org.pwmt.zathura.desktop application/oxps
-xdg-mime default org.pwmt.zathura.desktop application/pdf
-xdg-mime default org.pwmt.zathura.desktop application/postscript
-xdg-mime default org.pwmt.zathura.desktop application/ps
-xdg-mime default org.pwmt.zathura.desktop application/x-fictionbook;
-xdg-mime default org.pwmt.zathura.desktop image/eps
-xdg-mime default org.pwmt.zathura.desktop image/vnd.djvu
-xdg-mime default org.pwmt.zathura.desktop image/vnd.djvu+multipage
-
-# PDF ePUB: Foliate
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/eps
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/epub+zip
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/oxps
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/pdf
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/postscript
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/ps
-# xdg-mime default com.github.johnfactotum.Foliate.desktop application/x-fictionbook;
-# xdg-mime default com.github.johnfactotum.Foliate.desktop image/eps
-# xdg-mime default com.github.johnfactotum.Foliate.desktop image/vnd.djvu
-# xdg-mime default com.github.johnfactotum.Foliate.desktop image/vnd.djvu+multipage
-
-# PDF ePUB: Evince
-# xdg-mime default org.gnome.Evince.desktop application/eps
-# # xdg-mime default org.gnome.Evince.desktop application/epub+zip
-# xdg-mime default org.gnome.Evince.desktop application/oxps
-# xdg-mime default org.gnome.Evince.desktop application/pdf
-# xdg-mime default org.gnome.Evince.desktop application/postscript
-# xdg-mime default org.gnome.Evince.desktop application/ps
-# # xdg-mime default org.gnome.Evince.desktop application/x-fictionbook;
-# # xdg-mime default org.gnome.Evince.desktop image/eps
-# xdg-mime default org.gnome.Evince.desktop image/vnd.djvu
-# xdg-mime default org.gnome.Evince.desktop image/vnd.djvu+multipage
-
-# Comics Files: Zathura
-xdg-mime default org.pwmt.zathura.desktop application/vnd.comicbook+zip
-xdg-mime default org.pwmt.zathura.desktop application/vnd.comicbook-rar
-
-# Libreoffice Writer
-xdg-mime default libreoffice-writer.desktop application/clarisworks
-xdg-mime default libreoffice-writer.desktop application/macwriteii
-xdg-mime default libreoffice-writer.desktop application/msword
-xdg-mime default libreoffice-writer.desktop application/prs.plucker
-xdg-mime default libreoffice-writer.desktop application/rtf
-xdg-mime default libreoffice-writer.desktop application/vnd.lotus-wordpro
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-word
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-word.template.macroEnabled.12
-xdg-mime default libreoffice-writer.desktop application/vnd.ms-works
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-flat-xml
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-master
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-master-template
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-template
-xdg-mime default libreoffice-writer.desktop application/vnd.oasis.opendocument.text-web
-xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument
-xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document
-xdg-mime default libreoffice-writer.desktop application/vnd.palm
-xdg-mime default libreoffice-writer.desktop application/vnd.stardivision.writer-global
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer.global
-xdg-mime default libreoffice-writer.desktop application/vnd.sun.xml.writer.template
-xdg-mime default libreoffice-writer.desktop application/vnd.wordperfect
-xdg-mime default libreoffice-writer.desktop application/wordperfect
-xdg-mime default libreoffice-writer.desktop application/x-abiword
-xdg-mime default libreoffice-writer.desktop application/x-aportisdoc
-xdg-mime default libreoffice-writer.desktop application/x-doc
-xdg-mime default libreoffice-writer.desktop application/x-extension-txt
-xdg-mime default libreoffice-writer.desktop application/x-fictionbook+xml
-xdg-mime default libreoffice-writer.desktop application/x-hwp
-xdg-mime default libreoffice-writer.desktop application/x-iwork-pages-sffpages
-xdg-mime default libreoffice-writer.desktop application/x-mswrite
-xdg-mime default libreoffice-writer.desktop application/x-sony-bbeb
-xdg-mime default libreoffice-writer.desktop application/x-starwriter
-xdg-mime default libreoffice-writer.desktop application/x-t602
-xdg-mime default libreoffice-writer.desktop text/rtf
-
-# FTP Scheme-Handler: Filezilla
-xdg-mime default filezilla.desktop x-scheme-handler/ftp
-
-# Org-Protocol Scheme-Handler: emacsclient
-xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol
-
-update-desktop-database ~/.local/share/applications/
diff --git a/dotfiles/system/.local/bin/samedir b/dotfiles/system/.local/bin/samedir
deleted file mode 100755
index 371ec64..0000000
--- a/dotfiles/system/.local/bin/samedir
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# Open a terminal window in the same directory as the currently active window.
-
-PID=$(xprop -id "$(xprop -root | xprop -root | sed -n "/_NET_ACTIVE_WINDOW/ s/^.*# // p")" | sed -n "/PID/ s/^.*= // p")
-PID="$(pstree -lpA "$PID")"
-PID="${PID##*"${SHELL##*/}"(}"
-PID="${PID%%)*}"
-cd "$(readlink /proc/"$PID"/cwd)" || return 1
-"$TERMINAL"
diff --git a/dotfiles/system/.local/bin/setbg b/dotfiles/system/.local/bin/setbg
deleted file mode 100755
index b72dc7d..0000000
--- a/dotfiles/system/.local/bin/setbg
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# This script does the following:
-# Run by itself, set the wallpaper (at X start).
-# If given a file, set that as the new wallpaper.
-# If given a directory, choose random file in it.
-# If wal is installed, also generates a colorscheme.
-
-# Location of link to wallpaper link.
-bgloc="${XDG_DATA_HOME:-$HOME/.local/share}/bg"
-
-# Configuration files of applications that have their themes changed by pywal.
-dunstconf="${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc"
-zathuraconf="${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc"
-
-trueloc="$(readlink -f "$1")" &&
-case "$(file --mime-type -b "$trueloc")" in
- image/* ) ln -sf "$(readlink -f "$1")" "$bgloc" && notify-send -i "$bgloc" "Changing wallpaper..." ;;
- inode/directory ) ln -sf "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$bgloc" && notify-send -i "$bgloc" "Random Wallpaper chosen." ;;
- *) notify-send "๐Ÿ–ผ๏ธ Error" "Not a valid image or directory." ; exit 1;;
-esac
-
-# If pywal is installed, use it.
-if command -v wal >/dev/null 2>&1 ; then
- wal -n -i "$(readlink -f $bgloc)" -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1
-# If pywal is removed, return config files to normal.
-else
- [ -f "$dunstconf.bak" ] && unlink "$dunstconf" && mv "$dunstconf.bak" "$dunstconf"
- [ -f "$zathuraconf.bak" ] && unlink "$zathuraconf" && mv "$zathuraconf.bak" "$zathuraconf"
-fi
-
-xwallpaper --zoom "$bgloc"
-# If running, dwm hit the key to refresh the color scheme.
-pidof dwm >/dev/null && xdotool key super+F5
diff --git a/dotfiles/system/.local/bin/starth b/dotfiles/system/.local/bin/starth
deleted file mode 100755
index 98513d6..0000000
--- a/dotfiles/system/.local/bin/starth
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-# startup file for Hyprland
-
-export WLR_EGL_NO_MODIFIERS=1
-export XDG_CURRENT_DESKTOP=Hyprland
-export XDG_SESSION_TYPE=wayland
-export XDG_SESSION_DESKTOP=Hyprland
-
-exec Hyprland
diff --git a/dotfiles/system/.local/bin/statusbar/sb-battery b/dotfiles/system/.local/bin/statusbar/sb-battery
deleted file mode 100755
index 93cbe08..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-battery
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# Prints all batteries, their percentage remaining and an emoji corresponding
-# to charge status (๐Ÿ”Œ for plugged up, ๐Ÿ”‹ for discharging on battery, etc.).
-
-case $BLOCK_BUTTON in
- 3) notify-send "๐Ÿ”‹ Battery module" "๐Ÿ”‹: discharging
-๐Ÿ›‘: not charging
-โ™ป: stagnant charge
-๐Ÿ”Œ: charging
-โšก: charged
-โ—: battery very low!
-- Scroll to change adjust xbacklight." ;;
- 4) xbacklight -inc 10 ;;
- 5) xbacklight -dec 10 ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-# Loop through all attached batteries and format the info
-for battery in /sys/class/power_supply/BAT?*; do
- # If non-first battery, print a space separator.
- [ -n "${capacity+x}" ] && printf " "
- # Sets up the status and capacity
- case "$(cat "$battery/status" 2>&1)" in
- "Full") status="โšก" ;;
- "Discharging") status="๐Ÿ”‹" ;;
- "Charging") status="๐Ÿ”Œ" ;;
- "Not charging") status="๐Ÿ›‘" ;;
- "Unknown") status="โ™ป๏ธ" ;;
- *) exit 1 ;;
- esac
- capacity="$(cat "$battery/capacity" 2>&1)"
- # Will make a warn variable if discharging and low
- [ "$status" = "๐Ÿ”‹" ] && [ "$capacity" -le 25 ] && warn="โ—"
- # Prints the info
- printf "%s%s%d%%" "$status" "$warn" "$capacity"; unset warn
-done && printf "\\n"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-clock b/dotfiles/system/.local/bin/statusbar/sb-clock
deleted file mode 100755
index e1ca8c7..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-clock
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-clock=$(date '+%I')
-
-case "$clock" in
- "00") icon="๐Ÿ•›" ;;
- "01") icon="๐Ÿ•" ;;
- "02") icon="๐Ÿ•‘" ;;
- "03") icon="๐Ÿ•’" ;;
- "04") icon="๐Ÿ•“" ;;
- "05") icon="๐Ÿ•”" ;;
- "06") icon="๐Ÿ••" ;;
- "07") icon="๐Ÿ•–" ;;
- "08") icon="๐Ÿ•—" ;;
- "09") icon="๐Ÿ•˜" ;;
- "10") icon="๐Ÿ•™" ;;
- "11") icon="๐Ÿ•š" ;;
- "12") icon="๐Ÿ•›" ;;
-esac
-
-case $BLOCK_BUTTON in
- 1) notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"red\">/;s|..27m|</span></b>|")" && notify-send "Appointments" "$(calcurse -d3)" ;;
- 2) setsid -f "$TERMINAL" -e calcurse ;;
- 3) 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" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-date "+%Y %b %d (%a) $icon%I:%M%p"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-cpu b/dotfiles/system/.local/bin/statusbar/sb-cpu
deleted file mode 100755
index 1572b52..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-cpu
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-case $BLOCK_BUTTON in
- 1) notify-send "๐Ÿ–ฅ CPU hogs" "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)\\n(100% per core)" ;;
- 2) setsid -f "$TERMINAL" -e htop ;;
- 3) notify-send "๐Ÿ–ฅ CPU module " "\- Shows CPU temperature.
-- Click to show intensive processes.
-- Middle click to open htop." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-sensors | awk '/Core 0/ {print "๐ŸŒก" $3}'
diff --git a/dotfiles/system/.local/bin/statusbar/sb-cpubars b/dotfiles/system/.local/bin/statusbar/sb-cpubars
deleted file mode 100755
index 297424e..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-cpubars
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# Module showing CPU load as a changing bars.
-# Just like in polybar.
-# Each bar represents amount of load on one core since
-# last run.
-
-# Cache in tmpfs to improve speed and reduce SSD load
-cache=/tmp/cpubarscache
-
-case $BLOCK_BUTTON in
- 2) setsid -f "$TERMINAL" -e htop ;;
- 3) notify-send "๐Ÿชจ CPU load module" "Each bar represents
-one CPU core";;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-# id total idle
-stats=$(awk '/cpu[0-9]+/ {printf "%d %d %d\n", substr($1,4), ($2 + $3 + $4 + $5), $5 }' /proc/stat)
-[ ! -f $cache ] && echo "$stats" > "$cache"
-old=$(cat "$cache")
-printf "๐Ÿชจ"
-echo "$stats" | while read -r row; do
- id=${row%% *}
- rest=${row#* }
- total=${rest%% *}
- idle=${rest##* }
-
- case "$(echo "$old" | awk '{if ($1 == id)
- printf "%d\n", (1 - (idle - $3) / (total - $2))*100 /12.5}' \
- id="$id" total="$total" idle="$idle")" in
-
- "0") printf "โ–";;
- "1") printf "โ–‚";;
- "2") printf "โ–ƒ";;
- "3") printf "โ–„";;
- "4") printf "โ–…";;
- "5") printf "โ–†";;
- "6") printf "โ–‡";;
- "7") printf "โ–ˆ";;
- "8") printf "โ–ˆ";;
- esac
-done; printf "\\n"
-echo "$stats" > "$cache"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-disk b/dotfiles/system/.local/bin/statusbar/sb-disk
deleted file mode 100755
index e947509..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-disk
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# Status bar module for disk space
-# $1 should be drive mountpoint, otherwise assumed /.
-
-location=${1:-/}
-
-[ -d "$location" ] || exit
-
-case $BLOCK_BUTTON in
- 1) notify-send "๐Ÿ’ฝ Disk space" "$(df -h --output=target,used,size)" ;;
- 3) notify-send "๐Ÿ’ฝ Disk module" "\- Shows used hard drive space.
-- Click to show all disk info." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-case "$location" in
- "/home"* ) icon="๐Ÿ " ;;
- "/mnt"* ) icon="๐Ÿ’พ" ;;
- *) icon="๐Ÿ–ฅ";;
-esac
-
-printf "%s: %s\n" "$icon" "$(df -h "$location" | awk ' /[0-9]/ {print $3 "/" $2}')"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-doppler b/dotfiles/system/.local/bin/statusbar/sb-doppler
deleted file mode 100755
index b5833a7..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-doppler
+++ /dev/null
@@ -1,279 +0,0 @@
-#!/bin/sh
-
-# Show a Doppler RADAR of a user's preferred location.
-
-secs=600 # Download a new doppler radar if one hasn't been downloaded in $secs seconds.
-radarloc="${XDG_CACHE_HOME:-$HOME/.cache}/radar"
-doppler="${XDG_CACHE_HOME:-$HOME/.cache}/doppler.gif"
-
-pickloc() { chosen="$(echo "US: Northeast
-US: Southeast
-US: PacNorthWest
-US: PacSouthWest
-US: UpperMissVly
-US: SouthMissVly
-US: SouthPlains
-US: NorthRockies
-US: SouthRockies
-US: Alaska
-US: Carib
-US: Hawaii
-US: CentGrLakes
-US: Conus-Large
-US: KABR: Aberdeen, SD
-US: KBIS: Bismarck, ND
-US: KFTG: Denver/Boulder, CO
-US: KDMX: Des Moines, IA
-US: KDTX: Detroit, MI
-US: KDDC: Dodge City, KS
-US: KDLH: Duluth, MN
-US: KCYS: Cheyenne, WY
-US: KLOT: Chicago, IL
-US: KGLD: Goodland, KS
-US: KUEX: Hastings, NE
-US: KGJX: Grand Junction, CO
-US: KGRR: Grand Rapids, MI
-US: KMVX: Fargo/Grand Forks, ND
-US: KGRB: Green Bay, WI
-US: KIND: Indianapolis, IN
-US: KJKL: Jackson, KY
-US: KARX: La Crosse, WI
-US: KILX: Lincoln/Central Illinois, IL
-US: KLVX: Louisville, KY
-US: KMQT: Marquette
-US: KMKX: Milwaukee, WI
-US: KMPX: Minneapolis, MN
-US: KAPX: Gaylord/Alpena, MI
-US: KLNX: North Platte, NE
-US: KIWX: N. Webster/Northern, IN
-US: KOAX: Omaha, NE
-US: KPAH: Paducah, KY
-US: KEAX: Pleasant Hill, MO
-US: KPUX: Pueblo, CO
-US: KDVN: Quad Cities, IA
-US: KUDX: Rapid City, SD
-US: KRIW: Riverton, WY
-US: KSGF: Springfield, MO
-US: KLSX: St. LOUIS, MO
-US: KFSD: Sioux Falls, IA
-US: KTWX: Topeka, KS
-US: KICT: Wichita, KS
-US: KVWX: Paducah, KY
-US: ICAO: Responsible Wfo
-US: KLTX: WILMINGTON, NC
-US: KCCX: State College/Central, PA
-US: KLWX: Sterling, VA
-US: KFCX: Blacksburg/Roanoke, VA
-US: KRAX: Raleigh/Durham, NC
-US: KGYX: Portland, ME
-US: KDIX: Mt Holly/Philadelphia, PA
-US: KPBZ: Pittsburgh, PA
-US: KAKQ: Wakefield, VA
-US: KMHX: Morehead City, NC
-US: KGSP: Greer/Greenville/Sprtbg, SC
-US: KILN: Wilmington/Cincinnati, OH
-US: KCLE: Cleveland, OH
-US: KCAE: Columbia, SC
-US: KBGM: Binghamton, NY
-US: KENX: Albany, NY
-US: KBUF: Buffalo, NY
-US: KCXX: Burlington, VT
-US: KCBW: Caribou, ME
-US: KBOX: Boston /Taunton, MA
-US: KOKX: New York City, NY
-US: KCLX: Charleston, SC
-US: KRLX: Charleston, WV
-US: ICAO: Responsible WFO
-US: KBRO: Brownsville, TX
-US: KABX: Albuquerque, NM
-US: KAMA: Amarillo, TX
-US: KFFC: Peachtree City/Atlanta, GA
-US: KEWX: Austin/Sanantonio, TX
-US: KBMX: Birmingham, AL
-US: KCRP: Corpus Christi, TX
-US: KFWS: Dallas / Ft. Worth, TX
-US: KEPZ: El Paso, TX
-US: KHGX: Houston/ Galveston, TX
-US: KJAX: Jacksonville, FL
-US: KBYX: Key West, FL
-US: KMRX: Morristown/knoxville, TN
-US: KLBB: Lubbock, TX
-US: KLZK: Little Rock, AR
-US: KLCH: Lake Charles, LA
-US: KOHX: Nashville, TN
-US: KMLB: Melbourne, FL
-US: KNQA: Memphis, TN
-US: KAMX: Miami, FL
-US: KMAF: Midland/odessa, TX
-US: KTLX: Norman, OK
-US: KHTX: Huntsville, AL
-US: KMOB: Mobile, AL
-US: KTLH: Tallahassee, FL
-US: KTBW: Tampa Bay Area, FL
-US: KSJT: San Angelo, TX
-US: KINX: Tulsa, OK
-US: KSRX: Tulsa, OK
-US: KLIX: New Orleans/slidell, LA
-US: KDGX: Jackson, MS
-US: KSHV: Shreveport, LA
-US: ICAO: Responsible WFO
-US: KLGX: Seattle / Tacoma, WA
-US: KOTX: Spokane, WA
-US: KEMX: Tucson, AZ
-US: KYUX: Phoenix, AZ
-US: KNKX: San Diego, CA
-US: KMUX: Monterey/san Francisco, CA
-US: KHNX: San Joaquin/hanford, CA
-US: KSOX: San Diego, CA
-US: KATX: Seattle / Tacoma, WA
-US: KIWA: Phoenix, AZ
-US: KRTX: Portland, OR
-US: KSFX: Pocatello, ID
-US: KRGX: Reno, NV
-US: KDAX: Sacramento, CA
-US: KMTX: Salt Lake City, UT
-US: KPDT: Pendleton, OR
-US: KMSX: Missoula, MT
-US: KESX: Las Vegas, NV
-US: KVTX: Los Angeles, CA
-US: KMAX: Medford, OR
-US: KFSX: Flagstaff, AZ
-US: KGGW: Glasgow, MT
-US: KLRX: Elko, NV
-US: KBHX: Eureka, CA
-US: KTFX: Great Falls, MT
-US: KCBX: Boise, ID
-US: KBLX: Billings, MT
-US: KICX: Salt Lake City, UT
-US: ICAO: Responsible Wfo W/ MSCF
-US: PABC: Anchorage, AK
-US: PAPD: Fairbanks, AK
-US: PHKM: Honolulu, HI
-US: PAHG: Anchorage, AK
-US: PAKC: Anchorage, AK
-US: PAIH: Anchorage, AK
-US: PHMO: Honolulu, HI
-US: PAEC: Fairbanks, AK
-US: TJUA: San Juan, PR
-US: PACG: Juneau, AK
-US: PHKI: Honolulu, HI
-US: PHWA: Honolulu, HI
-US: ICAO: Responsible Wfo W/ MSCF
-US: KFDR: Norman, OK
-US: PGUA: Guam
-US: KBBX: Sacramento, CA
-US: KFDX: Albuquerque, NM
-US: KGWX: Jackson, MS
-US: KDOX: Wakefield, VA
-US: KDYX: San Angelo, TX
-US: KEYX: Las Vegas, NV
-US: KEVX: Mobile, AL
-US: KHPX: Paducah, KY
-US: KTYX: Burlington, VT
-US: KGRK: Dallas / Ft. Worth, TX
-US: KPOE: Lake Charles, LA
-US: KEOX: Tallahassee, FL
-US: KHDX: El Paso, TX
-US: KDFX: San Antonio, TX
-US: KMXX: Birmingham, AL
-US: KMBX: Bismarck, ND
-US: KVAX: Jacksonville, FL
-US: KJGX: Peachtree City/atlanta, GA
-US: KVNX: Norman, OK
-US: KVBX: Vandenberg Afb: Orcutt, CA
-EU: Europe
-EU: GB: Great Brittain
-EU: SCAN: Scandinavia
-EU: ALPS: The Alps
-EU: NL: The Netherlands
-EU: DE: Germany
-EU: SP: Spain
-EU: FR: France
-EU: IT: Italy
-EU: PL: Poland
-EU: GR: Greece
-EU: TU: Turkey
-EU: RU: Russia
-EU: BA: Bahrain
-EU: BC: Botswana
-EU: SE: Republic of Seychelles
-EU: HU: Hungary
-EU: UK: Ukraine
-AF: AF: Africa
-AF: WA: West Africa
-AF: ZA: South Africa
-AF: DZ: Algeria
-AF: CE: Canary Islands
-AF: NG: Nigeria
-AF: TD: Chad
-AF: CG: Democratic Republic of Congo
-AF: EG: Egypt
-AF: ET: Ethiopia
-AF: CM: Cameroon
-AF: IS: Israel
-AF: LY: Libya
-AF: MG: Madagascar
-AF: MO: Morocco
-AF: BW: Namibia
-AF: SA: Saudi Arabia
-AF: SO: Somalia
-AF: SD: Sudan
-AF: TZ: Tanzania
-AF: TN: Tunisia
-AF: ZM: Zambia
-AF: KE: Kenya
-AF: AO: Angola
-DE: BAW: Baden-Wรผrttemberg
-DE: BAY: Bavaria
-DE: BBB: Berlin
-DE: BBB: Brandenburg
-DE: HES: Hesse
-DE: MVP: Mecklenburg-Western Pomerania
-DE: NIB: Lower Saxony
-DE: NIB: Bremen
-DE: NRW: North Rhine-Westphalia
-DE: RPS: Rhineland-Palatinate
-DE: RPS: Saarland
-DE: SAC: Saxony
-DE: SAA: Saxony-Anhalt
-DE: SHH: Schleswig-Holstein
-DE: SHH: Hamburg
-DE: THU: Thuringia" | dmenu -r -i -l 50 -p "Select a radar to use as default:" | tr "[:lower:]" "[:upper:]")"
-
-# Ensure user did not escape.
-[ -z "$chosen" ] && exit 1
-
-# Set continent code and radar code.
-continentcode=${chosen%%:*}
-radarcode=${chosen#* } radarcode=${radarcode%:*}
-
-# Print codes to $radarloc file.
- printf "%s,%s\\n" "$continentcode" "$radarcode" > "$radarloc" ;}
-
-getdoppler() {
- cont=$(cut -c -2 "$radarloc")
- loc=$(cut -c 4- "$radarloc")
- notify-send "๐ŸŒฆ๏ธ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc."
- case "$cont" in
- "US") curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ;;
- "EU") curl -sL "https://api.sat24.com/animated/${loc}/rainTMC/2/" > "$doppler" ;;
- "AF") curl -sL "https://api.sat24.com/animated/${loc}/rain/2/" > "$doppler" ;;
- "DE") loc="$(echo "$loc" | tr "[:upper:]" "[:lower:]")"
- curl -sL "https://www.dwd.de/DWD/wetter/radar/radfilm_${loc}_akt.gif" > "$doppler" ;;
- esac
-}
-
-showdoppler() { setsid -f mpv --no-osc --loop=inf --no-terminal "$doppler" ;}
-
-case $BLOCK_BUTTON in
- 1) [ ! -f "$radarloc" ] && pickloc && getdoppler
- [ $(($(date '+%s') - $(stat -c %Y "$doppler"))) -gt "$secs" ] && getdoppler
- showdoppler ;;
- 2) pickloc && getdoppler && showdoppler ;;
- 3) notify-send "๐Ÿ—บ๏ธ Doppler RADAR module" "\- Left click for local Doppler RADAR.
-- Middle click to update RADAR location.
-After $secs seconds, new clicks will also automatically update the doppler RADAR." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-echo ๐Ÿ—บ๏ธ
diff --git a/dotfiles/system/.local/bin/statusbar/sb-forecast b/dotfiles/system/.local/bin/statusbar/sb-forecast
deleted file mode 100755
index 45584c5..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-forecast
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# Displays todays precipication chance (โ˜”) and daily low (๐Ÿฅถ) and high (๐ŸŒž).
-# Usually intended for the statusbar.
-
-# If we have internet, get a weather report from wttr.in and store it locally.
-# You could set up a shell alias to view the full file in a pager in the
-# terminal if desired. This function will only be run once a day when needed.
-weatherreport="${XDG_CACHE_HOME:-$HOME/.cache}/weatherreport"
-getforecast() { curl -sf "wttr.in/$LOCATION" > "$weatherreport" || exit 1 ;}
-
-# Some very particular and terse stream manipulation. We get the maximum
-# precipitation chance and the daily high and low from the downloaded file and
-# display them with coresponding emojis.
-showweather() { printf "%s" "$(sed '16q;d' "$weatherreport" |
- grep -wo "[0-9]*%" | sort -rn | sed "s/^/โ˜”/g;1q" | tr -d '\n')"
-sed '13q;d' "$weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sed 's/+//g' | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ๐Ÿฅถ" $1 "ยฐ","๐ŸŒž" $2 "ยฐ"}' ;}
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e less -Srf "$weatherreport" ;;
- 2) getforecast && showweather ;;
- 3) notify-send "๐ŸŒˆ Weather module" "\- Left click for full forecast.
-- Middle click to update forecast.
-โ˜”: Chance of rain/snow
-๐Ÿฅถ: Daily low
-๐ŸŒž: Daily high" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-# The test if our forcecast is updated to the day. If it isn't download a new
-# weather report from wttr.in with the above function.
-[ "$(stat -c %y "$weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
- getforecast
-
-showweather
diff --git a/dotfiles/system/.local/bin/statusbar/sb-help-icon b/dotfiles/system/.local/bin/statusbar/sb-help-icon
deleted file mode 100755
index 8fa4a52..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-help-icon
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# The clickable help menu. Middle click to restart wm.
-
-# If dwm is running, use dwm's readme and restart.
-pidof dwm >/dev/null &&
- READMEFILE=/usr/local/share/dwm/larbs.mom
- restartwm() { pkill -HUP dwm ;} ||
- restartwm() { i3 restart ;}
-
-case $BLOCK_BUTTON in
- 1) groff -mom "${READMEFILE:-${XDG_DATA_HOME:-$HOME/.local/share}/larbs/readme.mom}" -Tpdf | zathura - ;;
- 2) restartwm ;;
- 3) notify-send "โ“ Help module" "\- Left click to open LARBS guide.
-- Middle click to refresh window manager." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac; echo "โ“"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-internet b/dotfiles/system/.local/bin/statusbar/sb-internet
deleted file mode 100755
index 94b7da2..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-internet
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-# Show wifi ๐Ÿ“ถ and percent strength or ๐Ÿ“ก if none.
-# Show ๐ŸŒ if connected to ethernet or โŽ if none.
-# Show ๐Ÿ”’ if a vpn connection is active
-
-case $BLOCK_BUTTON in
- 1) "$TERMINAL" -e nmtui; pkill -RTMIN+4 dwmblocks ;;
- 3) notify-send "๐ŸŒ Internet module" "\- Click to connect
-โŒ: wifi disabled
-๐Ÿ“ก: no wifi connection
-๐Ÿ“ถ: wifi connection with quality
-โŽ: no ethernet
-๐ŸŒ: ethernet working
-๐Ÿ”’: vpn is active
-" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-if grep -xq 'up' /sys/class/net/w*/operstate 2>/dev/null ; then
- wifiicon="$(awk '/^\s*w/ { print "๐Ÿ“ถ", int($3 * 100 / 70) "% " }' /proc/net/wireless)"
-elif grep -xq 'down' /sys/class/net/w*/operstate 2>/dev/null ; then
- grep -xq '0x1003' /sys/class/net/w*/flags && wifiicon="๐Ÿ“ก " || wifiicon="โŒ "
-fi
-
-printf "%s%s%s\n" "$wifiicon" "$(sed "s/down/โŽ/;s/up/๐ŸŒ/" /sys/class/net/e*/operstate 2>/dev/null)" "$(sed "s/.*/๐Ÿ”’/" /sys/class/net/tun*/operstate 2>/dev/null)"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-iplocate b/dotfiles/system/.local/bin/statusbar/sb-iplocate
deleted file mode 100755
index 02adab8..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-iplocate
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# Gets your public ip address checks which country you are in and
-# displays that information in the statusbar
-#
-# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/
-
-ifinstalled "geoip" || exit
-addr="$(curl ifconfig.me 2>/dev/null)" || exit
-grep "flag: " "${XDG_DATA_HOME:-$HOME/.local/share}/larbs/emoji" | grep "$(geoiplookup "$addr" | sed 's/.*, //')" | sed "s/flag: //;s/;.*//"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-kbselect b/dotfiles/system/.local/bin/statusbar/sb-kbselect
deleted file mode 100755
index f0c923f..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-kbselect
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-# works on any init system
-# requirements: dmenu, xorg-setxkbmap
-kb="$(setxkbmap -query | grep -oP 'layout:\s*\K\w+')" || exit 1
-
-case $BLOCK_BUTTON in
- 1) kb_choice="$(awk '/! layout/{flag=1; next} /! variant/{flag=0} flag {print $2, "- " $1}' /usr/share/X11/xkb/rules/base.lst | dmenu -l 15)"
- kb="$(echo "$kb_choice" | awk '{print $3}')"
- setxkbmap "$kb"
- pkill -RTMIN+30 "${STATUSBAR:-dwmblocks}";;
- 3) notify-send "โŒจ Keyboard/language module" "$(printf "%s" "\- Current layout: $(setxkbmap -query | grep -oP 'layout:\s*\K\w+')")
-- Left click to change keyboard.";;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-echo "$kb"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-mailbox b/dotfiles/system/.local/bin/statusbar/sb-mailbox
deleted file mode 100755
index 2132184..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-mailbox
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Displays number of unread mail and an loading icon if updating.
-# When clicked, brings up `neomutt`.
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e neomutt ;;
- 2) setsid -f mw -Y >/dev/null ;;
- 3) notify-send "๐Ÿ“ฌ Mail module" "\- Shows unread mail
-- Shows ๐Ÿ”ƒ if syncing mail
-- Left click opens neomutt
-- Middle click syncs mail" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-unread="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/*/[Ii][Nn][Bb][Oo][Xx]/new/* -type f | wc -l 2>/dev/null)"
-
-pidof mbsync >/dev/null 2>&1 && icon="๐Ÿ”ƒ"
-
-[ "$unread" = "0" ] && [ "$icon" = "" ] || echo "๐Ÿ“ฌ$unread$icon"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-memory b/dotfiles/system/.local/bin/statusbar/sb-memory
deleted file mode 100755
index 01d3daf..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-memory
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-case $BLOCK_BUTTON in
- 1) notify-send "๐Ÿง  Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;;
- 2) setsid -f "$TERMINAL" -e htop ;;
- 3) notify-send "๐Ÿง  Memory module" "\- Shows Memory Used/Total.
-- Click to show memory hogs.
-- Middle click to open htop." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-free --mebi | sed -n '2{p;q}' | awk '{printf ("๐Ÿง %2.2fGiB/%2.2fGiB\n", ( $3 / 1024), ($2 / 1024))}'
diff --git a/dotfiles/system/.local/bin/statusbar/sb-moonphase b/dotfiles/system/.local/bin/statusbar/sb-moonphase
deleted file mode 100755
index fab8b4d..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-moonphase
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# Shows the current moon phase.
-
-moonfile="${XDG_DATA_HOME:-$HOME/.local/share}/moonphase"
-
-[ "$(stat -c %y "$moonfile" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
- { curl -sf "wttr.in/?format=%m" > "$moonfile" || exit 1 ;}
-
-icon="$(cat "$moonfile")"
-
-case "$icon" in
- ๐ŸŒ‘) name="New" ;;
- ๐ŸŒ’) name="Waxing Crescent" ;;
- ๐ŸŒ“) name="First Quarter" ;;
- ๐ŸŒ”) name="Waxing Gibbous" ;;
- ๐ŸŒ•) name="Full" ;;
- ๐ŸŒ–) name="Waning Gibbous" ;;
- ๐ŸŒ—) name="Last Quarter" ;;
- ๐ŸŒ˜) name="Waning Crescent" ;;
- *) exit 1 ;;
-esac
-
-echo "${icon-?}"
-
-case $BLOCK_BUTTON in
- 3) notify-send "๐ŸŒœ Moon phase module" "Displays current moon phase.
-- ๐ŸŒ‘: New
-- ๐ŸŒ’: Waxing Crescent
-- ๐ŸŒ“: First Quarter
-- ๐ŸŒ”: Waxing Gibbous
-- ๐ŸŒ•: Full
-- ๐ŸŒ–: Waning Gibbous
-- ๐ŸŒ—: Last Quarter
-- ๐ŸŒ˜: Waning Crescent" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
diff --git a/dotfiles/system/.local/bin/statusbar/sb-mpdup b/dotfiles/system/.local/bin/statusbar/sb-mpdup
deleted file mode 100755
index af81a7d..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-mpdup
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# This loop will update the mpd statusbar module whenever a command changes the
-# music player's status. mpd must be running on X's start for this to work.
-
-while : ; do
- mpc idle >/dev/null && kill -45 "$(pidof "${STATUSBAR:-dwmblocks}")" || break
-done
diff --git a/dotfiles/system/.local/bin/statusbar/sb-music b/dotfiles/system/.local/bin/statusbar/sb-music
deleted file mode 100755
index 7ea7032..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-music
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-filter() { mpc | sed "/^volume:/d;s/\\&/&amp;/g;s/\\[paused\\].*/โธ/g;/\\[playing\\].*/d;/^ERROR/Q" | paste -sd ' ' -;}
-
-pidof -x sb-mpdup >/dev/null 2>&1 || sb-mpdup >/dev/null 2>&1 &
-
-case $BLOCK_BUTTON in
- 1) mpc status | filter ; setsid -f "$TERMINAL" -e ncmpcpp ;; # right click, pause/unpause
- 2) mpc toggle | filter ;; # right click, pause/unpause
- 3) mpc status | filter ; notify-send "๐ŸŽต Music module" "\- Shows mpd song playing.
-- โธ when paused.
-- Left click opens ncmpcpp.
-- Middle click pauses.
-- Scroll changes track.";; # right click, pause/unpause
- 4) mpc prev | filter ;; # scroll up, previous
- 5) mpc next | filter ;; # scroll down, next
- 6) mpc status | filter ; "$TERMINAL" -e "$EDITOR" "$0" ;;
- *) mpc status | filter ;;
-esac
diff --git a/dotfiles/system/.local/bin/statusbar/sb-nettraf b/dotfiles/system/.local/bin/statusbar/sb-nettraf
deleted file mode 100755
index 178f677..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-nettraf
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# Module showing network traffic. Shows how much data has been received (RX) or
-# transmitted (TX) since the previous time this script ran. So if run every
-# second, gives network traffic per second.
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e bmon ;;
- 3) notify-send "๐ŸŒ Network traffic module" "๐Ÿ”ป: Traffic received
-๐Ÿ”บ: Traffic transmitted" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-update() {
- sum=0
- for arg; do
- read -r i < "$arg"
- sum=$(( sum + i ))
- done
- cache=/tmp/${1##*/}
- [ -f "$cache" ] && read -r old < "$cache" || old=0
- printf %d\\n "$sum" > "$cache"
- printf %d\\n $(( sum - old ))
-}
-
-rx=$(update /sys/class/net/[ew]*/statistics/rx_bytes)
-tx=$(update /sys/class/net/[ew]*/statistics/tx_bytes)
-
-printf "๐Ÿ”ป%4sB ๐Ÿ”บ%4sB\\n" $(numfmt --to=iec $rx $tx)
diff --git a/dotfiles/system/.local/bin/statusbar/sb-news b/dotfiles/system/.local/bin/statusbar/sb-news
deleted file mode 100755
index fe701db..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-news
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# Displays number of unread news items and an loading icon if updating.
-# When clicked, brings up `newsboat`.
-
-case $BLOCK_BUTTON in
- 1) setsid "$TERMINAL" -e newsboat ;;
- 2) setsid -f newsup >/dev/null exit ;;
- 3) notify-send "๐Ÿ“ฐ News module" "\- Shows unread news items
-- Shows ๐Ÿ”ƒ if updating with \`newsup\`
-- Left click opens newsboat
-- Middle click syncs RSS feeds
-<b>Note:</b> Only one instance of newsboat (including updates) may be running at a time." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
- cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ if($1>0) print "๐Ÿ“ฐ" $1}')$(cat "${XDG_CONFIG_HOME:-$HOME/.config}"/newsboat/.update 2>/dev/null)"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-pacpackages b/dotfiles/system/.local/bin/statusbar/sb-pacpackages
deleted file mode 100755
index 37ebed3..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-pacpackages
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# Displays number of upgradeable packages.
-# For this to work, have a `pacman -Sy` command run in the background as a
-# cronjob every so often as root. This script will then read those packages.
-# When clicked, it will run an upgrade via pacman.
-#
-# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook:
-#
-# [Trigger]
-# Operation = Upgrade
-# Type = Package
-# Target = *
-#
-# [Action]
-# Description = Updating statusbar...
-# When = PostTransaction
-# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks # Or i3blocks if using i3.
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e sb-popupgrade ;;
- 2) notify-send "$(/usr/bin/pacman -Qu)" ;;
- 3) notify-send "๐ŸŽ Upgrade module" "๐Ÿ“ฆ: number of upgradable packages
-- Left click to upgrade packages
-- Middle click to show upgradable packages" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/๐Ÿ“ฆ/;s/^๐Ÿ“ฆ0$//g"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-popupgrade b/dotfiles/system/.local/bin/statusbar/sb-popupgrade
deleted file mode 100755
index 29d6230..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-popupgrade
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-printf "Beginning upgrade.\\n"
-
-yay -Syu
-pkill -RTMIN+8 "${STATUSBAR:-dwmblocks}"
-
-printf "\\nUpgrade complete.\\nPress <Enter> to exit window.\\n\\n"
-read -r _
diff --git a/dotfiles/system/.local/bin/statusbar/sb-price b/dotfiles/system/.local/bin/statusbar/sb-price
deleted file mode 100755
index 42c84c1..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-price
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# Usage:
-# price <url> <Name of currency> <icon> <Price to show in>
-# price bat "Basic Attention Token" ๐Ÿฆ
-# When the name of the currency is multi-word, put it in quotes.
-
-[ -z "$3" ] && exit 1
-
-# use $4 as currency, if not passed in use "usd" as default
-currency="${4:-usd}"
-interval="@14d" # History contained in chart preceded by '@' (7d = 7 days)
-dir="${XDG_DATA_HOME:-$HOME/.local/share}/crypto-prices"
-pricefile="$dir/$1-$currency"
-chartfile="$dir/$1-$currency-chart"
-
-updateprice() { temp="$(mktemp)"
- curl -s "$currency.rate.sx/1$1" > "$temp" &&
- mv -f "$temp" "$pricefile" &&
- curl -s "$currency.rate.sx/$1$interval" > "$temp" &&
- mv -f "$temp" "$chartfile" ;}
-
-[ -d "$dir" ] || mkdir -p "$dir"
-
-[ "$(stat -c %x "$pricefile" 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] &&
- updateprice "$1"
-
-case $BLOCK_BUTTON in
- 1) setsid "$TERMINAL" -e less -Srf "$chartfile" ;;
- 2) notify-send -u low "$3 Updating..." "Updating $2 price..."
- updateprice "$1" && notify-send "$3 Update complete." "$2 price is now
-\$$(cat "$pricefile")" ;;
- 3) uptime="$(date -d "$(stat -c %x "$pricefile")" '+%D at %T' | sed "s|$(date '+%D')|Today|")"
- notify-send "$3 $2 module" "\- <b>Exact price: \$$(cat "$pricefile")</b>
-- Left click for chart of changes.
-- Middle click to update.
-- Shows ๐Ÿ”ƒ if updating prices.
-- <b>Last updated:
- $uptime</b>" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-case "$currency" in
- usd) symb="$" ;;
- gbp) symb="ยฃ" ;;
- eur) symb="โ‚ฌ" ;;
- btc) symb="โ‚ฟ" ;;
-esac
-
-printf "$3$symb%0.2f$after" "$(cat "$pricefile")"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-tasks b/dotfiles/system/.local/bin/statusbar/sb-tasks
deleted file mode 100755
index 586300e..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-tasks
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Originally by Andr3as07 <https://github.com/Andr3as07>
-# Some changes by Luke
-# Rebuild by Tenyun
-
-# This block displays the number running background tasks. Requires tsp.
-
-num=$(tsp -l | awk -v numr=0 -v numq=0 '{if (/running/)numr++; if (/queued/)numq++} END{print numr+numq"("numq")"}')
-
-# Handle mouse clicks
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e tsp -l ;;
- 3) notify-send "Tasks module" "๐Ÿค–: number of running/queued background tasks
-- Left click opens tsp" ;; # Right click
- 2) $EDITOR "$0" ;; # Middle click
-esac
-
-[ "$num" != "0(0)" ] &&
- echo "๐Ÿค–$num"
diff --git a/dotfiles/system/.local/bin/statusbar/sb-torrent b/dotfiles/system/.local/bin/statusbar/sb-torrent
deleted file mode 100755
index 6527005..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-torrent
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-transmission-remote -l | grep % |
- sed " # The letters are for sorting and will not appear.
- s/.*Stopped.*/A ๐Ÿ›‘/;
- s/.*Seeding.*/Z ๐ŸŒฑ/;
- s/.*100%.*/N โœ…/;
- s/.*Idle.*/B ๐Ÿ•ฐ๏ธ/;
- s/.*Uploading.*/L โฌ†๏ธ/;
- s/.*%.*/M โฌ‡๏ธ/" |
- sort -h | uniq -c | awk '{print $3 $1}' | paste -sd ' ' -
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e tremc ;;
- 2) td-toggle ;;
- 3) notify-send "๐ŸŒฑ Torrent module" "\- Left click to open tremc.
-- Middle click to toggle transmission.
-- Shift click to edit script.
-Module shows number of torrents:
-๐Ÿ›‘: paused
-๐Ÿ•ฐ: idle (seeds needed)
-๐Ÿ”ผ: uploading (unfinished)
-๐Ÿ”ฝ: downloading
-โœ…: done
-๐ŸŒฑ: done and seeding" ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
diff --git a/dotfiles/system/.local/bin/statusbar/sb-volume b/dotfiles/system/.local/bin/statusbar/sb-volume
deleted file mode 100755
index 3cfdc45..0000000
--- a/dotfiles/system/.local/bin/statusbar/sb-volume
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-# Prints the current volume or ๐Ÿ”‡ if muted.
-
-case $BLOCK_BUTTON in
- 1) setsid -f "$TERMINAL" -e pulsemixer ;;
- 2) pamixer -t ;;
- 4) pamixer --allow-boost -i 1 ;;
- 5) pamixer --allow-boost -d 1 ;;
- 3) notify-send "๐Ÿ“ข Volume module" "\- Shows volume ๐Ÿ”Š, ๐Ÿ”‡ if muted.
-- Middle click to mute.
-- Scroll to change." ;;
- 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
-esac
-
-[ $(pamixer --get-mute) = true ] && echo ๐Ÿ”‡ && exit
-
-vol="$(pamixer --get-volume)"
-
-if [ "$vol" -gt "70" ]; then
- icon="๐Ÿ”Š"
-elif [ "$vol" -gt "30" ]; then
- icon="๐Ÿ”‰"
-elif [ "$vol" -gt "0" ]; then
- icon="๐Ÿ”ˆ"
-else
- echo ๐Ÿ”‡ && exit
-fi
-
-echo "$icon$vol%"
diff --git a/dotfiles/system/.local/bin/steam b/dotfiles/system/.local/bin/steam
deleted file mode 100755
index 3d30238..0000000
--- a/dotfiles/system/.local/bin/steam
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-flatpak run com.valvesoftware.Steam >> "$HOME/.local/var/logs/steam.log" 2>&1
diff --git a/dotfiles/system/.local/bin/sudo-update-grub b/dotfiles/system/.local/bin/sudo-update-grub
deleted file mode 100755
index 5d67823..0000000
--- a/dotfiles/system/.local/bin/sudo-update-grub
+++ /dev/null
@@ -1 +0,0 @@
-sudo grub-mkconfig -o /boot/grub/grub.cfg
diff --git a/dotfiles/system/.local/bin/sysupdate b/dotfiles/system/.local/bin/sysupdate
deleted file mode 100755
index 357348d..0000000
--- a/dotfiles/system/.local/bin/sysupdate
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-# Craig Jennings <c@cjennings.net>
-
-
-yay -Syu --noconfirm \ No newline at end of file
diff --git a/dotfiles/system/.local/bin/td-toggle b/dotfiles/system/.local/bin/td-toggle
deleted file mode 100755
index de1a0e6..0000000
--- a/dotfiles/system/.local/bin/td-toggle
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# If transmission-daemon is running, will ask to kill, else will ask to start.
-
-if pidof transmission-daemon >/dev/null ;
-then
- [ "$(printf "No\\nYes" | dmenu -i -p "Turn off transmission-daemon?")" = "Yes" ] && killall transmission-daemon && notify-send "transmission-daemon disabled."
-else
- ifinstalled transmission-cli || exit
- [ "$(printf "No\\nYes" | dmenu -i -p "Turn on transmission daemon?")" = "Yes" ] && transmission-daemon && notify-send "transmission-daemon enabled."
-fi
-sleep 3 && pkill -RTMIN+7 "${STATUSBAR:-dwmblocks}"
diff --git a/dotfiles/system/.local/bin/touchpad-indicator-start b/dotfiles/system/.local/bin/touchpad-indicator-start
deleted file mode 100755
index 1ca9096..0000000
--- a/dotfiles/system/.local/bin/touchpad-indicator-start
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-# attempts to launch touchpad-indicator
-
-logdir="$HOME/.local/var/log/"
-[ -d $logdir ] || mkdir -p "$logdir"
-logfile="$logdir/$(date +%Y-%m-%d_%H-%M-%S-%3N.touchpad-indicator.log)"
-
-# for whatever reason, it has to be run twice?
-echo "$(date): Starting touchpad-indicator" >> "$logfile" 2>&1
-sleep 5 && touchpad-indicator >> $logfile 2>&1
-echo "$(date): Starting touchpad-indicator again" >> "$logfile" 2>&1
-sleep 5 && touchpad-indicator >> $logfile 2>&1
diff --git a/dotfiles/system/.local/bin/transadd b/dotfiles/system/.local/bin/transadd
deleted file mode 100755
index a598fad..0000000
--- a/dotfiles/system/.local/bin/transadd
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running.
-
-# transmission-daemon sometimes fails to take remote requests in its first moments, hence the sleep.
-
-pidof transmission-daemon >/dev/null || (transmission-daemon && notify-send "Starting transmission daemon..." && sleep 3 && pkill -RTMIN+7 "${STATUSBAR:-dwmblocks}")
-
-transmission-remote -a "$@" && notify-send "๐Ÿ”ฝ Torrent added."
diff --git a/dotfiles/system/.local/bin/update-backup-repositories b/dotfiles/system/.local/bin/update-backup-repositories
deleted file mode 100755
index a91b438..0000000
--- a/dotfiles/system/.local/bin/update-backup-repositories
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-# Craig Jennings <c@cjennings.net>
-# updates or clones repositories for backup
-
-REPOS_HOME="/media/backup/repositories/"
-
-# Create REPOS_HOME dir if not exists
-if [ ! -d "$REPOS_HOME" ]; then
- mkdir -p "$REPOS_HOME"
-fi
-
-# Make sure REPOS_HOME dir is writable
-if [ ! -w "$REPOS_HOME" ]; then
- echo "Directory $REPOS_HOME is not writable."
- exit 1
-fi
-
-# Make sure git is available
-if ! command -v git >/dev/null 2>&1; then
- echo "Git command does not exist. Please install git."
- exit 1
-fi
-
-cd "$REPOS_HOME"
-
-repos="
-git@cjennings.net:archsetup.git
-git@cjennings.net:dmenu.git
-git@cjennings.net:dotemacs.git
-git@cjennings.net:dotfiles.git
-git@cjennings.net:dwm.git
-git@cjennings.net:pinentry-dmenu.git
-git@cjennings.net:rsyncshot.git
-git@cjennings.net:st.git
-git@github.com:cjennings/emacs-wttrin.git
-https://github.com/d12frosted/elpa-mirror.git
-https://github.com/mirrors/emacs.git
-"
-
-for repo in $repos; do
- dir=$(echo "$repo" | awk -F'[/:]' '{gsub(/.git/, "", $NF); print $NF}')
- # Note on the above awk command:
- # awk -F'[/:]': uses awk with a regex field delimiter that matches both : and /
- # which will work with both ssh and http style URLs.
- # '{gsub(/.git/, "", $NF); print $NF}: This removes the ".git" postfixes from the last field ($NF)
- # which leaves only the repo name.
-
- fullpath="$REPOS_HOME$dir"
- if [ -d "$fullpath" ]; then
- echo "Repository $dir exists at $fullpath, pulling..."
- (cd "$fullpath" && git pull)
- else
- echo "Repository $dir doesn't exist at $fullpath, cloning..."
- cd "$REPOS_HOME" && git clone --depth 1 "$repo" "$fullpath"
- fi
-done
diff --git a/dotfiles/system/.local/bin/virtstart b/dotfiles/system/.local/bin/virtstart
deleted file mode 100755
index f9a326f..0000000
--- a/dotfiles/system/.local/bin/virtstart
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-# launch a virtual machine in fullscreen.
-# the argument is the machine name
-
-export LIBVIRT_DEFAULT_URI="qemu:///system"
-
-/usr/bin/virsh start $1
-/usr/bin/virt-viewer -f -w -a $1
diff --git a/dotfiles/system/.local/bin/ytp b/dotfiles/system/.local/bin/ytp
deleted file mode 100755
index 93ca9fc..0000000
--- a/dotfiles/system/.local/bin/ytp
+++ /dev/null
@@ -1 +0,0 @@
-yt-dlp --ignore-config --yes-playlist --add-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s' $1 $2 $3 $4
diff --git a/dotfiles/system/.local/share/applications/torrent.desktop b/dotfiles/system/.local/share/applications/torrent.desktop
deleted file mode 100644
index f6d28d9..0000000
--- a/dotfiles/system/.local/share/applications/torrent.desktop
+++ /dev/null
@@ -1,4 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Torrent
-Exec=/usr/bin/env transadd %U
diff --git a/dotfiles/system/.profile b/dotfiles/system/.profile
deleted file mode 100644
index 8e7653c..0000000
--- a/dotfiles/system/.profile
+++ /dev/null
@@ -1,137 +0,0 @@
-# .profile
-# Craig Jennings <c@cjennings.net>
-
-# if connecting via Emacs tramp, simplify prompt for easy identification.
-# keeping this statement at the top of the file prevent PS1 modifications
-if [ "$TERM" = "tramp" ] || [ "$TERM" = "dumb" ]; then
- PS1='$ '
-fi
-
-##
-## ENVIRONMENT VARIABLES
-##
-
-# Locale
-export LANG=en_US.UTF-8
-export LANGUAGE=en_US.UTF-8
-export LC_CTYPE=en_US.UTF-8
-export LC_ALL=en_US.UTF-8
-
-# General
-export LANGUAGE=en_US
-export GPG_TTY="$(tty)"
-
-# Path
-[ -d "$HOME/.local/share/gem/ruby/3.4.0/bin" ]; PATH="$PATH:$HOME/.local/share/gem/ruby/3.4.0/bin"
-[ -d "$HOME/.cargo/bin" ]; PATH="$PATH:$HOME/.cargo/bin"
-export PATH="$PATH:$HOME/.local/bin:/usr/sbin"
-
-# Editor
-export ALTERNATE_EDITOR=""
-export EDITOR="emacsclient -c -a ''"
-export SUDO_EDITOR="$(which vi)"
-
-# Browser
-export ALTBROWSER="$(which firefox)"
-export BROWSER="$(which google-chrome-stable)"
-# export BROWSER="$(which librewolf)"
-
-# Terminal
-export COLORTERM=truecolor
-#export TERM="vt100"
-export TERM="st-256color"
-export TERMINAL="$(which st)"
-export VISUAL="emacsclient -c -a ''"
-
-# XDG
-export XDG_CONFIG_HOME="$HOME/.config/"
-export XDG_CURRENT_DESKTOP=dwm
-export XDG_SESSION_TYPE=x11
-export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share:/usr/share"
-if [ -z "$XDG_RUNTIME_DIR" ]; then
- export XDG_RUNTIME_DIR="$HOME/.local/xdg/runtime"
- if [ ! -d "$XDG_RUNTIME_DIR" ]; then
- mkdir -p "$XDG_RUNTIME_DIR"
- chmod 0700 "$XDG_RUNTIME_DIR"
- fi
-fi
-
-# INFO
-export INFOPATH=/home/cjennings/.emacs.d/assets/info:
-
-
-##
-## ALIASES
-##
-
-# change to specific directory
-alias cdot="cd ~/code/archsetup/dotfiles"
-alias cdpf="cd ~/projects/finances/"
-alias cdpj="cd ~/projects/jr-estate/"
-alias cdpd="cd ~/projects/documents/"
-
-# general software aliases
-alias crm="tickrs -s CRM"
-alias handbrake="ghb"
-alias linkdel="find . -type l ! -exec test -d {} \; -delete"
-alias linkfind="find . -type l ! -exec test -d {} \; -print"
-alias smerge="/usr/bin/smerge"
-alias steam="flatpak run com.valvesoftware.Steam"
-alias stext="/opt/sublime_text/sublime_text"
-alias stow="stow --target=/home/cjennings" # required as dotfiles are in non-standard location
-alias sysupgrade="topgrade"
-alias vim="nvim"
-alias et="emacs -nw"
-alias weather="wego"
-alias whereami="curl ipinfo.io"
-alias xterm="xterm -ti 340"
-
-# claude code
-alias hey='claude "Read ./docs/protocols.org and ./docs/NOTES.org, follow their instructions, then run session startup workflow."'
-
-# general utility
-# alias mount="sudo mount -o uid=$(id -u),gid=$(id -g),umask=0022 "
-alias backup='sudo rsyncshot backup 1000'
-alias boot2bios="sudo systemctl reboot --firmware-setup"
-alias df='dfc -p /dev/'
-alias ducks='du -cksh * | sort -rh | head -n11'
-alias ls="exa --group-directories-first "
-alias l="exa -lhF --group-directories-first "
-alias ll="exa -lhAF --group-directories-first "
-alias lt="exa -lthAF --group-directories-first "
-alias mkd="mkdir -pv"
-alias myip='curl -4 https://chroot-me.in/ip/ 2> /dev/null || w3m -4 -dump https://chroot-me.in/ip'
-alias open="xdg-open"
-alias ntop="sudo bandwhich"
-alias ptop="sudo powertop"
-alias running_services='systemctl list-units --type=service --state=running'
-alias speedtest="speedtest-go"
-alias ssn="sudo shutdown now"
-alias sysinfo='sudo inxi -v 8 -a -xxxA -xxxB -xxxC -xxxD -xxxG -xxxI -xxxm -xxxN -xxxR -xxxS -xxx --usb -d -I -pl -n -s --slots '
-alias timeshift='sudo timeshift-gtk'
-
-# programming
-alias cc="gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion -Wextra -std=c2x -pedantic"
-alias gdbx="gdb --batch --ex r --ex bt --ex q --args"
-
-# ranger
-# when exiting ranger, leave the prompt at the destination
-alias cdr='. ranger'
-alias r='. ranger'
-
-# source sh files in .profile.d
-PROFILE_D="$HOME/.profile.d/"
-if [ -d "$PROFILE_D" ]; then
- for file in $(find "$PROFILE_D" -name "*.sh"); do
- source "$file"
- done
-fi
-
-# launch x automatically
-# if [ -z "$DISPLAY" ] && [ "$(tty)" = /dev/tty1 ]; then
-# startx
-# fi
-# Phenomenology RAG alias - queries cogito with deepseek-r1:70b
-phenom() {
- aichat --rag phenom -m ollama:deepseek-r1:70b "$@"
-}
diff --git a/dotfiles/system/.profile.d/arch-linux-downgrade.sh b/dotfiles/system/.profile.d/arch-linux-downgrade.sh
deleted file mode 100755
index d97a2dc..0000000
--- a/dotfiles/system/.profile.d/arch-linux-downgrade.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# arch-linux-downgrade.sh
-# Craig Jennings <c@cjennings.net>
-# Downgrade an explicitly installed Arch package, chosen via fzf.
-
-# Config:
-# export DG_HELPER=pacman # or yay, paru, etc. Must support -Qe, -Qi, -Si
-# export DG_FZF_OPTS="..." # optional extra fzf flags
-
-dg() {
- emulate -L zsh
- set -u
- set -o pipefail
-
- local helper="${DG_HELPER:-pacman}"
-
- # Check dependencies
- for cmd in "$helper" fzf sudo downgrade awk sort; do
- if ! command -v "${cmd%% *}" >/dev/null 2>&1; then
- print -u2 -- "Missing dependency: $cmd"
- return 1
- fi
- done
-
- # List explicitly installed packages
- local selection
- selection="$(
- "$helper" -Qe 2>/dev/null \
- | fzf --no-multi \
- --prompt="Pick package to downgrade > " \
- --height=80% \
- --reverse \
- --delimiter=' ' \
- --preview-window=right:60%:wrap \
- --preview "$helper -Qi {1} 2>/dev/null || $helper -Si {1}" \
- ${DG_FZF_OPTS:-}
- )"
-
- # If fzf or pacman fails, just return
- [[ $? -ne 0 || -z "$selection" ]] && return 0
-
- local pkg
- pkg="$(print -r -- "$selection" | head -n1 | awk '{print $1}')"
-
- if ! sudo downgrade "$pkg"; then
- print -u2 -- "Downgrade failed for $pkg"
- return 1
- fi
-}
diff --git a/dotfiles/system/.profile.d/auto-tmux-session.sh b/dotfiles/system/.profile.d/auto-tmux-session.sh
deleted file mode 100644
index 2f17085..0000000
--- a/dotfiles/system/.profile.d/auto-tmux-session.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# auto-tmux-session.sh
-# Craig Jennings <c@cjennings.net>
-# if TRAMP (ssh dumb terminal), simplify prompt, and start tmux.
-
-# start tmux when logging in via ssh
-if [[ -z "$TMUX" ]] && [ "$SSH_CONNECTION" != "" ]; then
- export TERM="xterm-mono"
- # if dumb terminal (i.e., tramp), then set a simple prompt, otherwise set monochrome TERM and start tmux
- tmux attach-session -t "$USER" || tmux new-session -s "$USER"
-fi
diff --git a/dotfiles/system/.profile.d/chronographic.sh b/dotfiles/system/.profile.d/chronographic.sh
deleted file mode 100644
index 41c1860..0000000
--- a/dotfiles/system/.profile.d/chronographic.sh
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/bin/sh
-
-# chronographic.sh
-# Craig Jennings <c@cjennings.net>
-# quick and dirty terminal clock, timer, alarm and stopwatch functions
-
-alias beep='paplay $BEEP'
-export BEEP="/usr/share/sounds/freedesktop/stereo/bell.oga"
-
-##
-## CLOCK
-##
-
-clock() {
- while true; do tput clear; echo ""; date +" %l : %M %p" | figlet -f roman -w 200 ; sleep 1; done
-}
-
-##
-## TIMER
-##
-
-timer() {
- # Ensure we have at least two arguments
- if [ "$#" -lt 2 ]; then
- echo "Pass the time and a notification. Example: timer 1h30m Parking expiring"
- return 1
- fi
- message="${@:2}"
- start_time=$(date +"%H:%M:%S %p")
- printf "\nStarting %s timer at $start_time\n" "$1"
- snore "$1" && paplay "$BEEP" && notify-send "Timer" "$message" && echo ""
-}
-
-##
-## ALARM
-##
-
-alarm() {
- # Ensure we have two or more arguments
- if [ "$#" -lt 2 ]; then
- echo "Pass both the time and a message. Example: alarm 1:45pm Time to eat!"
- return 1
- fi
-
- # Validate the first argument is a valid time
- ! date -d "$1" >/dev/null 2>&1 && echo "Invalid time: $1" && return 1
-
- # silently schedule the command using 'at' command
- echo "paplay \$BEEP && notify-send \"Alarm\" \"$@\"" | at "$1" >> /dev/null 2>&1
- echo ""
- echo "Alarm '${@:2}' is queued for $1."
- echo "To see all alarms, issue the command: 'atq'"
- echo "To remove an alarm, issue the command: 'atrm' and the number of entry from atq"
- echo ""
-}
-
-##
-## STOPWATCH FUNCTIONS
-##
-
-sw_start_time=0
-sw_started=0
-
-swreset() {
- sw_start_time=0
- sw_started=0
- echo "Stopwatch reset"
-}
-
-swshow() {
- if [ "$sw_started" = 0 ] ; then
- echo "Error: Stopwatch not started" >&2 && return 1
- fi
-
- current_time=$(date +%s)
- elapsed_time=$((current_time - sw_start_time))
-
- if (( elapsed_time < 60 )); then
- # Display elapsed time in seconds
- echo "Elapsed time: $elapsed_time seconds"
- elif (( elapsed_time < 3600 )); then
- # Display elapsed time in minutes and seconds
- minutes=$((elapsed_time / 60))
- seconds=$((elapsed_time % 60))
- echo "Elapsed time: $minutes minutes, $seconds seconds"
- else
- # Display elapsed time in hours, minutes, and seconds
- hours=$((elapsed_time / 3600))
- minutes=$(((elapsed_time / 60) % 60))
- seconds=$((elapsed_time % 60))
- echo "Elapsed time: $hours hours, $minutes minutes, and $seconds seconds"
- fi
-}
-
-swstop() {
- swshow
- swreset
-}
-
-swstart() {
- if [ "$sw_started" = 1 ] ; then
- printf "Stopwatch is already started. Reset? (y/n): "
- read -r answer
- if [ "$answer" = "y" -o "$answer" = "Y" ]; then
- swreset
- # continue on to start the new timer
- elif [ "$answer" = "n" -o "$answer" = "N" ]; then
- echo "Stopwatch not reset."
- swshow
- # return to avoid restarting the timer
- return
- else
- echo "Error: Invalid input. Exiting." >&2 && return 1
- fi
- fi
-
- sw_started=1
- sw_start_time=$(date +%s)
- printf "Stopwatch started at %s\n\n" "$(date +"%H:%M:%S %p")"
-}
diff --git a/dotfiles/system/.profile.d/compress.sh b/dotfiles/system/.profile.d/compress.sh
deleted file mode 100644
index 0a9a7db..0000000
--- a/dotfiles/system/.profile.d/compress.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-# Craig Jennings <c@cjennings.net>
-# convenience compression function
-
-compress () {
- if [ $# -ne 2 ]; then
- echo "Usage: compress <format> <file_or_directory>"
- echo "Formats: tar.bz2, tar.gz, bz2, tar, tbz2, tgz, zip, gz, Z"
- return 1
- fi
-
- format="$1"
- target="$2"
-
- if [ ! -e "$target" ]; then
- echo "Error: '$target' does not exist"
- return 1
- fi
-
- basename=$(basename "$target")
-
- # Determine output filename first
- case "$format" in
- tar.bz2|tbz2) output="${basename}.tar.bz2" ;;
- tar.gz|tgz) output="${basename}.tar.gz" ;;
- bz2) output="${target}.bz2" ;;
- gz) output="${target}.gz" ;;
- tar) output="${basename}.tar" ;;
- zip) output="${basename}.zip" ;;
- Z) output="${target}.Z" ;;
- *)
- echo "Error: Unknown format '$format'"
- return 1
- ;;
- esac
-
- # Check if output file already exists
- if [ -e "$output" ]; then
- printf "Warning: '%s' already exists. Overwrite? (y/N): " "$output"
- read -r response
- case "$response" in
- [yY]|[yY][eE][sS])
- rm -f "$output"
- ;;
- *)
- echo "Aborted."
- return 1
- ;;
- esac
- fi
-
- # perform the compression
- case "$format" in
- tar.bz2|tbz2) tar -cjf "$output" "$target" ;;
- tar.gz|tgz) tar -czf "$output" "$target" ;;
- bz2)
- [ -d "$target" ] && echo "Error: bz2 only works on files" && return 1
- bzip2 -k "$target"
- ;;
- gz)
- [ -d "$target" ] && echo "Error: gz only works on files" && return 1
- gzip -k "$target"
- ;;
- tar) tar -cf "$output" "$target" ;;
- zip)
- [ -d "$target" ] && zip -r "$output" "$target" || zip "$output" "$target"
- ;;
- Z)
- [ -d "$target" ] && echo "Error: Z only works on files" && return 1
- compress -c "$target" > "$output"
- ;;
- esac
-
- [ $? -eq 0 ] && echo "โœ“ Created $output" || echo "โœ— Compression failed"
-}
diff --git a/dotfiles/system/.profile.d/dd.sh b/dotfiles/system/.profile.d/dd.sh
deleted file mode 100644
index 5390a65..0000000
--- a/dotfiles/system/.profile.d/dd.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# dd.sh
-# Craig Jennings <c@cjennings.net>
-# takes input and output files as arguments
-# prints parameters needed for dd
-
-
-dd_with_bs() {
- OUT_DIR=$(dirname "$2")
- if [ ! -e "$1" -o ! -e "$OUT_DIR" ]; then
- echo "$1 or $OUT_DIR doesn't exist"
- return 1
- fi
- IN_BS=$(stat -c "%o" "$1")
- OUT_BS=$(stat -c "%o" "$OUT_DIR")
-
- echo dd \"if=$1\" \"of=$2\" \"ibs=$IN_BS\" \"obs=$OUT_BS\"
-}
diff --git a/dotfiles/system/.profile.d/display.sh b/dotfiles/system/.profile.d/display.sh
deleted file mode 100644
index df5a57c..0000000
--- a/dotfiles/system/.profile.d/display.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-# display.sh
-# Craig Jennings <c@cjennings.net>
-# UI Appearance settings, sourced by .profile
-
-# Theme
-export GTK_THEME=Adwaita:dark
-# export GTK_THEME=Adwaita
-
-
-XDG_CURRENT_DESKTOP=GNOME
-# export QT_QPA_PLATFORMTHEME=qt5ct
-export QT_QPA_PLATFORMTHEME=qt6ct
-export QT_SCALE_FACTOR=1
diff --git a/dotfiles/system/.profile.d/emacs.sh b/dotfiles/system/.profile.d/emacs.sh
deleted file mode 100644
index c70d928..0000000
--- a/dotfiles/system/.profile.d/emacs.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-# emacs.sh
-# Craig Jennings <c@cjennings.net>
-# Emacs specific settings, sourced by .profile
-
-### INFO FILES
-export INFOPATH="$HOME/.config/emacs/info:/usr/share/info:/usr/local/share/info"
-
-### WORKAROUND
-# https://unix.stackexchange.com/questions/230238/x-applications-warn-couldnt-connect-to-accessibility-bus-on-stderr
-# emacs/gtk interaction bug workaround
-export NO_AT_BRIDGE=1
-
-# WAKE UTILITY
-# useful when emacs or elisp doesn't timeout.
-alias emacswake='for i in `seq 1 500`; do killall -s USR2 emacs; done' # wake emacs from a freeze
-
-### VTERM
-# Vterm uses some features (e.g., directory-tracking and prompt-tracking or message passing) that require shell-side configurations.
-# This functions enables the shell to send information to vterm via properly escaped sequences.
-
-vterm_printf(){
- if [ -n "$TMUX" ] && ([ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ] ); then
- # Tell tmux to pass the escape sequences through
- printf "\ePtmux;\e\e]%s\007\e\\" "$1"
- elif [ "${TERM%%-*}" = "screen" ]; then
- # GNU screen (screen, screen-256color, screen-256color-bce)
- printf "\eP\e]%s\007\e\\" "$1"
- else
- printf "\e]%s\e\\" "$1"
- fi
-}
diff --git a/dotfiles/system/.profile.d/extract.sh b/dotfiles/system/.profile.d/extract.sh
deleted file mode 100644
index 5fce587..0000000
--- a/dotfiles/system/.profile.d/extract.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# extract.sh
-# Craig Jennings <c@cjennings.net>
-# convenience extraction function
-
-## EXTRACT
-
-extract () {
- if [ -f "$1" ] ; then
- case "$1" in
- *.tar.bz2) tar xjf "$1" ;;
- *.tar.gz) tar xzf "$1" ;;
- *.bz2) bunzip2 "$1" ;;
- *.rar) rar x "$1" ;;
- *.gz) gunzip "$1" ;;
- *.tar) tar xf "$1" ;;
- *.tbz2) tar xjf "$1" ;;
- *.tgz) tar xzf "$1" ;;
- *.zip) unzip "$1" ;;
- *.Z) uncompress "$1" ;;
- *) echo "$1 cannot be extracted via extract()" ;;
- esac
- else
- echo "$1 is not a valid file"
- fi
-}
diff --git a/dotfiles/system/.profile.d/framework.sh b/dotfiles/system/.profile.d/framework.sh
deleted file mode 100644
index 2b8895e..0000000
--- a/dotfiles/system/.profile.d/framework.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# framework.sh
-# Craig Jennings <c@cjennings.net>
-# settings for Framework 13 specific issues
-
-# HiDPI scale settings for Framework 13 Laptop
-export GDK_DPI_SCALE=1 # text scaling only.
-export GDK_SCALE=1 # this is an integer, 1 or 2 etc
-export QT_AUTO_SCREEN_SCALE_FACTOR=1
diff --git a/dotfiles/system/.profile.d/freebsd.sh b/dotfiles/system/.profile.d/freebsd.sh
deleted file mode 100644
index 8d12031..0000000
--- a/dotfiles/system/.profile.d/freebsd.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# freebsd.sh
-# Craig Jennings <c@cjennings.net>
-# Settings FreeBSD specific, sourced by .profile
-
-# make delete do the right thing for freebsd
-if echo "$(uname)" | grep -q "FreeBSD"; then
- bindkey "\e[3~" delete-char
-fi
diff --git a/dotfiles/system/.profile.d/fzf.sh b/dotfiles/system/.profile.d/fzf.sh
deleted file mode 100644
index 5fab752..0000000
--- a/dotfiles/system/.profile.d/fzf.sh
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/sh
-
-# fzf.sh
-# Craig Jennings <c@cjennings.net>
-# fuzzy find settings and utilities, sourced by .profile
-
-# otherwise ** doesn't expand
-source /usr/share/fzf/completion.zsh
-
-### SETTINGS
-export FZF_DEFAULT_OPTS='--height=70%'
-export FZF_DEFAULT_COMMAND='rg --files'
-export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
-export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden'
-
-# Directory paths for convenience functions
-IF_GAMES_DIR="$HOME/sync/org/text.games"
-BOOKS_DIR="$HOME/sync/books"
-
-### NAVIGATION
-
-# cdff - change directory find file
-# change to the directory where the file resides.
-cdff() {
-
- file=$(fzf +m -q "$1")
- dir=$(dirname "$file")
- cd "$dir" || exit
-}
-
-# CD to a directory with fzf
-cdd () {
- destdir=$(find "${1:-.}" -path '*/\.*' -prune \
- -o -type d -print 2> /dev/null | fzf +m) &&
- cd "$destdir"
-}
-
-### SYSTEM ADMIN
-
-# Kill a process with fzf
-kp () {
- pid=$(ps -ef | sed 1d | eval "fzf ${FZF_DEFAULT_OPTS} -m --header='[kill:process]'" | awk '{print $2}')
-
- if [ "x$pid" != "x" ]
- then
- echo "$pid" | xargs kill -${1:-9}
- kp
- fi
-}
-
-# list available packages, show info in preview, and install selection
-yinstall() {
- yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm
-}
-
-
-yinstall-skipverify() {
- yay -Slq | fzf --multi --preview 'yay -Si {1}' | xargs -ro yay -S --noconfirm --mflags --skipinteg
-}
-
-# list installed packages, show info in preview, and remove selection
-yrm() {
- yay -Qq | fzf --multi --preview 'yay -Qi {1}' | xargs -ro yay -Rns
-}
-
-# find-in-file - usage: fif <searchTerm>
-fif() {
- if [ ! "$#" -gt 0 ]; then echo "Need a string to search for!"; return 1; fi
- rg --files-with-matches --no-messages "$1" | fzf --preview "highlight -O ansi -l {} 2> /dev/null | rg --colors 'match:bg:yellow' --ignore-case --pretty --context 10 '$1' || rg --ignore-case --pretty --context 10 '$1' {}"
-}
-
-### CONVENIENCE
-
-# Find an epub book in the library and open it in epr terminal reader.
-# previously: find ~/books \( -iname \*.epub -o -iname \*.pdf -o -iname \*.djvu \) | fzf | xargs emacs
-bk() {
- bkfile=$(find "$BOOKS_DIR" -iname "*.epub" -print | fzf)
- if [ -n "$bkfile" ]; then
- epr "$bkfile"
- fi
-}
-
-# Find an interactive fiction game and open it in frotz.
-# Supports Z-machine files (.z1-.z8, .zblorb, .blorb)
-tg() {
- gamefile=$(find "$IF_GAMES_DIR" -type f \( -iname "*.z[1-8]" -o -iname "*.zblorb" -o -iname "*.blorb" \) -print | fzf)
- if [ -n "$gamefile" ]; then
- frotz "$gamefile"
- fi
-}
-
-
-
-# close wireguard connection first if already running, then
-# run wireguard, selecting the configuration file.
-wgup() {
- # Check if wireguard is running
- output=$(sudo wg)
- if [[ -n "$output" ]]; then
- # Shutdown all wg interfaces if WireGuard is currently running.
- for iface in $(sudo wg show interfaces); do
- sudo wg-quick down "${iface}"
- done
- fi
- # Get the list of config files
- wgfile=$(sudo find /etc/wireguard/ -iname "*.conf" -exec basename -s .conf {} \; | fzf)
-
- if [ -n "$wgfile" ]; then
- sudo wg-quick up $wgfile
- sudo wg
- fi
-}
-wgdown() {
- # Check if wireguard is running
- output=$(sudo wg)
- if [[ -n "$output" ]]; then
- # Shutdown all wg interfaces if WireGuard is currently running.
- for iface in $(sudo wg show interfaces); do
- sudo wg-quick down "${iface}"
- done
- fi
-}
-alias wg=wgup
diff --git a/dotfiles/system/.profile.d/git.sh b/dotfiles/system/.profile.d/git.sh
deleted file mode 100644
index 7332ba1..0000000
--- a/dotfiles/system/.profile.d/git.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# git.sh
-# Craig Jennings <c@cjennings.net>
-# git settings and convenience aliases, sourced by .profile
-
-alias gitlog="git log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative"
-alias gitstatus='git status -sb '
-alias gitcom='git commit -m '
-alias gitpp='git pull --prune ' # clean up any orphaned git objects
-alias gittagbydate="git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags"
-
-gitsp() {
- git stash && git pull && git stash pop
-}
-
-gitck() {
- git checkout "$(git branch --all | fzf| tr -d '[:space:]')"
-}
-
-gitdiff() {
- preview="git diff $@ --color=always -- {-1}"
- git diff "$@" --name-only | fzf -m --ansi --preview "$preview"
-}
diff --git a/dotfiles/system/.profile.d/media.sh b/dotfiles/system/.profile.d/media.sh
deleted file mode 100644
index 3add213..0000000
--- a/dotfiles/system/.profile.d/media.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-# media.sh
-# Craig Jennings <c@cjennings.net>
-# utilities for working with media (music, video, books, etc.)
-
-
-### TERMINAL MPV ALIASES
-alias play='mpv --no-video'
-alias shuffle='mpv --no-video --shuffle '
-
-
-### YOUTUBE AND TIDAL
-# Leverage task spooler to download url targets serially in the background.
-# example : % stdl "https://youtu.be/gv-3Y7CcUUo"
-# note that zshell urls must be quoted; not so for bash.
-
-# tidal-dl
-alias tdl="tidal-dl -l"
-alias ttdl="tsp tidal-dl -l"
-
-# youtube-dl
-alias yt="yt-dlp --ignore-config --no-playlist --add-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
-alias tyt="tsp yt-dlp --ignore-config --no-playlist --add-metadata -i -o '%(channel)s-%(title)s.%(ext)s'"
-
-alias ytp="yt-dlp --ignore-config --yes-playlist --add-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
-alias tytp="tsp yt-dlp --ignore-config --yes-playlist --add-metadata -i -o '%(channel)s-%(playlist_title)s-%(playlist_index)s-%(title)s.%(ext)s'"
-
-alias yta="yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
-alias tyta="tsp yt-dlp --ignore-config --no-playlist -x -f bestaudio/best -o '%(artist)s-%(title)s.%(ext)s'"
-
-alias ytap="yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
-alias tytap="tsp yt-dlp --ignore-config --yes-playlist -x -f bestaudio/best -o '%(playlist_index)s-%(artist)s-%(title)s.%(ext)s'"
-
-
-### SOUND FILE CONVERSION
-# converts audible aax to other formats. Requires AAXtoMP3 script in dotfiles.
-
-alias aax2flac='AAXtoMP3 -f '
-alias aax2mp3='AAXtoMP3 -c -e:mp3 '
-alias aax2opus='AAXtoMP3 --opus -t . -c '
diff --git a/dotfiles/system/.profile.d/zoxide.sh b/dotfiles/system/.profile.d/zoxide.sh
deleted file mode 100755
index 8bbb86b..0000000
--- a/dotfiles/system/.profile.d/zoxide.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# zoxide.sh
-# Craig Jennings <c@cjennings.net>
-# zoxide initialization, sourced by .profile
-
-# Initialize zoxide for zsh
-eval "$(zoxide init zsh)"
-
-# Alias cd to use zoxide
-# alias cd="z"
diff --git a/dotfiles/system/.zshrc b/dotfiles/system/.zshrc
deleted file mode 100644
index 413d8b8..0000000
--- a/dotfiles/system/.zshrc
+++ /dev/null
@@ -1,179 +0,0 @@
-# source appropriate dotfiles if they exist
-[ -f ~/.profile ] && source ~/.profile
-[ -f ~/.secrets ] && source ~/.secrets
-[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
-[ -f ~/.zsh/fzf-tab.zsh ] && source ~/.zsh/fzf-tab.zsh
-
-
-# GENERAL #####################
-setopt PROMPT_SUBST # allow env variables in prompt
-setopt AUTO_REMOVE_SLASH # self explicit
-setopt CHASE_LINKS # resolve symlinks
-setopt CORRECT # try to correct spelling of commands
-setopt EXTENDED_GLOB # activate complex pattern globbing
-setopt GLOB_DOTS # include dotfiles in globbing
-setopt PRINT_EXIT_VALUE # print return value if non-zero
-setopt CLOBBER # don't need to use >| to truncate existing files
-setopt interactivecomments # allow comments in command line like bash
-unsetopt BEEP # no bell on error
-unsetopt BG_NICE # no lower prio for background jobs
-unsetopt HIST_BEEP # no bell on error in history
-unsetopt HUP # no hup signal at shell exit
-unsetopt IGNORE_EOF # do not exit on end-of-file
-unsetopt LIST_BEEP # no bell on ambiguous completion
-unsetopt RM_STAR_SILENT # ask for confirmation for `rm *' or `rm path/*'
-autoload -U colors zsh-mime-setup select-word-style
-colors # colors
-zsh-mime-setup # run everything as if it's an executable
-
-
-# HISTORY #####################
-HISTFILE="$HOME/.zsh_history"
-HISTSIZE=10000000
-SAVEHIST=$HISTSIZE
-setopt BANG_HIST # Treat the '!' character specially during expansion.
-setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
-setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
-setopt SHARE_HISTORY # Share history between all sessions.
-setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
-setopt HIST_IGNORE_DUPS # Don't record an entry that was just recorded again.
-setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
-setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
-setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
-setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
-setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
-setopt HIST_VERIFY # Don't execute immediately upon history expansion.
-setopt HIST_BEEP # Beep when accessing nonexistent history.
-
-# KEYBOARD ##################
-# create a zkbd compatible hash;
-# to add other keys to this hash, see: man 5 terminfo
-typeset -g -A key
-
-key[Home]="${terminfo[khome]}"
-key[End]="${terminfo[kend]}"
-key[Insert]="${terminfo[kich1]}"
-key[Backspace]="${terminfo[kbs]}"
-key[Delete]="${terminfo[kdch1]}"
-key[Up]="${terminfo[kcuu1]}"
-key[Down]="${terminfo[kcud1]}"
-key[Left]="${terminfo[kcub1]}"
-key[Right]="${terminfo[kcuf1]}"
-key[PageUp]="${terminfo[kpp]}"
-key[PageDown]="${terminfo[knp]}"
-key[Shift-Tab]="${terminfo[kcbt]}"
-
-# setup key accordingly
-[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
-[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
-[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
-[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
-[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
-[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
-[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
-[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
-[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
-[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
-[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
-[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
-
-# cjennings additions #################
-bindkey -e # emacs keybindings
-bindkey '\e[1;5C' forward-word # C-Right
-bindkey '\e[1;5D' backward-word # C-Left
-bindkey -s "\e[24~" "" # stop F12 from spitting tildes
-
-# Finally, make sure the terminal is in application mode, when zle is
-# active. Only then are the values from $terminfo valid.
-if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
- autoload -Uz add-zle-hook-widget
- function zle_application_mode_start { echoti smkx }
- function zle_application_mode_stop { echoti rmkx }
- add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
- add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
-fi
-
-# COMPLETION ##################
-autoload -U compinit
-compinit
-zmodload -i zsh/complist
-setopt AUTO_LIST # list options on ambiguous completion
-setopt AUTO_MENU # show menu on second request for completion
-setopt ALWAYS_TO_END # when completing from middle of a word, move cursor to end of word
-setopt COMPLETE_IN_WORD # allow completion from within a word/phrase
-setopt COMPLETEALIASES # complete alisases
-setopt CORRECT # spelling correction for commands
-setopt HASH_LIST_ALL # hash everything before completion
-setopt LIST_AMBIGUOUS # complete as much of a completion until it gets
-
-zstyle ':completion::complete:*' use-cache on # completion caching, use rehash to clear
-zstyle ':completion:*' cache-path ~/.zsh/cache # cache path
-zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # ignore case
-zstyle ':completion:*' menu select=2 # menu if nb items > 2
-zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # colorz !
-zstyle ':completion:*::::' completer _expand _complete _ignored _approximate # list of completers to use
-
-# sections completion
-zstyle ':completion:*' verbose yes
-zstyle ':completion:*:descriptions' format $'\e[00;34m%d'
-zstyle ':completion:*:messages' format $'\e[00;31m%d'
-zstyle ':completion:*' group-name ''
-zstyle ':completion:*:manuals' separate-sections true
-
-zstyle ':completion:*:processes' command 'ps -au$USER'
-zstyle ':completion:*:*:kill:*' menu yes select
-zstyle ':completion:*:kill:*' force-list always
-zstyle ':completion:*:*:kill:*:processes' list-colors "=(#b) #([0-9]#)*=29=34"
-zstyle ':completion:*:*:killall:*' menu yes select
-zstyle ':completion:*:killall:*' force-list always
-users=(cjennings root) # because I don't care about others
-zstyle ':completion:*' users $users
-
-#generic completion with --help
-compdef _gnu_generic gcc
-compdef _gnu_generic gdb
-
-# DIRECTORY NAVIGATION ########
-setopt AUTO_CD # if typing directory name, auto cd there
-setopt AUTO_PUSHD # push old directories to stack (for use with popd)
-setopt PUSHD_IGNORE_DUPS # donโ€™t push multiple copies of same directory onto stack
-setopt PUSHD_SILENT # don't print directory stack after pushd/popd
-setopt PUSHD_TO_HOME # pushd == `pushd $HOME`
-
-# VERSION CONTROL
-autoload -Uz vcs_info # Load version control information
-precmd() { vcs_info }
-
-# Styling the version control info
-zstyle ':vcs_info:*' enable git cvs svn # enable only the repo systems I use
-zstyle ':vcs_info:*' check-for-changes false # don't check for changes in local repo
-zstyle ':vcs_info:git*' formats "on ๎‚ %b" # format the vcs_info_msg_0_ variable
-
-# HISTORY ####################
-export HISTFILE=~/.zsh_history
-export HISTFILESIZE=1000000000
-export HISTSIZE=1000000000
-setopt INC_APPEND_HISTORY
-export HISTTIMEFORMAT="[%F %T] "
-setopt EXTENDED_HISTORY
-setopt HIST_IGNORE_ALL_DUPS
-
-# PROMPT #####################
-WHO='%n'
-NEWLINE=$'\n'
-PROMPT='[%D %*] $WHO $HOST:${PWD/#$HOME/~} %(?..[%?] ) $NEWLINE%# '
-RPROMPT='${vcs_info_msg_0_}'
-
-# PYTHON POETRY #############
-fpath+=~/.zfunc
-autoload -Uz compinit && compinit
-
-# zoxide
-eval "$(zoxide init zsh)"
-
-## [Completion]
-## Completion scripts setup. Remove the following line to uninstall
-[[ -f /home/cjennings/.config/.dart-cli-completion/zsh-config.zsh ]] && . /home/cjennings/.config/.dart-cli-completion/zsh-config.zsh || true
-## [/Completion]
-
-ulimit -c unlimited \ No newline at end of file