diff --git a/flake.lock b/flake.lock index 4849c31..d259d93 100644 --- a/flake.lock +++ b/flake.lock @@ -200,11 +200,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771903837, - "narHash": "sha256-sdaqdnsQCv3iifzxwB22tUwN/fSHoN7j2myFW5EIkGk=", + "lastModified": 1772047000, + "narHash": "sha256-7DaQVv4R97cii/Qdfy4tmDZMB2xxtyIvNGSwXBBhSmo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e764fc9a405871f1f6ca3d1394fb422e0a0c3951", + "rev": "1267bb4920d0fc06ea916734c11b0bf004bbe17e", "type": "github" }, "original": { diff --git a/frame12/modules/niri/niri_conf.nix b/frame12/modules/niri/niri_conf.nix index 8362eb2..c673d46 100755 --- a/frame12/modules/niri/niri_conf.nix +++ b/frame12/modules/niri/niri_conf.nix @@ -37,7 +37,16 @@ in nixpkgs.config.allowUnfree = config.niriwm.useNonFree; - # Portal setup is handled by programs.niri.enable (niri-portals.conf) + # Portal config: programs.niri.enable adds xdg-desktop-portal-gnome + # and niri-portals.conf via configPackages, but the portal daemon + # doesn't reliably pick up configPackages files. Setting config + # explicitly ensures ScreenCast routes to the GNOME portal. + xdg.portal.config.niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.Access" = [ "gtk" ]; + "org.freedesktop.impl.portal.Notification" = [ "gtk" ]; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + }; xdg.sounds.enable = true; ### @@ -76,8 +85,7 @@ in environment.sessionVariables = { # use wayland MOZ_ENABLE_WAYLAND = "1"; - T_QPA_PLATFORM = "wayland"; - # GDK_BACKEND must NOT be set globally - it breaks the screencast portal + # QT_QPA_PLATFORM and GDK_BACKEND must NOT be set - they break the screencast portal WLR_NO_HARDWARE_CURSORS = "1"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; NIXOS_OZONE_WL = "1"; diff --git a/frame12/modules/niri/niri_home.nix b/frame12/modules/niri/niri_home.nix index df9b086..d6afb5e 100644 --- a/frame12/modules/niri/niri_home.nix +++ b/frame12/modules/niri/niri_home.nix @@ -17,11 +17,9 @@ # because we manage the niri config through dotfiles. # The system-level module enables niri via programs.niri.enable - # Import systemd variables for niri - systemd.user.sessionVariables = { - WAYLAND_DISPLAY = "wayland-1"; - XDG_CURRENT_DESKTOP = "niri"; - }; + # Niri sets WAYLAND_DISPLAY and XDG_CURRENT_DESKTOP automatically. + # Manually overriding session vars conflicts with xdg-desktop-portal-gnome + # screencasting (breaks Zoom screen sharing). # Cursor is managed by Stylix (stylix.cursor in frame12/default.nix) diff --git a/jaci/modules/niri/niri_conf.nix b/jaci/modules/niri/niri_conf.nix index ef14fb1..e704fbe 100644 --- a/jaci/modules/niri/niri_conf.nix +++ b/jaci/modules/niri/niri_conf.nix @@ -40,7 +40,16 @@ in nixpkgs.config.allowUnfree = config.niriwm.useNonFree; - # Portal setup is handled by programs.niri.enable (niri-portals.conf) + # Portal config: programs.niri.enable adds xdg-desktop-portal-gnome + # and niri-portals.conf via configPackages, but the portal daemon + # doesn't reliably pick up configPackages files. Setting config + # explicitly ensures ScreenCast routes to the GNOME portal. + xdg.portal.config.niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.Access" = [ "gtk" ]; + "org.freedesktop.impl.portal.Notification" = [ "gtk" ]; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + }; xdg.sounds.enable = true; ### @@ -75,8 +84,7 @@ in environment.sessionVariables = { # use wayland MOZ_ENABLE_WAYLAND = "1"; - T_QPA_PLATFORM = "wayland"; - # GDK_BACKEND must NOT be set globally - it breaks the screencast portal + # QT_QPA_PLATFORM and GDK_BACKEND must NOT be set - they break the screencast portal WLR_NO_HARDWARE_CURSORS = "1"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; NIXOS_OZONE_WL = "1"; diff --git a/jaci/modules/niri/niri_home.nix b/jaci/modules/niri/niri_home.nix index e0a01d3..7b4ddfe 100644 --- a/jaci/modules/niri/niri_home.nix +++ b/jaci/modules/niri/niri_home.nix @@ -17,11 +17,9 @@ # because we manage the niri config through dotfiles. # The system-level module enables niri via programs.niri.enable - # Import systemd variables for niri - systemd.user.sessionVariables = { - WAYLAND_DISPLAY = "wayland-1"; - XDG_CURRENT_DESKTOP = "niri"; - }; + # Niri sets WAYLAND_DISPLAY and XDG_CURRENT_DESKTOP automatically. + # Manually overriding session vars conflicts with xdg-desktop-portal-gnome + # screencasting (breaks Zoom screen sharing). # Cursor is managed by Stylix (stylix.cursor in jaci/default.nix) diff --git a/nate-work/modules/niri/niri_conf.nix b/nate-work/modules/niri/niri_conf.nix index f9f38d6..07d23f7 100644 --- a/nate-work/modules/niri/niri_conf.nix +++ b/nate-work/modules/niri/niri_conf.nix @@ -28,7 +28,16 @@ nixpkgs.config.allowUnfree = config.niriwm.useNonFree; - # Portal setup is handled by programs.niri.enable (niri-portals.conf) + # Portal config: programs.niri.enable adds xdg-desktop-portal-gnome + # and niri-portals.conf via configPackages, but the portal daemon + # doesn't reliably pick up configPackages files. Setting config + # explicitly ensures ScreenCast routes to the GNOME portal. + xdg.portal.config.niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.Access" = [ "gtk" ]; + "org.freedesktop.impl.portal.Notification" = [ "gtk" ]; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + }; xdg.sounds.enable = true; ### @@ -71,8 +80,7 @@ # use wayland MOZ_ENABLE_WAYLAND = "1"; FIREFOX_USE_SYSTEM_THEME = "true"; - T_QPA_PLATFORM = "wayland"; - # GDK_BACKEND must NOT be set globally - it breaks the screencast portal + # QT_QPA_PLATFORM and GDK_BACKEND must NOT be set - they break the screencast portal WLR_NO_HARDWARE_CURSORS = "1"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; NIXOS_OZONE_WL = "1"; diff --git a/nate-work/modules/niri/niri_home.nix b/nate-work/modules/niri/niri_home.nix index 130698d..247c6c4 100644 --- a/nate-work/modules/niri/niri_home.nix +++ b/nate-work/modules/niri/niri_home.nix @@ -17,11 +17,9 @@ # because we manage the niri config through dotfiles. # The system-level module enables niri via programs.niri.enable - # Import systemd variables for niri - systemd.user.sessionVariables = { - WAYLAND_DISPLAY = "wayland-1"; - XDG_CURRENT_DESKTOP = "niri"; - }; + # Niri sets WAYLAND_DISPLAY and XDG_CURRENT_DESKTOP automatically. + # Manually overriding session vars conflicts with xdg-desktop-portal-gnome + # screencasting (breaks Zoom screen sharing). # Cursor is managed by Stylix (stylix.cursor in nate-work/default.nix) diff --git a/nate/modules/niri/niri_conf.nix b/nate/modules/niri/niri_conf.nix index e5445c2..3b1b069 100644 --- a/nate/modules/niri/niri_conf.nix +++ b/nate/modules/niri/niri_conf.nix @@ -41,7 +41,16 @@ in nixpkgs.config.allowUnfree = config.niriwm.useNonFree; - # Portal setup is handled by programs.niri.enable (niri-portals.conf) + # Portal config: programs.niri.enable adds xdg-desktop-portal-gnome + # and niri-portals.conf via configPackages, but the portal daemon + # doesn't reliably pick up configPackages files. Setting config + # explicitly ensures ScreenCast routes to the GNOME portal. + xdg.portal.config.niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.Access" = [ "gtk" ]; + "org.freedesktop.impl.portal.Notification" = [ "gtk" ]; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; + }; xdg.sounds.enable = true; ### @@ -82,8 +91,7 @@ in # use wayland MOZ_ENABLE_WAYLAND = "1"; FIREFOX_USE_SYSTEM_THEME = "true"; - T_QPA_PLATFORM = "wayland"; - # GDK_BACKEND must NOT be set globally - it breaks the screencast portal + # QT_QPA_PLATFORM and GDK_BACKEND must NOT be set - they break the screencast portal WLR_NO_HARDWARE_CURSORS = "1"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; NIXOS_OZONE_WL = "1"; diff --git a/nate/modules/niri/niri_home.nix b/nate/modules/niri/niri_home.nix index 1bfaa2d..eb8f165 100644 --- a/nate/modules/niri/niri_home.nix +++ b/nate/modules/niri/niri_home.nix @@ -17,11 +17,9 @@ # because we manage the niri config through dotfiles. # The system-level module enables niri via programs.niri.enable - # Import systemd variables for niri - systemd.user.sessionVariables = { - WAYLAND_DISPLAY = "wayland-1"; - XDG_CURRENT_DESKTOP = "niri"; - }; + # Niri sets WAYLAND_DISPLAY and XDG_CURRENT_DESKTOP automatically. + # Manually overriding session vars conflicts with xdg-desktop-portal-gnome + # screencasting (breaks Zoom screen sharing). # Cursor is managed by Stylix (stylix.cursor in nate/default.nix) diff --git a/shared/modules/home-manager/programs.nix b/shared/modules/home-manager/programs.nix index 2781e22..8ace223 100644 --- a/shared/modules/home-manager/programs.nix +++ b/shared/modules/home-manager/programs.nix @@ -31,7 +31,6 @@ in wofi.enable = lib.mkEnableOption "enable wofi (application launcher)"; keepassxc.enable = lib.mkEnableOption "enable keepassxc (password manager)"; opencode.enable = lib.mkEnableOption "enable opencode (AI coding assistant)"; - adb.enable = lib.mkEnableOption "enable adb"; # Apps (pass-through to underlying modules) firefox.enable = lib.mkEnableOption "enable firefox (web browser)"; @@ -79,7 +78,6 @@ in helix.enable = lib.mkDefault true; stylePreview.enable = lib.mkDefault true; json2nix.enable = lib.mkDefault true; - adb.enable = lib.mkDefault true; }; }) @@ -107,10 +105,6 @@ in programs.wofi.enable = true; }) - (lib.mkIf cfg.adb.enable { - programs.adb.enable = true; - }) - (lib.mkIf cfg.opencode.enable { programs.opencode = { enable = true;