about summary refs log tree commit diff
path: root/nixos/config/dmscripts-conf
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/config/dmscripts-conf')
-rw-r--r--nixos/config/dmscripts-conf261
1 files changed, 261 insertions, 0 deletions
diff --git a/nixos/config/dmscripts-conf b/nixos/config/dmscripts-conf
new file mode 100644
index 0000000..cda0ef3
--- /dev/null
+++ b/nixos/config/dmscripts-conf
@@ -0,0 +1,261 @@
+#!/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
+
+# IMPORTANT! Keep the '-p' flag at the end of the DMENU and RMENU variables.
+# Also, keep the '--prompt' flag at the end of the FMENU variable.
+# These are needed as we use prompts in the scripts.
+DMENU="dmenu -i -l 20 -p"
+RMENU="rofi -dmenu -p"
+
+# the bind must stay, why is this not the default? idk
+FMENU="fzf --bind=enter:replace-query+print-query --border=rounded --margin=5% --color=dark --height 100% --reverse --header=$(basename "$0") --info=hidden --header-first --prompt"
+
+
+PDF_VIEWER="zathura"
+
+DMBROWSER="firefox"
+# DMBROWSER="qutebrowser"
+
+# DMTERM="st -e"
+DMTERM="kitty -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'
+
+# dmscripts will notify you if your configuration is outdated, to shut it up uncomment this.
+# comment it back out if you want dmscripts to nag at you
+# DM_SHUTUP="something" # NOTICE: This is currently experimental and will not work in (most) programs
+
+# set this variable up to a real file if you want dmscripts to provide a log of when and what has changed
+# in your config (this can be an alternative to the notifications)
+DM_CONFIG_DIFF_LOGFILE="/dev/stderr" # NOTICE: experimental
+
+# 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/Papes"
+# 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
+# no means it will use only static entries
+confedit_isdynamic="yes"
+
+# a list of directories to exclude in conf edit
+# as an example: to exclude anything from the folder .config/foo and .config/bar, put "foo|bar"
+# It takes any regexp and is case insensitive
+confedit_exclude_dirs="BraveSoftware"
+
+
+# If this variable is blank or is defined as "find", then it uses find
+# Examples:
+# locate: locate
+# fd: fd .
+# find: find
+# etc
+# Note that there is no need to include any arguments excluding directories, that is handled autmatically
+confedit_find_prog="find"
+
+# We must declare all lists with the -g option
+
+# a list of static config files that may not be in the expected places
+declare -Ag 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 init.vim]="$HOME/.config/nvim/init.vim"
+confedit_list[neovim init.lua]="$HOME/.config/nvim/init.lua"
+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[xmonad]="$HOME/.xmonad/README.org"
+confedit_list[xinitrc]="$HOME/.xinitrc"
+confedit_list[xresources]="$HOME/.Xresources"
+confedit_list[zsh]="$HOME/.zshrc"
+
+# dm-reddit config
+declare -ag reddit_list=(
+"r/thedeprogram"
+"r/linuxmasterrace"
+)
+
+# Search engine config
+declare -Ag websearch
+# Syntax:
+# websearch[name]="https://www.example.com/search?q="
+
+# Search Engines
+websearch[brave]="https://search.brave.com/search?q="
+websearch[duckduckgo]="https://duckduckgo.com/?q="
+websearch[google]="https://www.google.com/search?q="
+websearch[yandex]="https://yandex.com/search/?text="
+# Information/News
+websearch[wikipedia]="https://en.wikipedia.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[ebay]="https://www.ebay.com/sch/i.html?&_nkw="
+# Linux
+websearch[archwiki]="https://wiki.archlinux.org/index.php?search="
+websearch[debian_pkgs]="https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords="
+websearch[flathub]="https://flathub.org/search/public?channel=stable&query="
+websearch[fedora_pkgs]="https://packages.fedoraproject.org/search?query="
+# NixOS
+websearch[nix_pkgs]="https://search.nixos.org/packages?query="
+websearch[nix_opts]="https://search.nixos.org/options?query="
+websearch[nix_hm_opts]="https://mipmip.github.io/home-manager-option-search/?query="
+# Development
+websearch[github]="https://github.com/search?q="
+websearch[gitlab]="https://gitlab.com/search?search="
+websearch[stackoverflow]="https://stackoverflow.com/search?q="
+websearch[hoogle]="https://hoogle.haskell.org/?hoogle="
+# Misc
+websearch[books]="https://ravebooksearch.com/#gsc.tab=0&gsc.sort=&gsc.q="
+
+# 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 -Ag youtube_channels
+youtube_channels[distrotube]="https://www.youtube.com/@DistroTube/videos"
+youtube_channels[alexchristoforou]="https://www.youtube.com/@AlexChristoforou/videos"
+youtube_channels[alexandermercouris]="https://www.youtube.com/@AlexMercouris/videos"
+youtube_channels[duran]="https://www.youtube.com/@TheDuran/videos"
+youtube_channels[isorrowproductions]="https://www.youtube.com/@iSorrowproductions/videos"
+youtube_channels[geopoliticaleconomyreport]="https://www.youtube.com/@GeopoliticalEconomyReport/videos"
+youtube_channels[secondwindgroup]="https://www.youtube.com/@SecondWindGroup/videos"
+youtube_channels[videogamedunkey]="https://www.youtube.com/@videogamedunkey/videos"
+youtube_channels[yogscast]="https://www.youtube.com/@yogscast/videos"
+youtube_channels[thelinuxexperiment]="https://www.youtube.com/@TheLinuxEXP/videos"
+
+# 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"
+# dmradio-volume ranges between -1 and 100 (for mplayer) or 0-100 (for mpv)
+
+DMRADIOVOLUME="100"
+declare -Ag 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 -Ag 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-weather config
+
+# Example: set the default search parameters to Texas, Paris and Moscow
+# weather_locations="Texas, United States
+# Paris, France
+# Moscow, Russia"
+weather_locations="Haverhill, United Kingdom"
+
+# 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
+
+# current revision (do not touch unless you know what you're doing)
+_revision=26