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