This stuff is usually kept in ~/lib/dotfiles/ and symlinked to the usual locations by the install script.
Shell stuff gets sourced in this order:
.profile– sh compatible login script, kept minimal.environ– sh compatible environment variables & umask.environ-$HOSTNAME
.bashrcif running in bash.environif it wasn't sourced yet.bashrc-$HOSTNAME
.profile-$HOSTNAME
.xprofile– X11 login script afterprofile
The .environ file is intended to be safe to source from anywhere, including .bashrc – that way it also applies to ssh $host $command (which only uses .bashrc and not .profile).
Does the same as a display manager's Xsession script would do: sets $DESKTOP_SESSION; sources .profile, .xprofile; loads .Xresources and .Xkbmap. (Also sets a default background.)
Loads .Xresources and .Xkbmap from alternate paths.
Sets up session environment – shared between all DMs and xinit. Currently – kernel keyring, synaptics.
If $DESKTOP_SESSION is empty (a bare WM is being started), starts necessary daemons: compositor, notification daemon, polkit agent, screensaver, systemd-logind lock event handler, xbindkeys.
Also starts misc. daemons that are X11-dependent and per-session.
- the underscores are there so that I could have just a single
- dotfiles/vim/_*rsync exclude rule instead of 4–5 separate ones