17 buildDotnetModule rec {
19 version = "2023.1026.0";
21 src = fetchFromGitHub {
25 sha256 = "sha256-kbi4Um1MRctpwD7ndlcB+K7AxDbWHqAHmkJbEI0fNzI=";
28 projectFile = "osu.Desktop/osu.Desktop.csproj";
29 nugetDeps = ./deps.nix;
31 nativeBuildInputs = [ copyDesktopItems ];
41 # Failed to create SDL window. SDL Error: Could not initialize OpenGL / GLES library
44 # needed for the window to actually appear
47 # needed to avoid in runtime.log:
48 # [verbose]: SDL error log [debug]: Failed loading udev_device_get_action: /nix/store/*-osu-lazer-*/lib/osu-lazer/runtimes/linux-x64/native/libSDL2.so: undefined symbol: _udev_device_get_action
49 # [verbose]: SDL error log [debug]: Failed loading libudev.so.1: libudev.so.1: cannot open shared object file: No such file or directory
53 executables = [ "osu!" ];
58 for i in 16 32 48 64 96 128 256 512 1024; do
59 install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
62 ln -sft $out/lib/${pname} ${SDL2}/lib/libSDL2${stdenvNoCC.hostPlatform.extensions.sharedLibrary}
63 cp -f ${./osu.runtimeconfig.json} "$out/lib/${pname}/osu!.runtimeconfig.json"
68 desktopItems = [(makeDesktopItem {
73 comment = meta.description;
75 categories = [ "Game" ];
79 description = "Rhythm is just a *click* away (no score submission or multiplayer, see osu-lazer-bin)";
80 homepage = "https://osu.ppy.sh";
81 license = with licenses; [
84 unfreeRedistributable # osu-framework contains libbass.so in repository
86 maintainers = with maintainers; [ thiagokokada ];
87 platforms = [ "x86_64-linux" ];
90 passthru.updateScript = ./update.sh;