Talk:Sway

From NixOS Wiki

Latest comment: 2 May by RafTeog in topic Change of Wiki

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.)

Change of Wiki

Scenario:

On real hardware, I installed nixos with calamares but no desktop environment selected. Then, I proceeded with flakes and home manager proper configuration. Then I tried to follow the sway guide for home manager. It was then that I ran into this issue <https://discourse.nixos.org/t/wlr-errors-when-trying-to-start-sway/28698>. The solution of that thread worked for me.

So, I propose that <hardware.opengl.enable = true> to be added in the sway with home manager session,


To set up Sway using Home Manager, first you must enable Polkit in your nix configuration:

security.polkit.enable = true;

Additionally, you must enable opengl in your nix configuration //<<<<NEW LINE 1>>>>

hardware.opengl.enable = true; //<<<<NEW LINE 2>>>>


A general suggestion of 2 new lines can be seen above.

I just registered and I am new to nixos. I don't know the rules about editing the page, so I decided to post it as discussion first.


Thank you! RafTeog (talk) 19:31, 2 May 2024 (UTC)Reply[reply]