We already have a file which is strictly dedicated to xdg setting
environment variables and taking care of folder creations.
Using xdg-user-dirs as an application was basically doubling up on that.
Also, I don't need my directories localized - I just want them to point
to exactly where they should.
`fzfman` will gather all manpage topics and display them in a fzf list
to choose from. Selection will open the corresponding manpage.
Other fzf- functions have been standardized in their naming scheme:
fzf and the function without any spaces, e.g.
`fzfhistory`, `fzfyay`, `fzfyayrns`.
Changed sxhkd being hard-coded to use alacritty as a terminal. Though I
don't see myself switching soon, changed the shortcut to make use of the
already existing environment variable "$TERMINAL" which gets set as part
of my basic env settings on the machine.
Added pre-defined filter for styler entries, removing 256 color versions
of base16 themes, as well as all atelier styles. I never use -256
versions of the themes so they can be hidden. If I want to use an
atelier style (which is rarely), I can quickly remove the pre-defined
filter since it is the last one added.
Added a mapping to academia mode which shows *all* due papers, to get an
overview at a glance. Uses F3, so that academia mappings go F1->F3 from
most restricted to most encompassing views.
Added `fontfamilies` alias which tries to remove duplicate entries from
the `fc-list` command and display them. Can be used for easy finding of
installed font-families, thus the name.
Added optional third argument to exist script which can be used to
identify the program or process that needs the command exist looks for.
This makes it easier to identify *who* called exist and is missing
something.
Removed dimswitch script. I liked it but it has been utterly superseded
by styler; if wanting to switch light and dark I can just switch to
light or dark base16 theme and do not have to rely on alacritty config
file hacking through dimswitch (well, now just through styler, yay.)
exist script will print message to stdout even if it prints to notify,
this makes more sense since now passing a loudness factor just adds it
to the message, instead of replacing printed message with libnotify.
Added stow ignores to top-level files. Not entirely sure if it is
needed, but they were linked on my system and the change shouldn't hurt.
Renamed ifinstalled to exist, moved it into base shell module. It can be
called with just a command name to check for, or with an additional
libnotify urgency level (low, normal, critical).
If called with an urgency as the second argument, the user will be
notified of the missing command with the corresponding urgency.
Fixes tmux xdg-compliance (and, more importantly, Tmux Plugin Manager's)
by setting the environment variable TMUX_PLUGIN_MANAGER_PATH to follow
xdg specifications. Tmux, due to not being xdg-compliant, needs to be
aliased to start with the `-f` option pointing into the configuration
directory.
Fixes tmux vim nagigator's controls being overwritten by other control
schemes in tmux.
The only file left in $HOME is .zshenv, which sets up zsh to source everything from XDG_CONFIG_HOME/zsh.
Shell files are split into sh and zsh directories, for global assignments (which should be posix compliant, work on any posix shell) like environemnt variables, xdg vars, and global aliases. zsh contains zsh specific customization (prompt customization, plugin loading, zsh completions).
Zsh initialization will pull from sh directory first, loading the respective mirror to its startup file (`.zprofile` loads `sh/profile` and `profile.d/*`, `.zshenv` loads `sh/env` and `sh/env.d/*` and `zsh/env.d/*`, `.zshrc` loads `sh/alias`, `sh/alias.d/*` and `zsh/alias.d/*`)
Once all is done, it will have loaded both global variables, aliases and settings, and zsh-only specifications. Other stow modules, if they want to add shell functionality, can include their aliases and functions in one of the above directories to automatically be picked up by zsh.