b4b4518 [ansible] Make ansible XDG basedir compliant
~evybongers pushed to ~evybongers/dotfiles git
These are my dotfiles, not much more to say.
No additional software is needed to make use of these dotfiles. However, most
environment variables are set through environment.d(5)
and when the user
session isn't started through systemd, 30-systemd-environment-d-generator
is
invoked to set these environment variables.
EDITOR
is set to vim
PAGER
is set to less
gbt
is used to render the zsh prompt if it's installedfonts
Lexend Deca is the main font and default sans-serif font (https://github.com/googlefonts/lexend/)
Liberation Serif is the default serif font (https://github.com/liberationfonts/liberation-fonts)
Source Code Pro is the default monospace font (https://github.com/adobe-fonts/source-code-pro)
In order for UTF-8 characters to render used by gbt
, Nerd fonts are
required (See https://github.com/jtyr/gbt#fonts-and-colors)
ohmyzsh plugins
A few plugins are activated by default:
Several other plugins are loaded if the relevant commands are found in $PATH:
Required software for graphical environments listed below
alias home="git --work-tree=${HOME} --git-dir=${HOME}/.files.git"
home init &&
home remote add origin https://git.sr.ht/~evybongers/dotfiles &&
home fetch &&
home reset --hard origin/main &&
home branch -m main &&
home submodule update --recursive --init &&
home branch --set-upstream-to=origin/main main &&
home remote set-url --push origin git@git.sr.ht:~evybongers/dotfiles
These dotfiles configured aliases and shell environment in such a way that most software these dotfiles apply to adhere to the [XDG Base Directory specification][xdg-base-dir]. For GnuPG agent specifically, this results in unusable systemd units because GnuPG uses [a predictable subdirectory][gnupg-socket-dir] for the sockets.
The socket directory name is based on a hash the GnuPG home directory, which is part of this dotfiles and therefore depends on the user's home directory. As a result, the only way to have function systemd sockets for GnuPG, is by manually specifying them:
GNUPG_SOCKET_DIR="$(gpgconf --list-dirs socketdir)"
systemctl --user enable dirmngr@${GNUPG_SOCKET_DIR}.socket
systemctl --user enable gpg-agent-browser@${GNUPG_SOCKET_DIR}.socket
systemctl --user enable gpg-agent-extra@${GNUPG_SOCKET_DIR}.socket
systemctl --user enable gpg-agent-ssh@${GNUPG_SOCKET_DIR}.socket
systemctl --user enable gpg-agent@${GNUPG_SOCKET_DIR}.socket
To make use of configured features, some additional software needs to be installed as well.