dotfiles/zsh/profile.org

2.9 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

SCSH

Add a directory in my home to the list where scsh will try to load libraries from when using -ll. This variable is treated as a list of s-exps, so each element needs to be quoted. And #f means to insert the default list of directories there. scsh doesn't understand what ~/ means, so we need to use escaped quotes instead of wrapping everything in single quotes.

  export SCSH_LIB_DIRS="#f \"${HOME}/usr/share/scsh/\""

Askpass

  export SUDO_ASKPASS="${HOME}/usr/bin/askpass-rofi"

Systemd

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

  systemctl --user import-environment PATH