flakes/overlays/osu-lazer.nix

53 lines
1.5 KiB
Nix
Raw Normal View History

2021-09-28 22:53:18 +07:00
self: super:
let
2021-11-10 19:18:27 +07:00
version = "2021.1108.0";
in rec {
osu-lazer-unwrapped = super.osu-lazer.overrideAttrs(old: {
2021-09-28 22:53:18 +07:00
inherit version;
pname = "osu-lazer-unwrapped";
2021-09-28 22:53:18 +07:00
src = super.fetchFromGitHub {
owner = "ppy";
repo = "osu";
rev = version;
2021-10-09 11:42:01 +07:00
sha256 = "zQMXDqWfZ8g4HP3VQgeLogif51vVFLjb+a+7ma7OHIc=";
2021-09-28 22:53:18 +07:00
};
buildPhase = super.lib.replaceStrings [ old.version ] [ version ] old.buildPhase;
nugetDeps = super.linkFarmFromDrvs "${old.pname}-nuget-deps" (import ./patches/deps.nix {
fetchNuGet = { name, version, sha256 }: super.fetchurl {
name = "nuget-${name}-${version}.nupkg";
url = "https://www.nuget.org/api/v2/package/${name}/${version}";
inherit sha256;
};
});
patches = [ ./patches/bypass-tamper-detection.patch ];
patchFlags = [ "--binary" "-p1" ];
});
osu-lazer =
let
startScript = super.writeShellScript "osu-lazer" ''
DRI_PRIME=1 vblank_mode=0 PIPEWIRE_LATENCY=64/48000 ${super.pipewire}/bin/pw-jack ${osu-lazer-unwrapped.outPath}/bin/osu\\!
'';
desktopEntry = super.makeDesktopItem {
desktopName = "osu!";
name = "osu";
exec = startScript.outPath;
icon = "osu!";
comment = osu-lazer-unwrapped.meta.description;
type = "Application";
categories = "Game;";
};
in super.stdenvNoCC.mkDerivation {
inherit version;
pname = "osu-lazer";
buildPhase = ''
cp ${desktopEntry}/share/applications $out/share
'';
};
2021-09-28 22:53:18 +07:00
}