treewide: remove aidalgol

- Remove aidalgol from maintainers and all packages.
- Add maintainers to tests from their corresponding packages.
- Remove package 'heroic' because this will quickly bitrot without a
  maintainer.
This commit is contained in:
Aidan Gauland 2025-10-02 17:24:05 +13:00
parent 1c26ea90b2
commit 9bf50ebcdf
27 changed files with 5 additions and 365 deletions

View file

@ -832,12 +832,6 @@
githubId = 209175;
name = "Alesya Huzik";
};
aidalgol = {
email = "aidalgol+nixpkgs@fastmail.net";
github = "aidalgol";
githubId = 2313201;
name = "Aidan Gauland";
};
aij = {
email = "aij+git@mrph.org";
github = "aij";

View file

@ -145,6 +145,5 @@ in
meta.maintainers = with maintainers; [
aanderse
aidalgol
];
}

View file

@ -21,5 +21,5 @@ in
services.dbus.packages = [ cfg.package ];
};
meta.maintainers = with lib.maintainers; [ aidalgol ];
meta.maintainers = with lib.maintainers; [ jluttine ];
}

View file

@ -1,7 +1,7 @@
{ pkgs, lib, ... }:
{
name = "pass-secret-service";
meta.maintainers = [ lib.maintainers.aidalgol ];
meta.maintainers = [ lib.maintainers.jluttine ];
nodes.machine =
{ nodes, pkgs, ... }:

View file

@ -1,7 +1,7 @@
{ pkgs, lib, ... }:
{
name = "peroxide";
meta.maintainers = with lib.maintainers; [ aidalgol ];
meta.maintainers = with lib.maintainers; [ aanderse ];
nodes.machine =
{ config, pkgs, ... }:

View file

@ -80,7 +80,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
mainProgram = "comet";
maintainers = with lib.maintainers; [
tomasajt
aidalgol
];
};
})

View file

@ -32,7 +32,6 @@ python3Packages.buildPythonApplication rec {
mainProgram = "gogdl";
homepage = "https://github.com/Heroic-Games-Launcher/heroic-gogdl";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [ aidalgol ];
};
# Upstream no longer create git tags when bumping the version, so we have to

View file

@ -1,49 +0,0 @@
{
lib,
stdenv,
gitUpdater,
fetchFromGitHub,
cmake,
pkgsCross,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "heroic-epic-integration";
version = "0.3";
src = fetchFromGitHub {
owner = "Etaash-mathamsetty";
repo = "heroic-epic-integration";
tag = "v${finalAttrs.version}";
hash = "sha256-Zn0MsaQd8Ro6eu8IQkMcLNGLVTUukwajkn8PRLfB+Yw=";
};
nativeBuildInputs = [
cmake
pkgsCross.mingwW64.buildPackages.gcc
];
cmakeFlags = [ (lib.cmakeFeature "CMAKE_TOOLCHAIN_FILE" "../windows.cmake") ];
installPhase = ''
runHook preInstall
mkdir $out
cp heroic-epic-integration.exe $out/EpicGamesLauncher.exe
runHook postInstall
'';
meta = {
description = "Wrapper process for games launched through Heroic Games Launcher";
longDescription = ''
This is a Windows executable that pretends to be EpicGamesLauncher.exe for
games that expect it to be their parent process.
'';
homepage = "https://github.com/Etaash-mathamsetty/heroic-epic-integration";
changelog = "https://github.com/Etaash-mathamsetty/heroic-epic-integration/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aidalgol ];
};
passthru.updateScript = gitUpdater { };
})

View file

