Pushing before pulling.

This commit is contained in:
Derek Taylor
2023-03-29 12:39:15 -05:00

View File

@@ -1,301 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=SC2034
# This issue is ignored because it is part of a larger file that calls upon all variables listed
# To edit this file copy it to `${HOME}/.config/dmscripts/config`
# `cp /etc/dmscripts/config ${HOME}/.config/dmscripts/config`
# Defined variables, modify anything in quotes to your prefered software
# -p is needed as we use prompts, alternative programs have to handle prompts well.
DMENU="dmenu -i -l 20 -p"
FMENU="fzf --border=rounded --margin=5% --color=dark --height 100% --reverse --header=$(basename $0) --info=hidden --header-first --prompt"
RMENU="rofi -dmenu"
PDF_VIEWER="zathura"
#DMBROWSER="brave"
DMBROWSER="qutebrowser"
# DMTERM="st -e"
DMTERM="alacritty -e"
DMEDITOR="emacsclient -c -a emacs"
# DMEDITOR="${DMTERM} vim"
# TODO: Rename this variable to something more traditional
logout_locker='slock'
# logout_locker='dm-tool lock'
# This case statement lets you change what the DMENU variable is for different scripts, so if you
# want a unique variable for each script you can
# syntax is as follows:
# "<ending-of-script>") DMENU="your variable here"
# *) should be left blank, global variables are defined above
# include -p in standard dmenu as we use prompts by default
case "${0##*-}" in
# "colpick") DMENU="dmenu -i -p";;
# "confedit") DMENU="dmenu -i -l 30 -p";;
# "youtube") DMBROWSER="firefox";;
*);;
esac
# "${0##*-}" means grab the 0th argument (which is always the path to the program) starting from the
# last dash. This gives us the word after the - which is what we are searching for in the case
# statement. ie dm-man -> man
# An awk equivalent is:
# awk -F"-" '{print $NF}'
# Sadly cut has no easy equivalent
# TODO: Move almost all of these variables into the case statement
# TODO: Make some of the more useful ones general variables
# IE a pictures directory, an audio directory, config locations, etc
# dm-bookman
bookman_show_source=1
# dm-sounds
sounds_dir="${HOME}/.config/dmscripts/dmsounds"
# dm-setbg
setbg_dir="${HOME}/Pictures/Wallpapers"
# Set this to 1 if you want to use imv and wayland, 0 if you want to use sxiv
# Note that sxiv is X11 only, you need to mark the image you want to use.
use_imv=0
# dm-maim
maim_dir="${HOME}/Screenshots"
maim_file_prefix="maim"
# dm-note
note_dir="${HOME}/.config/dmscripts/dmnote"
# dm-confedit
declare -A confedit_list
confedit_list[confedit]="$HOME/.config/dmscripts/config"
confedit_list[alacritty]="$HOME/.config/alacritty/alacritty.yml"
confedit_list[awesome]="$HOME/.config/awesome/rc.lua"
confedit_list[bash]="$HOME/.bashrc"
confedit_list[broot]="$HOME/.config/broot/conf.toml"
confedit_list[bspwm]="$HOME/.config/bspwm/bspwmrc"
confedit_list[doom emacs config.el]="$HOME/.config/doom/config.el"
confedit_list[doom emacs config.org]="$HOME/.config/doom/config.org"
confedit_list[doom emacs init.el]="$HOME/.config/doom/init.el"
confedit_list[doom emacs packages.el]="$HOME/.config/doom/packages.el"
confedit_list[dunst]="$HOME/.config/dunst/dunstrc"
confedit_list[dwm]="$HOME/dwm-distrotube/config.def.h"
confedit_list[dwmblocks]="$HOME/dwmblocks-distrotube/blocks.def.h"
confedit_list[fish]="$HOME/.config/fish/config.fish"
confedit_list[herbstluftwm]="$HOME/.config/herbstluftwm/autostart"
confedit_list[i3]="$HOME/.config/i3/config"
confedit_list[ncmpcpp]="$HOME/.config/ncmpcpp/config"
confedit_list[neovim]="$HOME/.config/nvim/init.vim"
confedit_list[picom]="$HOME/.config/picom/picom.conf"
confedit_list[polybar]="$HOME/.config/polybar/config"
confedit_list[qtile]="$HOME/.config/qtile/config.py"
confedit_list[qutebrowser bookmarks]="$HOME/.config/qutebrowser/bookmarks/urls"
confedit_list[qutebrowser quickmarks]="$HOME/.config/qutebrowser/quickmarks"
confedit_list[qutebrowser config.py]="$HOME/.config/qutebrowser/config.py"
confedit_list[spectrwm]="$HOME/.spectrwm.conf"
confedit_list[ssh]="$HOME/.ssh/config"
confedit_list[st]="$HOME/st-distrotube/config.def.h"
confedit_list[stumpwm]="$HOME/.config/stumpwm/config"
confedit_list[surf]="$HOME/surf-distrotube/config.def.h"
confedit_list[sxhkd]="$HOME/.config/sxhkd/sxhkdrc"
confedit_list[tabbed]="$HOME/tabbed-distrotube/config.def.h"
confedit_list[vifm]="$HOME/.config/vifm/vifmrc"
confedit_list[vim]="$HOME/.vimrc"
confedit_list[xmobar mon1]="$HOME/.config/xmobar/xmobarrc0"
confedit_list[xmobar mon2]="$HOME/.config/xmobar/xmobarrc1"
confedit_list[xmobar mon3]="$HOME/.config/xmobar/xmobarrc2"
confedit_list[xmonad]="$HOME/.xmonad/README.org"
confedit_list[xinitrc]="$HOME/.xinitrc"
confedit_list[xresources]="$HOME/.Xresources"
confedit_list[zsh]="$HOME/.zshrc"
# dm-reddit config
declare -a reddit_list=(
"r/archlinux"
"r/bash"
"r/commandline"
"r/emacs"
"r/freesoftware"
"r/linux"
"r/linux4noobs"
"r/linuxmasterrace"
"r/linuxquestions"
"r/suckless"
"r/Ubuntu"
"r/unixporn"
"r/vim"
)
# Search engine config
declare -A websearch
# Syntax:
# websearch[name]="https://www.example.com/search?q="
# Search Engines
websearch[bing]="https://www.bing.com/search?q="
websearch[brave]="https://search.brave.com/search?q="
websearch[duckduckgo]="https://duckduckgo.com/?q="
websearch[gemini search \(https\)]="https://portal.mozz.us/gemini/geminispace.info/search%3F"
websearch[google]="https://www.google.com/search?q="
websearch[qwant]="https://www.qwant.com/?q="
websearch[swisscows]="https://swisscows.com/web?query="
websearch[yandex]="https://yandex.com/search/?text="
# Information/News
websearch[bbcnews]="https://www.bbc.co.uk/search?q="
websearch[cnn]="https://www.cnn.com/search?q="
websearch[googlenews]="https://news.google.com/search?q="
websearch[wikipedia]="https://en.wikipedia.org/w/index.php?search="
websearch[wiktionary]="https://en.wiktionary.org/w/index.php?search="
# Social Media
websearch[reddit]="https://www.reddit.com/search/?q="
websearch[odysee]="https://odysee.com/$/search?q="
websearch[youtube]="https://www.youtube.com/results?search_query="
# Online Shopping
websearch[amazon]="https://www.amazon.com/s?k="
websearch[craigslist]="https://www.craigslist.org/search/sss?query="
websearch[ebay]="https://www.ebay.com/sch/i.html?&_nkw="
websearch[gumtree]="https://www.gumtree.com/search?search_category=all&q="
# Linux
websearch[archaur]="https://aur.archlinux.org/packages/?O=0&K="
websearch[archpkg]="https://archlinux.org/packages/?sort=&q="
websearch[archwiki]="https://wiki.archlinux.org/index.php?search="
websearch[debianpkg]="https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords="
# Development
websearch[github]="https://github.com/search?q="
websearch[gitlab]="https://gitlab.com/search?search="
websearch[googleOpenSource]="https://opensource.google/projects/search?q="
websearch[sourceforge]="https://sourceforge.net/directory/?q="
websearch[stackoverflow]="https://stackoverflow.com/search?q="
# Etc
# dm-youtube config
# Think of these as your "subscribed channels", name the channel in the square brackets then put the channel URL in the quotation marks
# Syntax: youtube_channels[name]="https://www.youtube.com/link/to/channel"
declare -A youtube_channels
youtube_channels[distrotube]="https://www.youtube.com/c/DistroTube/featured"
# dm-radio config
# Your list of online radio stations for the dm-radio script.
# Syntax: radio_stations[name]="https://www.zeno.fm/radio/your-station"
declare -A radio_stations
radio_stations[Oldies Radio 50s-60s]="https://zeno.fm/radio/oldies-radio-50s-60s/"
radio_stations[Oldies Radio 70s]="https://zeno.fm/radio/oldies-radio-70s/"
radio_stations[Unlimited 80s]="https://zeno.fm/radio/unlimited80s/"
radio_stations[80s Hits]="https://zeno.fm/radio/80shits/"
radio_stations[90s Hits]="https://zeno.fm/radio/90s_HITS/"
radio_stations[2000s Pop]="https://zeno.fm/radio/2000s-pop/"
radio_stations[The 2000s]="https://zeno.fm/radio/the-2000s/"
radio_stations[Hits 2010s]="https://zeno.fm/radio/helia-hits-2010/"
radio_stations[Classical Radio]="https://zeno.fm/radio/classical-radio/"
radio_stations[Classical Relaxation]="https://zeno.fm/radio/radio-christmas-non-stop-classical/"
radio_stations[Classic Rock]="https://zeno.fm/radio/classic-rockdnb2sav8qs8uv/"
radio_stations[Gangsta49]="https://zeno.fm/radio/gangsta49/"
radio_stations[HipHop49]="https://zeno.fm/radio/hiphop49/"
radio_stations[Madhouse Country Radio]="https://zeno.fm/radio/madhouse-country-radio/"
radio_stations[PopMusic]="https://zeno.fm/radio/popmusic74vyurvmug0uv/"
radio_stations[PopStars]="https://zeno.fm/radio/popstars/"
radio_stations[RadioMetal]="https://zeno.fm/radio/radio-metal/"
radio_stations[RocknRoll Radio]="https://zeno.fm/radio/rocknroll-radio994c7517qs8uv/"
# dm-colpick config
declare -A colpick_list
colpick_list[black]="#282a36"
colpick_list[red]="#ff5555"
colpick_list[green]="#5af78e"
colpick_list[yellow]="#f1fa8c"
colpick_list[blue]="#57c7ff"
colpick_list[magenta]="#ff6ac1"
colpick_list[cyan]="#8be9fd"
colpick_list[white]="#f1f1f0"
colpick_list[orange]="#ffb86c"
colpick_list[purple]="#bd9cf9"
# dm-translate config
# dm-translate currently supports two translation services, LibreTranslate and Lingva Translate.
# LibreTranslate uses the free software (Expat/MIT licensed) Argos Translate library for translation.
# Lingva Translate uses the Google Translate (dis)service for translation, but this is fully server-side and Google will not see your IP.
# Both are free software services that can be self-hosted.
# If you want more languages (or need a specific language not in the Argos library) you should chose Lingva Translate.
# If you want to get away from Google and/or want a fully free software implementation you should use LibreTranslate.
# The choice is yours...
translate_service="libre"
# translate_service="lingva"
libretranslate_instance="https://libretranslate.de"
lingva_instance="https://lingva.ml"
# Uncomment to manually set the languages dm-translate will show
# LibreTranslate languages:
# - `curl -Ss "https://libretranslate.de/languages" | jq`
# Lingva Translate languages:
# - `curl -Ss "https://lingva.ml/api/v1/languages/source" | jq`
# translate_list="manual"
# declare -A lang_map
# lang_map[Spanish]=es
# lang_map[English]=en
# lang_map[Automatic]=auto
# dm-weather config
# Example: set the default search parameters to Texas, Paris and Kyiv
# weather_locations="Texas, United States
# Paris, France
# Kyiv, Ukraine"
weather_locations="Paris, France
New York, New York
Dallas, TX"
# use the weather_opts variable to set additional flags:
# weather_opts="flag1&flag2&flag3=somevalue"
# for full details see: https://github.com/chubin/wttr.in
# dm-currencies config
# syntax: currency_name:pretty_name(s)
# we use this site, ensure your currency is supported before adding it:
# https://currencyconvert.online/$from/$to/$amount
currency_list="aud:Australian dollar
brl:Brazilian real
cad:Canadian dollar
chf:Swiss franc
clp:Chilean peso
cny:Chinese yuan
czk:Czech koruna
dkk:Danish krone
eur:Euro
gdb:Pound sterling
khd:Hong Kong dollar
huf:Hungarian forint
idr:Indonesian rupiah
ils:Israeli shekel
inr:Indian rupee
jpy:Japanese yen
krw:South Korean won
mxn:Mexican peso
myr:Malaysian ringgit
nok:Norwegian krone
nzd:New Zealand dollar
php:Philippine peso
pkr:Pakistani rupee
pln:Polish zloty
rub:Russian ruble
sek:Swedish krona
sgd:Singapore dollar
thb:Thai baht
try:Turkish lira
twd:New Taiwan dollar
usd:United States Dollar
zar:South African rand"
# current revision (do not touch unless you know what you're doing)
_revision=23