nixos/modules/home/xdg.nix

46 lines
1.0 KiB
Nix

{
osConfig,
pkgs,
...
}:
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
# TODO: use the correct packages or config
then
[ pkgs.kdePackages.kde-gtk-config ]
else
[ ]
);
};
};
}