lib: Improve the sandbox derivation
This commit is contained in:
@@ -3,27 +3,7 @@ final: prev:
|
||||
let
|
||||
wrapInSandbox = prev.callPackage ../lib/sandbox.nix {};
|
||||
in {
|
||||
discord-wrapped = wrapInSandbox {
|
||||
name = "discord";
|
||||
package = prev.discord;
|
||||
#package = discord-system-electron;
|
||||
binaryName = "discord";
|
||||
mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
|
||||
version = "1.0.1";
|
||||
copyIntoSandbox = [ "share/pixmaps" ];
|
||||
desktopFileArgs = {
|
||||
name = "discord-wrapped";
|
||||
#exec = "discord";
|
||||
icon = "discord";
|
||||
desktopName = "Discord (wrapped)";
|
||||
genericName = "Instant Messenger";
|
||||
categories = [ "Network" "InstantMessaging" ];
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
discord-app-wrapped = wrapInSandbox {
|
||||
name = "discord-app";
|
||||
package = prev.discord-app;
|
||||
@@ -50,48 +30,135 @@ in {
|
||||
mountInHome = [ ".local/share/minecraft" ".minecraft" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
};*/
|
||||
|
||||
steam-wrapped = wrapInSandbox {
|
||||
name = "steam";
|
||||
package = prev.steam;
|
||||
binaryName = "steam";
|
||||
name = "steam-wrapped";
|
||||
binary = "${prev.steam}/bin/steam";
|
||||
launchScriptName = "steam";
|
||||
mountInHome = [ ".steam" ".local/share/Steam" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ];
|
||||
chdirTo = "/home/$USER";
|
||||
extraEnv = {
|
||||
DRI_PRIME = "1";
|
||||
|
||||
preDesktopFilePhase = ''
|
||||
cp -Lr ${prev.steam}/share/icons $out/share/icons
|
||||
'';
|
||||
desktopFileAttributes = {
|
||||
name = "steam-wrapped";
|
||||
icon = "steam";
|
||||
desktopName = "Steam (wrapped)";
|
||||
};
|
||||
|
||||
copyIntoSandbox = [ "/share" ];
|
||||
};
|
||||
|
||||
android-studio-wrapped = wrapInSandbox {
|
||||
name = "android-studio";
|
||||
package = prev.android-studio;
|
||||
binaryName = "android-studio";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ "Development/Personal/Android" ".android" ];
|
||||
chdirTo = "/home/$USER";
|
||||
enableDesktopFile = true;
|
||||
};
|
||||
|
||||
spotify-wrapped = wrapInSandbox {
|
||||
name = "spotify";
|
||||
package = prev.spotify;
|
||||
binaryName = "spotify";
|
||||
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";
|
||||
desktopName = "Spotify (wrapped)";
|
||||
};
|
||||
enableDesktopFile = true;
|
||||
};
|
||||
|
||||
lutris-free-wrapped = wrapInSandbox {
|
||||
name = "lutris-free";
|
||||
package = prev.lutris-free;
|
||||
binaryName = "lutris";
|
||||
name = "lutris-free-wrapped";
|
||||
launchScriptName = "lutris";
|
||||
binary = "${prev.lutris-free}/bin/lutris";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/UPlay" ];
|
||||
mountInHome = [ ".local/share/lutris" ".config/lutris" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/" ];
|
||||
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;
|
||||
};
|
||||
|
||||
vortex-wrapped = let
|
||||
# The path to the wine prefix Vortex is installed in
|
||||
prefixPath = "/mnt/Storage/Games/NewVortex";
|
||||
|
||||
vortexStartScript = prev.writeShellScriptBin "start-vortex.sh" ''
|
||||
WINEARCH=win64 \
|
||||
WINEPREFIX=${prefixPath} \
|
||||
${prev.wineWowPackages.staging}/bin/wine "C:\Program Files\Black Tree Gaming Ltd\Vortex\Vortex.exe"
|
||||
'';
|
||||
vortexIcon = builtins.fetchurl {
|
||||
url = "https://www.nexusmods.com/bootstrap/images/vortex/vortex-logomark.svg";
|
||||
sha256 = "0237wbbyvgapmmjsq5xab0izzaciqjx1si163r75wa2g7xvz4s22";
|
||||
};
|
||||
in wrapInSandbox {
|
||||
name = "vortex-wrapped";
|
||||
launchScriptName = "vortex";
|
||||
binary = "${vortexStartScript}/bin/start-vortex.sh";
|
||||
|
||||
chdirTo = "/mnt/Storage/Games/";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [
|
||||
# Wine prefix
|
||||
"/mnt/Storage/Games/NewVortex"
|
||||
# Mod cache
|
||||
"/mnt/Storage/Vortex Mods"
|
||||
# Only access Skyrim: SE
|
||||
"/mnt/Storage/Games/SteamLibrary/SteamLibrary/steamapps/common/Skyrim\ Special\ Edition/"
|
||||
];
|
||||
mountInHome = [
|
||||
# Mod downloads
|
||||
"Downloads/Skyrim Mods"
|
||||
];
|
||||
|
||||
preDesktopFilePhase = ''
|
||||
mkdir -p $out/share/icons
|
||||
cp ${vortexIcon} $out/share/icons/vortex.svg
|
||||
'';
|
||||
desktopFileAttributes = {
|
||||
name = "vortex-wrapped";
|
||||
icon = "vortex";
|
||||
desktopName = "Vortex Mod Manager (wrapped)";
|
||||
};
|
||||
enableDesktopFile = true;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user