59 lines
1.4 KiB
Nix
59 lines
1.4 KiB
Nix
{
|
|
# lib,
|
|
# pkgs,
|
|
inputs,
|
|
system,
|
|
addPkgs ? [],
|
|
bwrapperOpts ? {},
|
|
packageOverrides ? {},
|
|
unfreePkgs ? [],
|
|
...
|
|
}: let
|
|
pkgs = import inputs.nixpkgs {
|
|
config.allowUnfreePredicate = pkg:
|
|
builtins.elem (pkgs.lib.getName pkg) unfreePkgs;
|
|
|
|
inherit system;
|
|
overlays = [inputs.nix-bwrapper.overlays.bwrapper];
|
|
};
|
|
in
|
|
pkgs.mkBwrapper (pkgs.lib.attrsets.recursiveUpdate {
|
|
app = rec {
|
|
inherit addPkgs;
|
|
# addPkgs = with pkgs; [mangohud gamemode gamescope];
|
|
package = pkgs.steam.override (pkgs.lib.attrsets.recursiveUpdate {
|
|
extraPkgs = pkgs: addPkgs;
|
|
}
|
|
packageOverrides);
|
|
id = "com.valvesoftware.Steam" + "_bwrapped";
|
|
runScript = "steam";
|
|
isFhsenv = true;
|
|
};
|
|
# mounts.readWrite = [
|
|
# "/storage/games/steam"
|
|
# # "/sys/kernel/mm/transparent_hugepage"
|
|
# ];
|
|
mounts.sandbox = [
|
|
{
|
|
name = "dot-steam";
|
|
path = "$HOME/.steam";
|
|
}
|
|
];
|
|
dbus.session.talks = [
|
|
"org.a11y.Bus"
|
|
"org.gtk.vfs.*"
|
|
"org.gnome.SettingsDaemon.MediaKeys"
|
|
"org.freedesktop.ScreenSaver"
|
|
"org.freedesktop.PowerManagement"
|
|
"org.freedesktop.Notifications"
|
|
];
|
|
dbus.session.owns = [
|
|
"com.steampowered.*"
|
|
];
|
|
dbus.system.talks = [
|
|
"org.freedesktop.UDisks2"
|
|
"org.freedesktop.UPower"
|
|
];
|
|
}
|
|
bwrapperOpts)
|