summaryrefslogtreecommitdiff
path: root/.config/dmscripts/config
diff options
context:
space:
mode:
Diffstat (limited to '.config/dmscripts/config')
-rwxr-xr-x.config/dmscripts/config242
1 files changed, 242 insertions, 0 deletions
diff --git a/.config/dmscripts/config b/.config/dmscripts/config
new file mode 100755
index 0000000..f185d4b
--- /dev/null
+++ b/.config/dmscripts/config
@@ -0,0 +1,242 @@
+#!/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"
+DMENU="rofi -dmenu -theme Arc-Dark"
+
+DMBROWSER="firefox"
+# 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}/.wallpaper"
+# 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=1
+
+# 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-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
+declare -A weather_location
+# weather_location[New York]="New+York"
+weather_opts="m" # Always use metric units (celsius)
+# weather_opts="u" # Always use US units (fahrenheit)
+# see: https://github.com/chubin/wttr.in
+
+# dm-currencies config
+
+# Chose how you want to display the currencies (default: "names")
+# currency_names="codes"
+
+# "auto" will get currencies dynamically, "manual" will only use the currencies you define (default: "auto")
+# defined currencies will still be included when set to auto
+# currency_method="manual"
+
+declare -A currencies
+# currencies[Dollar]="USD"
+# currencies[Pound]="GBP"
+# currencies[Monero]="XMR"
+# see: https://rate.sx/:currencies and https://rate.sx/:coins
+
+_revision=22