The function `die` was redundantly implemented in various files.
Move the function into .local/bin/helpers.sh and source that where
previously implemented.
Also prepend the program's name to the message and always terminate the
message with a newline. The newline was previously needed for a small
but unnecessary hack that prevented the need of the `[ -z "$1" ]` test.
The install script is broken since 4716b1cab3 ("meta:install: Link
hidden files in .config as well"), as dotbot will complain that there is
no hidden file to glob in `.config`.
Add `ignore-missing` so that the installation runs through while still
supporting hidden files in the future.
Move all submodules that were under .config/ into .local/share/ (alias
XDG_DATA_HOME). I got convinced that they feel out of place in .config/.
Instead of updating the paths from which they are sourced (e.g.
`TMUX_PLUGIN_MANAGER_PATH` or `packpath`), keep a symlink in the old
location that points to the new one. This has the benefit that
everything related to one program remains mostly accessible from the
same place instead of spreading everything out.
I am still unsure if I really like the new location as I affiliate user
**data** more with something that has to be backed up as it is
non-recreatable. And moving them out of .config/ had the reasoning that
they are not my config files but rather data from the internet that
could be retrieved when deleting. But using XDG_CACHE_HOME seems
unreasonable as well.
We'll see.
Move the fzf-repo from ./local/bin/ to .local/share/.
Update all relative symlinks' (e.g. fzf) targets.
Wrap lines at 80 columns where appropriate and I had the energy to think
about how/where to wrap.
There are still lines longer than that, which I plan to wrap in the
future. But that is enough for now.
Before, the commit-msg hook would not catch too long lines when
squashing commits, as the provided message starts immediately with a
commented line.
Instead of simply using all lines until the first comment, use all lines
until git's cut-line and remove all commented lines in between.
Do not hard-code git's commentary character but rather use
`core.commentChar`. `auto` is depending of the context interpreted as
'any character' or `#`.
Link all files on installation, even though currently there is only the
one config file. This way potential new files in `.ssh/` do not have to
be tracked manually.
In the rare case that no remote url containing `druckdev/dotfiles`
exists, this should still (try to) work.
This could be the case if I rename my username or the repo or in the
even rarer case that somebody forks this... Quite ambitious.