@ -1,13 +0,0 @@
diff --git a/src/backend/shortcuts/nonesteamgame/nonesteamgame.ts b/src/backend/shortcuts/nonesteamgame/nonesteamgame.ts
index ebef6aa4..c8bd853d 100644
--- a/src/backend/shortcuts/nonesteamgame/nonesteamgame.ts
+++ b/src/backend/shortcuts/nonesteamgame/nonesteamgame.ts
@@ -252,7 +252,7 @@ async function addNonSteamGame(props: {
// add new Entry
const newEntry = {} as ShortcutEntry
newEntry.AppName = props.gameInfo.title
- newEntry.Exe = `"${app.getPath('exe')}"`
+ newEntry.Exe = `"heroic"`
newEntry.StartDir = `"${process.cwd()}"`
if (isFlatpak) {

View file

@ -1,45 +0,0 @@
{
lib,
gitUpdater,
fetchFromGitHub,
python3Packages,
}:
let
version = "0.20.37";
in
python3Packages.buildPythonApplication {
pname = "legendary-heroic";
inherit version;
format = "pyproject";
src = fetchFromGitHub {
owner = "Heroic-Games-Launcher";
repo = "legendary";
rev = version;
sha256 = "sha256-mOys7lOPrrzBUBMIM/JvKygFQ/qIGD68BDNigk5BCIo=";
};
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
requests
filelock
];
pythonImportsCheck = [ "legendary" ];
meta = with lib; {
description = "Free and open-source Epic Games Launcher alternative";
longDescription = ''
This is the Heroic Games Launcher's fork of legendary.
'';
homepage = "https://github.com/Heroic-Games-Launcher/legendary";
license = licenses.gpl3;
maintainers = with maintainers; [ aidalgol ];
mainProgram = "legendary";
};
passthru.updateScript = gitUpdater { };
}

View file

@ -1,135 +0,0 @@
{
lib,
callPackage,
stdenv,
fetchFromGitHub,
# Pinned, because our FODs are not guaranteed to be stable between major versions.
pnpm_10,
nodejs,
python3,
makeWrapper,
# Electron updates frequently break Heroic, so pin same version as upstream, or newest non-EOL.
electron_36,
vulkan-helper,
gogdl,
nile,
comet-gog_heroic,
umu-launcher,
}:
let
legendary = callPackage ./legendary.nix { };
epic-integration = callPackage ./epic-integration.nix { };
comet-gog = comet-gog_heroic;
electron = electron_36;
in
stdenv.mkDerivation (finalAttrs: {
pname = "heroic-unwrapped";
version = "2.18.1";
src = fetchFromGitHub {
owner = "Heroic-Games-Launcher";
repo = "HeroicGamesLauncher";
tag = "v${finalAttrs.version}";
hash = "sha256-x792VA4PZleqUUgarh59JxJVXrvT95/rINYk8t9i3X0=";
};
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-F8H0eYltIJ0S8AX+2S3cR+v8dvePw09VWToVOLM8qII=";
};
nativeBuildInputs = [
nodejs
pnpm_10.configHook
python3
makeWrapper
];
patches = [
# Make Heroic create Steam shortcuts (to non-steam games) with the correct path to heroic.
./fix-non-steam-shortcuts.patch
# Fixes incorrect path to GalaxyCommunication.exe
./pr-4885.patch
];
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
buildPhase = ''
runHook preBuild
# set nodedir to prevent node-gyp from downloading headers
export npm_config_nodedir=${electron.headers}
pnpm --offline electron-vite build
pnpm --offline electron-builder \
--linux \
--dir \
-c.asarUnpack="**/*.node" \
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
runHook postBuild
'';
# --disable-gpu-compositing is to work around upstream bug
# https://github.com/electron/electron/issues/32317
installPhase = ''
runHook preInstall
mkdir -p "$out/opt/heroic"
cp -r dist/linux-unpacked/resources "$out/opt/heroic"
cp -r public "$out/opt/heroic/resources/app.asar.unpacked/build"
rm -rf "$out/opt/heroic/resources/app.asar.unpacked/build/bin"
mkdir -p \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/win32"
ln -s \
"${lib.getExe gogdl}" \
"${lib.getExe legendary}" \
"${lib.getExe nile}" \
"${lib.getExe comet-gog}" \
"${lib.getExe vulkan-helper}" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux"
# Don't symlink these so we don't confuse Windows applications under Wine/Proton.
cp \
"${comet-gog.dummy-service}/GalaxyCommunication.exe" \
"${epic-integration}/EpicGamesLauncher.exe" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/win32"
makeWrapper "${electron}/bin/electron" "$out/bin/heroic" \
--inherit-argv0 \
--set ELECTRON_FORCE_IS_PACKAGED 1 \
--suffix PATH ":" "${umu-launcher}/bin" \
--add-flags --disable-gpu-compositing \
--add-flags $out/opt/heroic/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
install -D "flatpak/com.heroicgameslauncher.hgl.desktop" "$out/share/applications/com.heroicgameslauncher.hgl.desktop"
install -D "src/frontend/assets/heroic-icon.svg" "$out/share/icons/hicolor/scalable/apps/com.heroicgameslauncher.hgl.svg"
substituteInPlace "$out/share/applications/com.heroicgameslauncher.hgl.desktop" \
--replace-fail "Exec=heroic-run --ozone-platform-hint=auto" "Exec=heroic"
runHook postInstall
'';
passthru = {
inherit epic-integration legendary;
};
meta = with lib; {
description = "Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac";
homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher";
changelog = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v${finalAttrs.version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ aidalgol ];
# Heroic may work on nix-darwin, but it needs a dedicated maintainer for the platform.
# It may also work on other Linux targets, but all the game stores only
# support x86 Linux, so it would require extra hacking to run games via QEMU
# user emulation. Upstream provide Linux builds only for x86_64.
platforms = [ "x86_64-linux" ];
mainProgram = "heroic";
};
})

View file

@ -1,71 +0,0 @@
From a98cc23b288e13665c8698eec56e0653613946d7 Mon Sep 17 00:00:00 2001
From: Aidan Gauland <aidalgol@fastmail.net>
Date: Tue, 19 Aug 2025 09:45:55 +1200
Subject: [PATCH] [Fix] Run GalaxyComm executable path through fixAsarPath
---
src/backend/constants/paths.ts | 4 ++++
src/backend/launcher.ts | 15 +++++----------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/backend/constants/paths.ts b/src/backend/constants/paths.ts
index 1d05ce5b58..2e9cff1197 100644
--- a/src/backend/constants/paths.ts
+++ b/src/backend/constants/paths.ts
@@ -44,6 +44,10 @@ export const fakeEpicExePath = fixAsarPath(
join(publicDir, 'bin', 'x64', 'win32', 'EpicGamesLauncher.exe')
)
+export const galaxyCommunicationExePath = fixAsarPath(
+ join(publicDir, 'bin', 'x64', 'win32', 'GalaxyCommunication.exe')
+)
+
export const webviewPreloadPath = fixAsarPath(
join('file://', publicDir, 'webviewPreload.js')
)
diff --git a/src/backend/launcher.ts b/src/backend/launcher.ts
index a239cff927..2262dc35b2 100644
--- a/src/backend/launcher.ts
+++ b/src/backend/launcher.ts
@@ -80,7 +80,7 @@ import {
defaultWinePrefix,
fixesPath,
flatpakHome,
- publicDir,
+ galaxyCommunicationExePath,
runtimePath,
userHome
} from './constants/paths'
@@ -888,28 +888,23 @@ async function prepareWineLaunch(
try {
if (runner === 'gog' && experimentalFeatures?.cometSupport !== false) {
- const communicationSource = join(
- publicDir,
- 'bin/x64/win32/GalaxyCommunication.exe'
- )
-
- const galaxyCommPath =
+ const galaxyCommWinePath =
'C:\\ProgramData\\GOG.com\\Galaxy\\redists\\GalaxyCommunication.exe'
const communicationDest = await getWinePath({
- path: galaxyCommPath,
+ path: galaxyCommWinePath,
gameSettings,
variant: 'unix'
})
if (!existsSync(communicationDest)) {
mkdirSync(dirname(communicationDest), { recursive: true })
- await copyFile(communicationSource, communicationDest)
+ await copyFile(galaxyCommunicationExePath, communicationDest)
await runWineCommand({
commandParts: [
'sc',
'create',
'GalaxyCommunication',
- `binpath=${galaxyCommPath}`
+ `binpath=${galaxyCommWinePath}`
],
gameSettings,
protonVerb: 'runinprefix'

View file

@ -1,24 +0,0 @@
{
steam,
heroic-unwrapped,
extraPkgs ? pkgs: [ ],
extraLibraries ? pkgs: [ ],
}:
steam.buildRuntimeEnv {
pname = "heroic";
inherit (heroic-unwrapped) version meta;
runScript = "heroic";
extraPkgs = pkgs: [ heroic-unwrapped ] ++ extraPkgs pkgs;
inherit extraLibraries;
extraInstallCommands = ''
mkdir -p $out/share
ln -s ${heroic-unwrapped}/share/applications $out/share
ln -s ${heroic-unwrapped}/share/icons $out/share
'';
privateTmp = false;
}

View file

@ -42,7 +42,6 @@ buildGoModule rec {
mainProgram = "jf";
maintainers = with lib.maintainers; [
detegr
aidalgol
];
};
}

View file

@ -102,7 +102,6 @@ stdenv.mkDerivation (finalAttrs: {
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
aidalgol
das-g
];
};

View file

@ -48,7 +48,6 @@ python3Packages.buildPythonApplication {
mainProgram = "nile";
homepage = "https://github.com/imLinguin/nile";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [ aidalgol ];
};
passthru.updateScript = gitUpdater {

View file

@ -15,7 +15,6 @@ let
overrides = {
description = "OAuth credential MAnager";
homepage = "https://github.com/pdobsan/oama";
maintainers = with lib.maintainers; [ aidalgol ];
passthru.updateScript = ./update.sh;

View file

@ -118,7 +118,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.mit;
mainProgram = "r2modman";
maintainers = with lib.maintainers; [
aidalgol
huantian
];
inherit (electron.meta) platforms;

View file

@ -34,6 +34,5 @@ stdenv.mkDerivation {
'';
platforms = platforms.linux;
license = licenses.unfree; # No license specified.
maintainers = with maintainers; [ aidalgol ];
};
}

View file

@ -32,7 +32,6 @@ rustPlatform.buildRustPackage {
description = "Simple CLI app used to interface with basic Vulkan APIs";
homepage = "https://github.com/imLinguin/vulkan-helper-rs";
license = licenses.mit;
maintainers = with maintainers; [ aidalgol ];
platforms = platforms.linux;
mainProgram = "vulkan-helper";
};

View file

@ -117,7 +117,6 @@ finalAttrs: prevAttrs: {
prevAttrs.meta.badPlatforms or [ ]
++ lib.optionals (targetArch == "unsupported") [ hostPlatform.system ];
homepage = "https://developer.nvidia.com/tensorrt";
maintainers = prevAttrs.meta.maintainers or [ ] ++ [ maintainers.aidalgol ];
teams = prevAttrs.meta.teams or [ ];
# Building TensorRT on Hydra is impossible because of the non-redistributable

View file

@ -48,7 +48,6 @@ buildPythonPackage rec {
homepage = "https://developer.nvidia.com/tensorrt";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ aidalgol ];
broken = !(cudaPackages ? tensorrt) || !(cudaPackages ? cudnn);
};
}

View file

@ -33,12 +33,9 @@ let
inherit sha256;
};
meta = with lib; {
meta = {
homepage = "https://www.nvidia.com/object/unix.html";
platforms = nvidia_x11.meta.platforms;
maintainers = with maintainers; [
aidalgol
];
};
libXNVCtrl = stdenv.mkDerivation {

View file

@ -27,7 +27,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
viraptor
aidalgol
];
};
})

View file

@ -29,7 +29,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
mrkkrp
aidalgol
];
};
})

View file

@ -33,7 +33,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
happysalada
aidalgol
];
};
})

View file

@ -1160,6 +1160,7 @@ mapAliases {
haven-cli = throw "'haven-cli' has been removed due to the official announcement of the project closure. Read more at https://havenprotocol.org/2024/12/12/project-closure-announcement"; # Added 2025-02-25
hawknl = throw "'hawknl' has been removed as it was unmaintained and the upstream unavailable"; # Added 2025-05-07
HentaiAtHome = hentai-at-home; # Added 2024-06-12
heroic = throw "Heroic Games Launcher has been removed due to frequent breakages and no maintainer. Upstream recommends using the Flatpak.";
hiawatha = throw "hiawatha has been removed, since it is no longer actively supported upstream, nor well maintained in nixpkgs"; # Added 2025-09-10
hibernate = throw "hibernate has been removed due to lack of maintenance"; # Added 2025-09-10
hiddify-app = throw "hiddify-app has been removed, since it is unmaintained"; # added 2025-08-20