NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.28k stars 13.53k forks source link

Wayfire package is missing dependencies #322248

Closed TRPB closed 1 month ago

TRPB commented 2 months ago

Describe the bug

A clear and concise description of what the bug is.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Enable wayfire with programs.wayfire.enable = true
  2. Launch wayfire from the terminal (it doesn't need a display manager, and I couldn't get one to work but that's irrelevant here)

Expected behavior

Wayfire launches

Additional context

It gives the following error

II 24-06-24 20:25:09.655 - [src/main.cpp:348] Starting wayfire version 0.8.1
II 24-06-24 20:25:09.655 - [libseat] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
II 24-06-24 20:25:09.655 - [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
EE 24-06-24 20:25:09.657 - [libseat] [libseat/backend/logind.c:317] Could not activate session: Permission denied
II 24-06-24 20:25:09.657 - [libseat] [libseat/libseat.c:76] Backend 'logind' failed to open seat, skipping
II 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:39] Created VT-bound seat seat0
II 24-06-24 20:25:09.658 - [libseat] [seatd/server.c:145] New client connected (pid: 2770, uid: 1000, gid: 100)
II 24-06-24 20:25:09.658 - [libseat] [libseat/backend/seatd.c:633] Started embedded seatd
EE 24-06-24 20:25:09.658 - [libseat] [common/terminal.c:162] Could not open target tty: Permission denied
EE 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:61] Could not open tty0 to update VT: Permission denied
II 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:170] Added client 0 to seat0
EE 24-06-24 20:25:09.658 - [libseat] [common/terminal.c:162] Could not open target tty: Permission denied
EE 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:72] Could not open terminal for VT 0: Permission denied
EE 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:461] Could not open VT for client
EE 24-06-24 20:25:09.658 - [libseat] [common/terminal.c:162] Could not open target tty: Permission denied
EE 24-06-24 20:25:09.658 - [libseat] [seatd/seat.c:86] Could not open terminal to clean up VT 0: Permission denied
II 24-06-24 20:25:09.658 - [libseat] [libseat/libseat.c:73] Seat opened with backend 'builtin'
II 24-06-24 20:25:09.658 - [backend/session/session.c:109] Successfully loaded libseat session
II 24-06-24 20:25:09.658 - [backend/backend.c:84] Waiting for a session to become active
II 24-06-24 20:25:11.077 - [src/main.cpp:127] Got SIGINT, shutting down
EE 24-06-24 20:25:11.077 - [libseat] [common/terminal.c:162] Could not open target tty: Permission denied
EE 24-06-24 20:25:11.078 - [backend/backend.c:94] Failed to wait for session active: wl_event_loop_dispatch failed: Interrupted system call
EE 24-06-24 20:25:11.078 - [libseat] [seatd/seat.c:86] Could not open terminal to clean up VT 0: Permission denied
EE 24-06-24 20:25:11.078 - [backend/backend.c:359] Failed to start a DRM session
II 24-06-24 20:25:11.078 - [libseat] [seatd/seat.c:524] Closed client 0 on seat0
EE 24-06-24 20:25:11.078 - [src/main.cpp:140] Fatal error: Segmentation fault
II 24-06-24 20:25:11.078 - [libseat] [seatd/seat.c:192] Removed client 0 from seat0
II 24-06-24 20:25:11.078 - [libseat] [libseat/backend/seatd.c:645] Stopped embedded seatd

However, if I also enable sway:

programs.wayfire.enable = true;
programs.sway.enable = true;

Then wayfire launches as intended. Clearly sway installs some dependencies (e.g. wlroots or something) that are required by wayfire that the package does not. It would be cleaner to allow only installing wayfire and not have to also install sway.

Notify maintainers

@alyssais @wucke13 @wineee

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.34, NixOS, 24.05 (Uakari), 24.05.1695.dd457de7e08c`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

71rd commented 2 months ago

This seems not to be a bug in the wayfire package, but with the nixos wayfire module.

It seems @wineee is the relevant maintainer for programs.wayfire. wayfire does not import wayland-session.nix, that sets up required services like graphics and xdg, but sway does. See #322312 for a quick fix

nixos-discourse commented 2 months ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/diary-of-a-new-nixos-user-thoughts-impressions-obstacles/47637/5