forked from mirrors/nixpkgs
steamPackages: make customisable
Keep in mind the note in `lib.makeScopeWithSplicing`'s source: # N.B. the other stages of the package set spliced in are *not* # overridden. To globally override `pkgs.steamPackages`, overlay `pkgs` like: final: prev: { steamPackages = steamPackages.overrideScope …; }
This commit is contained in:
parent
b964655a7d
commit
ab054f8fdb
|
@ -1,26 +1,37 @@
|
|||
{ pkgs, newScope, buildFHSUserEnv }:
|
||||
{ lib, newScope, splicePackages, steamPackagesAttr ? "steamPackages"
|
||||
, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, pkgsHostHost, pkgsTargetTarget
|
||||
, stdenv, buildFHSUserEnv, pkgsi686Linux
|
||||
}:
|
||||
|
||||
let
|
||||
callPackage = newScope self;
|
||||
|
||||
self = rec {
|
||||
steamArch = if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
|
||||
else if pkgs.stdenv.hostPlatform.system == "i686-linux" then "i386"
|
||||
else throw "Unsupported platform: ${pkgs.stdenv.hostPlatform.system}";
|
||||
steamPackagesFun = self: let
|
||||
inherit (self) callPackage;
|
||||
in {
|
||||
steamArch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then "i386"
|
||||
else throw "Unsupported platform: ${stdenv.hostPlatform.system}";
|
||||
|
||||
steam-runtime = callPackage ./runtime.nix { };
|
||||
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
|
||||
steam = callPackage ./steam.nix { };
|
||||
steam-fonts = callPackage ./fonts.nix { };
|
||||
steam-fhsenv = callPackage ./fhsenv.nix {
|
||||
glxinfo-i686 = pkgs.pkgsi686Linux.glxinfo;
|
||||
glxinfo-i686 = pkgsi686Linux.glxinfo;
|
||||
steam-runtime-wrapped-i686 =
|
||||
if steamArch == "amd64"
|
||||
then pkgs.pkgsi686Linux.steamPackages.steam-runtime-wrapped
|
||||
if self.steamArch == "amd64"
|
||||
then pkgsi686Linux.${steamPackagesAttr}.steam-runtime-wrapped
|
||||
else null;
|
||||
inherit buildFHSUserEnv;
|
||||
};
|
||||
steamcmd = callPackage ./steamcmd.nix { };
|
||||
};
|
||||
|
||||
in self
|
||||
otherSplices = {
|
||||
selfBuildBuild = pkgsBuildBuild.${steamPackagesAttr};
|
||||
selfBuildHost = pkgsBuildHost.${steamPackagesAttr};
|
||||
selfBuildTarget = pkgsBuildTarget.${steamPackagesAttr};
|
||||
selfHostHost = pkgsHostHost.${steamPackagesAttr};
|
||||
selfTargetTarget = pkgsTargetTarget.${steamPackagesAttr};
|
||||
};
|
||||
keep = self: { };
|
||||
extra = spliced0: { };
|
||||
in lib.makeScopeWithSplicing splicePackages newScope otherSplices keep extra steamPackagesFun
|
||||
|
|
Loading…
Reference in a new issue