Files
nixpkgs/pkgs/by-name/mo/moonlight/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

89 lines
2.1 KiB
Nix

{
lib,
stdenv,
pnpm_10,
nodejs_22,
fetchFromGitHub,
nix-update-script,
discord,
discord-ptb,
discord-canary,
discord-development,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "1.3.32";
src = fetchFromGitHub {
owner = "moonlight-mod";
repo = "moonlight";
tag = "v${finalAttrs.version}";
hash = "sha256-aXap/wUjjJTCy2eq7p7BL6ZYOVZEBVY4/YkrDtbIj2Q=";
};
nativeBuildInputs = [
nodejs_22
pnpm_10.configHook
];
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname version src;
buildInputs = [ nodejs_22 ];
fetcherVersion = 2;
hash = "sha256-gv+PHGbo0IiPgcxi0RAvsNmGLHWZar3SB4eW7NbJRJY=";
};
env = {
NODE_ENV = "production";
MOONLIGHT_BRANCH = "stable";
MOONLIGHT_VERSION = "v${finalAttrs.version} (nixpkgs)";
};
patches = [
./disable_updates.patch
];
buildPhase = ''
runHook preBuild
pnpm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
passthru = {
updateScript = nix-update-script { };
tests = lib.genAttrs' [ discord discord-ptb discord-canary discord-development ] (
p: lib.nameValuePair p.pname p.tests.withMoonlight
);
};
meta = with lib; {
description = "Discord client modification, focused on enhancing user and developer experience";
longDescription = ''
Moonlight is a ***passion project***yet another Discord client modfocused on providing a decent user
and developer experience. Heavily inspired by hh3 (a private client mod) and the projects before it, namely EndPwn.
All core code is original or used with permission from their respective authors where not copyleft.
'';
homepage = "https://moonlight-mod.github.io";
downloadPage = "https://moonlight-mod.github.io/using/install/#nix";
changelog = "https://raw.githubusercontent.com/moonlight-mod/moonlight/refs/tags/v${finalAttrs.version}/CHANGELOG.md";
license = licenses.lgpl3;
maintainers = with maintainers; [
ilys
FlameFlag
];
};
})