diff options
Diffstat (limited to '.config/dmscripts/config')
| -rwxr-xr-x | .config/dmscripts/config | 242 |
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§ion=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 |
