dotfiles/zsh/profile.org

2.3 KiB

Variables

Here we set some important variables that are used by other parts of the configuration.

Guix

Set up my Guix profile so that I can use all the right tools.

  export GUIX_PROFILE="/home/chelys/.guix-profile"
  source "$GUIX_PROFILE/etc/profile"

Add the system's data directories to XDG_DATA_DIRS. Guix will set the XDG_DATA_DIRS environment variable, but this will prevent the rest of the system from using the default ones. This causes a crash in Firefox when I try to upload or download files (well, open a file dialog). According to the XDG Base Directory Specification:

If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.

  export XDG_DATA_DIRS="${XDG_DATA_DIRS}${XDG_DATA_DIRS:+:}/usr/local/share/:/usr/share/"

XDG

I keep my XDG files in the normal place, but specifying them in an environment variable makes things a little easier/clearer.

Set the config home.

  export XDG_CONFIG_HOME="${HOME}/.config"

Set the data home.

  export XDG_DATA_HOME="${HOME}/.local/share"

PATH

Add composer binaries to PATH.

  PATH="${XDG_CONFIG_HOME}/composer/vendor/bin:${PATH}"

Add $HOME/usr/bin to $PATH because that is where I keep all of my personal utilities and helper commands.

  PATH="${HOME}/usr/bin:${PATH}"

Export it so programs and subshells know about it.

  export PATH

Dbus

Make the session bus address fixed so other processes can know where to find it.

  DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"

Export it so programs and subshells know about it.

  export DBUS_SESSION_BUS_ADDRESS

.Net

I don't want to send any telemetry to Microsoft about my usage of the dotnet tool.

  export DOTNET_CLI_TELEMETRY_OPTOUT 1

Systemd

Import some variables into the systemd environment so that services started after this know about them.

  systemctl --user import-environment PATH