{ lib, config, pkgs, inputs, ... }: let ################################# # Default username fallback ################################# username = config.defaultUser or "henrov"; ################################# # Determine XDG portal package ################################# xdgPortalHyprlandPkg = pkgs.xdg-desktop-portal-hyprland or inputs.xdgPortalHyprland.packages.${pkgs.system}.default; in { ################################# # System-wide packages ################################# environment.systemPackages = [ xdgPortalHyprlandPkg ]; ################################# # Home Manager user config ################################# _module.args.hmUsers = { ${username} = { home.packages = [ xdgPortalHyprlandPkg ]; # Enable XDG portal integration for Hyprland xdg.portal = { enable = true; extraPortals = [ xdgPortalHyprlandPkg ]; config.hyprland = { "org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; }; }; }; }; }