From 750ff6b97462e3dcad78b5fd599520e5c0ebaf3c Mon Sep 17 00:00:00 2001 From: elwrcl Date: Wed, 15 Apr 2026 20:14:03 +0300 Subject: [PATCH] Add steam.desktop to xdg scheme handlers --- nixos/desktop/default.nix | 1 + nixos/desktop/window-managers/hyprland.nix | 43 +++++++++++++++------- nixos/gaming/steam/default.nix | 2 +- 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix index 8f026f2..64cdd7a 100644 --- a/nixos/desktop/default.nix +++ b/nixos/desktop/default.nix @@ -16,6 +16,7 @@ "x-scheme-handler/https" = "zen-beta.desktop"; "x-scheme-handler/about" = "zen-beta.desktop"; "x-scheme-handler/unknown" = "zen-beta.desktop"; + "x-scheme-handler/steam" = "steam.desktop"; # media "image/png" = "org.gnome.Loupe.desktop"; diff --git a/nixos/desktop/window-managers/hyprland.nix b/nixos/desktop/window-managers/hyprland.nix index 33a5e3c..086dc06 100644 --- a/nixos/desktop/window-managers/hyprland.nix +++ b/nixos/desktop/window-managers/hyprland.nix @@ -1,40 +1,57 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: { programs.hyprland = { enable = true; xwayland.enable = true; }; - xdg.portal = { enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ]; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-hyprland + pkgs.xdg-desktop-portal-gtk + ]; config = { common = { - default = [ "hyprland" "gtk" ]; + default = [ "gtk" ]; "org.freedesktop.portal.FileChooser" = [ "gtk" ]; + "org.freedesktop.portal.OpenURI" = [ "gtk" ]; + "org.freedesktop.portal.Email" = [ "gtk" ]; + "org.freedesktop.portal.Inhibit" = [ "gtk" ]; + "org.freedesktop.portal.Settings" = [ "gtk" ]; + "org.freedesktop.portal.Wallpaper" = [ "gtk" ]; + "org.freedesktop.portal.Notification" = [ "gtk" ]; + "org.freedesktop.portal.Account" = [ "gtk" ]; "org.freedesktop.portal.Screenshot" = [ "hyprland" ]; "org.freedesktop.portal.ScreenCast" = [ "hyprland" ]; }; }; }; - - environment.etc."xdg/xdg-desktop-portal/portals/gtk.portal".text = '' - [portal] - DBusName=org.freedesktop.impl.portal.desktop.gtk - Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.DynamicLauncher;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Settings;org.freedesktop.impl.portal.Wallpaper; - UseIn=gnome;Hyprland - ''; - + services.dbus.enable = true; + services.pipewire.enable = true; + services.pipewire.pulse.enable = true; + services.pipewire.wireplumber.enable = true; security.polkit.enable = true; services.gnome.gnome-keyring.enable = true; + services.gnome.gnome-settings-daemon.enable = lib.mkDefault false; + environment.systemPackages = with pkgs; [ + gsettings-desktop-schemas + glib + dconf + dconf-editor + xdg-utils + xdg-user-dirs + ]; environment.sessionVariables = { XDG_DATA_DIRS = [ "/run/current-system/sw/share" "/home/elars/.nix-profile/share" + "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" + "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" ]; GTK_USE_PORTAL = "1"; - GSETTINGS_SCHEMA_DIR = "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas"; + GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"; }; } diff --git a/nixos/gaming/steam/default.nix b/nixos/gaming/steam/default.nix index d44115f..578f281 100644 --- a/nixos/gaming/steam/default.nix +++ b/nixos/gaming/steam/default.nix @@ -11,6 +11,7 @@ STEAM_USE_PORTAL = "1"; GTK_USE_PORTAL = "1"; PRESSURE_VESSEL_VERBOSE = "0"; + STEAM_RUNTIME_PREFER_HOST_LIBRARIES = "0"; }; extraPkgs = p: with p; [ @@ -35,7 +36,6 @@ stdenv.cc.cc.lib gamemode zenity - # pressure-vessel için gerekli glib dbus at-spi2-atk