nixos/modules/home/xdg.nix

42 lines
971 B
Nix

{
lib,
osConfig,
pkgs,
...
}:
with lib;
let
hyprlandCfg = osConfig.modules.hyprland;
pipewireCfg = osConfig.modules.pipewire;
plasmaCfg = osConfig.modules.plasma;
in
{
xdg = {
enable = true;
mime.enable = true;
mimeApps.enable = true;
portal = {
enable = true;
extraPortals = []
++ (if hyprlandCfg.enable
then [ pkgs.xdg-desktop-portal-hyprland ]
else [])
++ (if pipewireCfg.enable
then [
pkgs.xdg-desktop-portal-wlr
pkgs.xdg-desktop-portal-gtk
]
else [])
++ (if plasmaCfg.enable
then [ pkgs.kdePackages.xdg-desktop-portal-kde ]
else []);
configPackages = []
++ (if hyprlandCfg.enable
then [ pkgs.hyprland ]
else [])
++ (if plasmaCfg.enable
then [ pkgs.kdePackages.kde-gtk-config ]
else []);
};
};
}