flake/modules/home/xdg.nix
2024-09-30 14:02:27 +00:00

49 lines
1.7 KiB
Nix

{ pkgs, lib, config, ... }: {
options.mods.xdg.enable = lib.mkEnableOption "enables xdg settings";
config = lib.mkIf config.mods.xdg.enable {
nix.settings.use-xdg-base-directories = true;
xdg = let
browser = [ "librewolf.desktop" ];
associations = {
"text/html" = browser;
"x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser;
"x-scheme-handler/ftp" = browser;
"x-scheme-handler/about" = browser;
"x-scheme-handler/unknown" = browser;
"application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser;
"application/xhtml+xml" = browser;
"application/x-extension-xhtml" = browser;
"application/x-extension-xht" = browser;
"audio/*" = [ "mpv.desktop" ];
"video/*" = [ "mpv.dekstop" ];
"image/*" = [ "imv.desktop" ];
"application/json" = browser;
# "application/pdf" = ["org.pwmt.zathura.desktop.desktop"];
"x-scheme-handler/tg" = [ "kotatogram-desktop.desktop" ];
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
};
in {
enable = true;
userDirs = {
enable = true;
documents = "$HOME/documents";
download = "$HOME/downloads";
videos = "$HOME/misc/videos";
music = "$HOME/misc/music";
pictures = "$HOME/misc/pictures";
desktop = "$HOME/misc/desktop";
publicShare = "$HOME/misc/public";
templates = "$HOME/misc/templates";
};
mimeApps.enable = true;
mimeApps.associations.added = associations;
mimeApps.defaultApplications = associations;
};
};
}