Talk: Sway
Calls to dbus-update-activation-environment
Note that the default sway configuration template /etc/sway/config
includes /etc/sway/config.d/*
,
and specifically includes /etc/sway/config.d/nixos.conf
, which has the following contents:
# Import the most important environment variables into the D-Bus and systemd # user environments (e.g. required for screen sharing and Pinentry prompts): exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
Likewise, the example configuration in the wiki creates a script /bin/dbus-sway-environment
that attempts
to call dbus-update-activation-environment
. (In spite of the partial redundancy with
/etc/sway/config.d/nixos.conf
, the dbus-sway-environment script still seems to be necessary to get the
required user dbus services successfully started.) However, neither of these attempts to execute
dbus-update-activation-environment
works unless dbus-update-activation-environment is in the
path (e.g., unless there is a symlink /run/current-system/sw/bin/dbus-update-activation-environment
pointing at the executable somewhere under /nix/store/
). To get dbus-update-activation-environment
and the other binaries from the dbus package into the general path, one should add pkgs.dbus
to the environment.systemPackages list in configuration.nix. (If using home manager, this
might be accomplished by other means.)