Nothing special, simply my dotfiles for everyday use.
The main goal is to keep the home directory as clean as possible by forcing
everything to be stored in ~/.local
. I would not recommend to use it as
a plug'n play setup!
The structure and placement of all files is heavily inspired by the awesome Ayekat!
The XDG base directories are customized as follows:
Variable | Location |
---|---|
XDG_CACHE_HOME |
$HOME/.local/var/cache |
XDG_CONFIG_HOME |
$HOME/.local/etc |
XDG_DATA_HOME |
$HOME/.local/share |
XDG_STATE_HOME |
$HOME/.local/var/lib |
Also PATH
is extended by the below paths:
Path | Purpose |
---|---|
$HOME/.local/bin |
Custom scripts and wrappers |
Most wrapper scripts are required for those applications which do not support custom XDG paths (e.g. Ansible or Firefox).
Due to the deprecation of
pam_env it
heavily depends on the chosen login flow (i.e. headless, Wayland-based, etc.)
how to ideally inject the necessary environment variables. There is often a
chicken and egg problem related to XDG_CONFIG_HOME
as its customization must
be injected as early as possible, otherwise the systemd user variables are not
loaded either.
In this case the problem is solved (read "glued and hacked together") via a
separate wayfire-run
wrapper script which loads all environment variables and
then finally starts Wayfire. The login flow looks like this:
Boot
--> greetd
--> greetd-gtkgreet
--> wayfire-run
--> wayfire
The wayfire-run script is deployed and managed via Ansible.
Whenever possible only GTK-based (3.0+) applications are used and the overall application bloat should be kept at a minimum. Also, when configurable, the awesome Nord theme is applied.
Below is an incomplete list of the covered main components:
- User
- Desktop
-
Clone this repository to the destination of your choice (e.g.
~/git/dotfiles
) -
Ensure you have injected at least the above mentioned XDG variables into the environment
-
Install all dotfiles, make sure the
~/.local
directory is removed first:cd ~ ln -s /path/to/this/repo .local
-
Copy your desktop wallpaper to
~/.local/share/backgrounds/wallpaper.png
, which will be used byswaybg
-
Copy your lock screen wallpaper to
~/.local/share/backgrounds/wallpaper_lockscreen.png
, which will be used byswaylock