diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-03-19 11:20:08 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-03-19 11:20:08 -0500 |
| commit | 57115992c740e72fe4767f1b9b5e5d2921e884ef (patch) | |
| tree | 06c30c8109d5caca936d5d5809d42162e4497861 /modules/desktop/nixos/portals.nix | |
| parent | 2bc17b5cfd65a9537a9c56e74c9e7918156015e0 (diff) | |
clean up qt stuff and tofi stuff
Diffstat (limited to 'modules/desktop/nixos/portals.nix')
| -rw-r--r-- | modules/desktop/nixos/portals.nix | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/modules/desktop/nixos/portals.nix b/modules/desktop/nixos/portals.nix index ff65868..f69d6e0 100644 --- a/modules/desktop/nixos/portals.nix +++ b/modules/desktop/nixos/portals.nix @@ -4,47 +4,51 @@ config, ... }: let - useKdePortal = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; + wmCfg = config.collinux.desktop.wm; + useGtkPortal = wmCfg.gtkDesktopPortal.enable; + useKdePortal = wmCfg.kdeDesktopPortal.enable; + usePortal = useGtkPortal || useKdePortal; + defaultBackends = + if useKdePortal + then [ + "kde" + "gtk" + ] + else [ + "gtk" + "kde" + ]; + fileChooserBackend = if useKdePortal then ["kde"] else ["gtk"]; in - lib.mkIf useKdePortal { + lib.mkIf usePortal { xdg.portal = { enable = true; xdgOpenUsePortal = true; config = { common = { - default = [ - "kde" - "gtk" - ]; - "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + default = defaultBackends; + "org.freedesktop.impl.portal.FileChooser" = fileChooserBackend; }; sway = { - default = [ - "kde" - "gtk" - ]; - "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + default = defaultBackends; + "org.freedesktop.impl.portal.FileChooser" = fileChooserBackend; }; niri = { - default = [ - "kde" - "gtk" - ]; - "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + default = defaultBackends; + "org.freedesktop.impl.portal.FileChooser" = fileChooserBackend; }; }; - extraPortals = with pkgs; [ - kdePackages.xdg-desktop-portal-kde - xdg-desktop-portal-gtk - ]; + extraPortals = + lib.optionals useKdePortal [pkgs.kdePackages.xdg-desktop-portal-kde] + ++ lib.optionals useGtkPortal [pkgs.xdg-desktop-portal-gtk]; }; environment.sessionVariables = { - XDG_CURRENT_DESKTOP = "KDE"; + XDG_CURRENT_DESKTOP = if useKdePortal then "KDE" else "sway"; GTK_USE_PORTAL = "1"; NIXOS_OZONE_WL = "1"; MOZ_ENABLE_WAYLAND = "1"; |
