My local scripts & configuration files. Installation and management
is done through the makefile FreeBSD.mk. Files that end with the
(unfortunately ambiguous) ".fix" suffix contain strings like "xDK0h"
that are defined in colordef\*.sh and are replaced/processed using
sed by way of fixcolor.sh.
My Quake 3 config is also included here, though there's probably
something wrong with it.
All files (unless explicitly stated otherwise) are made available under
the 2-clause simplified BSD license; see LICENSE for the full text.
### Environment & Software Choices
My system is, generally speaking, a modern amd64 PC running X windows
on FreeBSD. 1080p (1920x1080) resolution, true color support (even in
the terminal), et cetera. A pretty normal set of hardware in 2021 but
worth calling out. These config files are written for that setup.
I use the X windows programs alacritty, conky, dunst, herbstluftwm,
jgmenu, mpv, picom, redshift, and tint2. Terminal emulator, system monitor,
notification daemon, window manager, menu, video player, compositor,
automated color temperature changer, and panel/taskbar respectively.
On the console I use cmus, irssi, mutt, newsboat, and vim. Music player,
IRC client, mail user agent, RSS reader, and editor respectively.
Nothing too unusual in those lists.
### Shell Scripts
Most of the shell scripts in this repository are generalized frontends
to various utilities, some with a bit of extra logic in them.
bin/aliases.sh are my shell aliases, nothing fancy. bin/run_tv.sh and
bin/youtube.sh are very basic, not much more than aliases.
bin/back.sh is an X windows background (root image) setter, a frontend for
hsetroot (https://github.com/himdel/hsetroot) capable of selecting random
images from a list or directory.
bin/words.sh is a little tool that randomly selects n words from a file,
default 3 words from /usr/share/bin/words.
bin/xvt.sh runs a new terminal emulator in the current working directory
of the shell running in the currently selected window. It's a bit weird,
doesn't always work.
bin/lc.sh is an ls-like that lists files in a directory and colorizes
the output based on filetype, filesize, and other criteria determined in
a great big case statement. Only tested on FreeBSD. Please don't alias or
otherwise call it as ls, it's a very bad idea.
config/redshift/hooks/background.sh is an automated background selector &
setter launched by redshift (http://jonls.dk/redshift/) when the redshift
period (day, transition, night) changes. I use sets of background art from
visual novels that depict scenes at different times of day. The conky
config at config/conky/conky.conf also hooks into this to draw a character
image with appropriate (day, transition, night) tinting and an expression
based on system load average.
### Missing Dependencies
Some of these config files, notably config/cmus/rc, require or reference
scripts I've written that aren't in this repository. I intend to publish
those missing scripts soon either in their own repo or in this one.