final: prev: let wrapInSandbox = prev.callPackage ../lib/sandbox.nix {}; in { discord-app-wrapped = wrapInSandbox { name = "discord-app-wrapped"; launchScriptName = "discord-app"; binary = "${prev.discord-app}/bin/discord-app"; mountInHome = [ ".local/share/discord-app" ]; additionalBlacklist = [ "/mnt" ]; chdirTo = "/home/$USER"; preDesktopFilePhase = '' mkdir -p $out/share/icons cp -L ${prev.discord}/share/pixmaps/discord.png $out/share/icons/discord.png ''; desktopFileAttributes = { name = "discord-app-wrapped"; #exec = "discord"; icon = "discord"; desktopName = "Discord-App (wrapped)"; genericName = "Instant Messenger"; #categories = [ "Network" "InstantMessaging" ]; }; enableDesktopFile = true; }; /*minecraft-wrapped = wrapInSandbox { name = "minecraft-launcher"; package = prev.minecraft; binaryName = "minecraft-launcher"; mountInHome = [ ".local/share/minecraft" ".minecraft" ]; additionalBlacklist = [ "/mnt" ]; chdirTo = "/home/$USER"; };*/ steam-wrapped = wrapInSandbox { name = "steam-wrapped"; binary = "${prev.steam}/bin/steam"; launchScriptName = "steam"; mountInHome = [ ".steam" ".local/share/Steam" "Downloads/Skyrim Mods" ]; additionalBlacklist = [ "/mnt" ]; additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ]; chdirTo = "/home/$USER"; preDesktopFilePhase = '' cp -Lr ${prev.steam}/share/icons $out/share/icons ''; desktopFileAttributes = { name = "steam-wrapped"; icon = "steam"; desktopName = "Steam (wrapped)"; }; enableDesktopFile = true; }; spotify-wrapped = wrapInSandbox { name = "spotify-wrapped"; launchScriptName = "spotify"; binary = "${prev.spotify}/bin/spotify"; additionalBlacklist = [ "/mnt" ]; mountInHome = [ ".config/spotify" ]; chdirTo = "/home/$USER"; preDesktopFilePhase = '' cp -Lr ${prev.spotify}/share/icons $out/share/icons ''; desktopFileAttributes = { name = "spotify-wrapped"; icon = "spotify-client"; desktopName = "Spotify (wrapped)"; }; enableDesktopFile = true; }; lutris-free-wrapped = wrapInSandbox { name = "lutris-free-wrapped"; launchScriptName = "lutris"; binary = "${prev.lutris-free}/bin/lutris"; additionalBlacklist = [ "/mnt" ]; additionalMounts = [ "/mnt/Storage/Games/LeagueOfLegends" "/mnt/Storage/Games/Origin" "/mnt/Storage/Games/SteamLibrary" "/mnt/tmp" ]; mountInHome = [ ".local/share/lutris" ".config/lutris" "Games" ]; chdirTo = "/home/$USER"; preDesktopFilePhase = '' mkdir -p $out/share/ cp -Lr ${prev.lutris-free}/share/icons $out/share/icons/ ''; desktopFileAttributes = { name = "lutris-wrapped"; icon = "lutris"; desktopName = "Lutris (wrapped)"; }; enableDesktopFile = true; }; discord-wrapped = let discordPkg = prev.discord; in wrapInSandbox { name = "discord-wrapped"; launchScriptName = "discord"; binary = "${discordPkg}/bin/discord"; mountInHome = [ ".config/discord" ".config/BetterDiscord" ]; additionalBlacklist = [ "/mnt" ]; chdirTo = "/home/$USER"; preDesktopFilePhase = '' mkdir -p $out/share/icons cp -L ${discordPkg}/share/pixmaps/discord.png $out/share/icons/discord.png ''; desktopFileAttributes = { name = "discord-wrapped"; #exec = "discord"; icon = "discord"; desktopName = "Discord (wrapped)"; genericName = "Instant Messenger"; #categories = [ "Network" "InstantMessaging" ]; }; enableDesktopFile = true; }; }