40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, config, pkgs, ... }:
 | 
						|
 | 
						|
let
 | 
						|
  cfg = config.homeModules.config.mimeApps;
 | 
						|
 | 
						|
  browser = ["${config.home.sessionVariables.BROWSER}.desktop"];
 | 
						|
  zathura = ["org.pwmt.zethura.desktop.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" = zathura;
 | 
						|
    "x-scheme-handler/discord" = ["vesktop.desktop"];
 | 
						|
  };
 | 
						|
in
 | 
						|
{
 | 
						|
  config = lib.mkIf cfg.enable {
 | 
						|
    home.packages = [ pkgs.xdg-utils ];
 | 
						|
    xdg.mimeApps = {
 | 
						|
      enable = true;
 | 
						|
      associations.added = associations;
 | 
						|
      defaultApplications = associations;
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |