diff --git a/hmModules/xdg/default.nix b/hmModules/xdg/default.nix index bdcfdeb..a1c5fe4 100644 --- a/hmModules/xdg/default.nix +++ b/hmModules/xdg/default.nix @@ -28,6 +28,29 @@ ]; }; }; + portal = { + enable = true; + configPackages = with pkgs; [ + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland + xdg-desktop-portal-gnome + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + # libsForQt5.xdg-desktop-portal-kde + gnome-keyring + ]; + extraPortals = with pkgs; [ + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland + xdg-desktop-portal-gnome + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + gnome-keyring + ]; + }; + }; home.packages = [ pkgs.xdg-utils ]; } diff --git a/modules/xdg/default.nix b/modules/xdg/default.nix index 04c145e..7dd59d5 100644 --- a/modules/xdg/default.nix +++ b/modules/xdg/default.nix @@ -1,29 +1,51 @@ { pkgs, ... }: { xdg = { + autostart.enable = true; + menus.enable = true; + mime.enable = true; + icons.enable = true; portal = { enable = true; configPackages = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland xdg-desktop-portal-gnome - xdg-desktop-portal - kdePackages.xdg-desktop-portal-kde - libsForQt5.xdg-desktop-portal-kde + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde + # libsForQt5.xdg-desktop-portal-kde gnome-keyring ]; extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # xdg-desktop-portal-hyprland xdg-desktop-portal-gnome - xdg-desktop-portal - kdePackages.xdg-desktop-portal-kde + # xdg-desktop-portal + # kdePackages.xdg-desktop-portal-kde gnome-keyring ]; xdgOpenUsePortal = true; wlr.enable = true; }; + + }; + security.rtkit.enable = true; + + security.polkit.enable = true; + services.gnome.gnome-keyring.enable = true; + systemd.user.services.niri-flake-polkit = { + description = "PolicyKit Authentication Agent provided by niri-flake"; + wantedBy = [ "niri.service" ]; + after = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; }; }