From 328f11d0edc14277875e7404f69f4b3f1e0ac9fe Mon Sep 17 00:00:00 2001 From: moons Date: Wed, 5 Aug 2026 01:40:35 +0900 Subject: [PATCH] screencast --- modules/applications/labwc/nixos.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/modules/applications/labwc/nixos.nix b/modules/applications/labwc/nixos.nix index 580ecb0..7670753 100644 --- a/modules/applications/labwc/nixos.nix +++ b/modules/applications/labwc/nixos.nix @@ -1,10 +1,36 @@ { + inputs, lib, + pkgs, ... }: +let + unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}; + labwc = unstable.labwc.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + ./patches/remove-ext-workspace-output-on-destroy.patch + ]; + }); +in { programs.labwc = { enable = true; + package = labwc; + }; + + xdg.portal.config.labwc.default = [ + "wlr" + "gtk" + ]; + + # xdg-desktop-portal-wlr implements screencasting for wlroots compositors. + # Keep it with Labwc: Niri uses xdg-desktop-portal-gnome instead. + xdg.portal.wlr = { + enable = true; + settings.screencast = { + chooser_type = "dmenu"; + chooser_cmd = "${pkgs.fuzzel}/bin/fuzzel --dmenu"; + }; }; # NixOS decides whether a graphical session manages graphical-session.target