nix-conf/user/xdg.nix

53 lines
1.2 KiB
Nix

{
config,
lib,
pkgs,
...
}:
lib.mkIf config.u.has.graphical {
xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = let
image = "nsxiv-rifle.desktop";
browser = "librewolf.desktop";
text = "nvim.desktop";
media = "mpv.desktop";
in {
"image/jpeg" = image;
"image/png" = image;
"image/gif" = image;
"image/webp" = image;
"image/avif" = image;
"audio/mpeg" = media;
"audio/ogg" = media;
"audio/vorbis" = media;
"audio/x-vorbis+ogg" = media;
"audio/flac" = media;
"video/mp4" = media;
"video/mpeg" = media;
"video/x-matroska" = media;
"text/plain" = text;
"application/xml" = text;
"text/html" = text;
"inode/directory" = "org.kde.dolphin.desktop";
};
xdg.portal = {
enable = true;
configPackages = [pkgs.kdePackages.xdg-desktop-portal-kde];
extraPortals = [pkgs.kdePackages.xdg-desktop-portal-kde];
config.common.default = "kde";
};
home.file = let
ln = config.u.lib.lnh;
in {
".local/home/.cache".source = ln ".cache";
".local/home/.config".source = ln ".config";
".local/home/.local".source = ln ".local";
".local/home/Desktop".source = ln "Desktop";
".local/home/Downloads".source = ln "Downloads";
};
}