1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-08 06:00:36 +02:00
Commit Graph

3 Commits

Author SHA1 Message Date
Estevan Castilho
c3a13b2593 home: services: niri: Use existing session dbus.
Spawning niri with `dbus-run-session` as is done here causes the compositor
and children applications to run within it's own D-Bus session bus rather than
relying on the already existing one.  This causes Guix home services that rely
on a session bus to misbehave within a niri session, as the bus the services
are talking to is not the same as the one niri & applications see.  Guix home
already provides a `home-dbus-service-type` for ensuring a D-Bus session bus
exists, so it makes sense to just rely on that.

* gnu/home/services/niri.scm (home-niri-service-type): Add
HOME-DBUS-SERVICE-TYPE extension.
(home-niri-shepherd-service)[requirement]: Add DBUS requirement.
[start]: Drop the 'dbus-run-session' call in favour of extending
HOME-DBUS-SERVICE-TYPE.

Change-Id: I1d402064128fe94aaaa2868e174752ef640dd31e
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2026-04-03 18:03:13 +03:00
Oleg Pykhalov
8ab49a4f58 home: services: niri: Add XWayland satellite support.
The niri compositor requires xwayland-satellite for proper X11 application
support under Wayland.  This package provides the necessary bridge for running
X11 applications in a Wayland-native environment.

* gnu/home/services/niri.scm (home-niri-service-type): Add xwayland-satellite
to the package list, ensuring X11 applications work correctly in niri
sessions.

Change-Id: I8b16fe2bed7563425408adfa9083ce322575dac0
2025-11-10 12:34:45 +03:00
Oleg Pykhalov
18ea7bc470 home: services: Add niri.
This introduces a new home service for Niri, a scrollable tiling Wayland
compositor that combines traditional tiling window management with smooth
scrolling between workspaces.

The service provides:
- home-niri-service-type for installing and configuring Niri
- Shepherd service that starts Niri in a DBus session
- Proper Wayland environment variables (XDG_CURRENT_DESKTOP,
XDG_SESSION_DESKTOP, etc.)
- Integration with xdg-desktop-portal and related components

The service starts Niri with appropriate environment variables for
Wayland compatibility and includes necessary dependencies like
xdg-desktop-portal-gnome and xdg-desktop-portal-gtk for proper
desktop integration.

* gnu/home/services/niri.scm: New file containing the service implementation.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module.
* doc/guix.texi (Niri window manager): Add comprehensive documentation.

Change-Id: I9ef081226b4aaa31706d1fbc0d8b7aa1a202cd6e
2025-10-10 12:11:12 +03:00