{ lib, pkgs, config, ... }: let browser = "firefox"; noOffloadBrowser = "${browser} -P noOffload -no-remote"; iconPrefix = ".local/share/icons/hicolor/scalable/apps"; newWindow = "${browser} --new-window"; mkIconPkg = pkgs.callPackage ../../utils/make-icon.nix { }; googleMeetIcon = mkIconPkg { name = "googleMeet"; url = "https://fonts.gstatic.com/s/i/productlogos/meet_2020q4/v1/web-512dp/logo_meet_2020q4_color_1x_web_512dp.png"; sha256 = "sha256-LL33KhQTv4VVdPRBm7nzsHtPoQ2ArHwjwVxq2p8VdM4="; }; in { # Update icon cache home.activation = { updateIconCache = lib.hm.dag.entryAfter [ "linkGeneration" ] '' $DRY_RUN_CMD ${pkgs.gtk3}/bin/gtk-update-icon-cache -t -f ~/.local/share/icons/hicolor ''; }; home.file = { "${iconPrefix}/notion.svg".text = '' ''; }; home.packages = [ googleMeetIcon ]; xdg.desktopEntries = { notion = { name = "Notion"; genericName = "Note"; exec = "${newWindow} https://notion.so"; comment = "Note Take Application"; icon = "${config.home.homeDirectory}/${iconPrefix}/notion.svg"; terminal = false; categories = [ "Office" "Utility" ]; }; googleMeet = { name = "Google Meet"; genericName = "Community"; exec = "${noOffloadBrowser} https://meet.google.com"; comment = "Google Meet"; icon = "googleMeet"; terminal = false; categories = [ "Network" ]; }; }; }