* fonts: Ensure mkfontscale is installed
When installing fonts, we have a silent igored error about missing
`mkfontscale` (and `mkfontdir`). Add a requirements check for it, and
'need' it when actually attempting to install fonts.
* fetch_repo: Never change a directory
It is bad practice to change the currents shell working directory. E.g.
never use 'cd' in a script.
For example, if `git pull` crashes, it would leave the user in the git
directory 'somewhere' on his filesystem, potentially causing confusion,
as the following `cd -` command is never executed.
There are of course always exceptions, such as when tooling does not
(easily) support out of tree invocation.
To solve this, run the command in a subshell, which won't touch the
current working directory as the exit of the subshell kept the previous
working directory.
A more difficult alternative would be to pass `--git-dir` and
`--work-tree` along to git, but this would make it far harder to read.
* fetch_repo: Do not duplicate code all over
There is no reason to put `need 'git'` all over the place, when the only
time we truly need it, is if we pull the repo. Make the code a little
less cluttered and a bit easier to read.
* install: Support XDG_CONFIG_HOME
Add support for the XDG specification for XDG_CONFIG_HOME. NeoVIM
already follows this, regular vim needs a bit of help there.
Closes: #3517
* SpaceVim.d: Support XDG paths
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>