From 9bf50ebcdfff0a5724765a496c3f08732a74510d Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Thu, 2 Oct 2025 17:24:05 +1300 Subject: [PATCH 1/5] 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. --- maintainers/maintainer-list.nix | 6 - .../modules/services/networking/peroxide.nix | 1 - .../services/security/pass-secret-service.nix | 2 +- nixos/tests/pass-secret-service.nix | 2 +- nixos/tests/peroxide.nix | 2 +- pkgs/by-name/co/comet-gog/package.nix | 1 - pkgs/by-name/go/gogdl/package.nix | 1 - .../he/heroic-unwrapped/epic-integration.nix | 49 ------- .../fix-non-steam-shortcuts.patch | 13 -- .../by-name/he/heroic-unwrapped/legendary.nix | 45 ------ pkgs/by-name/he/heroic-unwrapped/package.nix | 135 ------------------ .../by-name/he/heroic-unwrapped/pr-4885.patch | 71 --------- pkgs/by-name/he/heroic/package.nix | 24 ---- pkgs/by-name/jf/jfrog-cli/package.nix | 1 - pkgs/by-name/km/kmymoney/package.nix | 1 - pkgs/by-name/ni/nile/package.nix | 1 - pkgs/by-name/oa/oama/package.nix | 1 - pkgs/by-name/r2/r2modman/package.nix | 1 - pkgs/by-name/te/teensy-udev-rules/package.nix | 1 - pkgs/by-name/vu/vulkan-helper/package.nix | 1 - .../cuda-modules/_cuda/fixups/tensorrt.nix | 1 - .../python-modules/tensorrt/default.nix | 1 - .../os-specific/linux/nvidia-x11/settings.nix | 5 +- pkgs/shells/nushell/plugins/formats.nix | 1 - pkgs/shells/nushell/plugins/gstat.nix | 1 - pkgs/shells/nushell/plugins/query.nix | 1 - pkgs/top-level/aliases.nix | 1 + 27 files changed, 5 insertions(+), 365 deletions(-) delete mode 100644 pkgs/by-name/he/heroic-unwrapped/epic-integration.nix delete mode 100644 pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch delete mode 100644 pkgs/by-name/he/heroic-unwrapped/legendary.nix delete mode 100644 pkgs/by-name/he/heroic-unwrapped/package.nix delete mode 100644 pkgs/by-name/he/heroic-unwrapped/pr-4885.patch delete mode 100644 pkgs/by-name/he/heroic/package.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 23e836c8fa7a..e741e2e9ad97 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/nixos/modules/services/networking/peroxide.nix b/nixos/modules/services/networking/peroxide.nix index 101a5fdffeef..442ac933b7bb 100644 --- a/nixos/modules/services/networking/peroxide.nix +++ b/nixos/modules/services/networking/peroxide.nix @@ -145,6 +145,5 @@ in meta.maintainers = with maintainers; [ aanderse - aidalgol ]; } diff --git a/nixos/modules/services/security/pass-secret-service.nix b/nixos/modules/services/security/pass-secret-service.nix index e9d8432161fa..7dc21b44a6f9 100644 --- a/nixos/modules/services/security/pass-secret-service.nix +++ b/nixos/modules/services/security/pass-secret-service.nix @@ -21,5 +21,5 @@ in services.dbus.packages = [ cfg.package ]; }; - meta.maintainers = with lib.maintainers; [ aidalgol ]; + meta.maintainers = with lib.maintainers; [ jluttine ]; } diff --git a/nixos/tests/pass-secret-service.nix b/nixos/tests/pass-secret-service.nix index de07cfd47a49..57c7ac8bdcbc 100644 --- a/nixos/tests/pass-secret-service.nix +++ b/nixos/tests/pass-secret-service.nix @@ -1,7 +1,7 @@ { pkgs, lib, ... }: { name = "pass-secret-service"; - meta.maintainers = [ lib.maintainers.aidalgol ]; + meta.maintainers = [ lib.maintainers.jluttine ]; nodes.machine = { nodes, pkgs, ... }: diff --git a/nixos/tests/peroxide.nix b/nixos/tests/peroxide.nix index d5902a64ba2d..0de5a756f643 100644 --- a/nixos/tests/peroxide.nix +++ b/nixos/tests/peroxide.nix @@ -1,7 +1,7 @@ { pkgs, lib, ... }: { name = "peroxide"; - meta.maintainers = with lib.maintainers; [ aidalgol ]; + meta.maintainers = with lib.maintainers; [ aanderse ]; nodes.machine = { config, pkgs, ... }: diff --git a/pkgs/by-name/co/comet-gog/package.nix b/pkgs/by-name/co/comet-gog/package.nix index 171026bbb31e..85aa55e6a878 100644 --- a/pkgs/by-name/co/comet-gog/package.nix +++ b/pkgs/by-name/co/comet-gog/package.nix @@ -80,7 +80,6 @@ rustPlatform.buildRustPackage (finalAttrs: { mainProgram = "comet"; maintainers = with lib.maintainers; [ tomasajt - aidalgol ]; }; }) diff --git a/pkgs/by-name/go/gogdl/package.nix b/pkgs/by-name/go/gogdl/package.nix index 267a40076442..b8c1d82f0b15 100644 --- a/pkgs/by-name/go/gogdl/package.nix +++ b/pkgs/by-name/go/gogdl/package.nix @@ -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 diff --git a/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix b/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix deleted file mode 100644 index d025a13a1b99..000000000000 --- a/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix +++ /dev/null @@ -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 { }; -}) diff --git a/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch b/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch deleted file mode 100644 index 7b46473245f7..000000000000 --- a/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch +++ /dev/null @@ -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) { diff --git a/pkgs/by-name/he/heroic-unwrapped/legendary.nix b/pkgs/by-name/he/heroic-unwrapped/legendary.nix deleted file mode 100644 index e917395009f0..000000000000 --- a/pkgs/by-name/he/heroic-unwrapped/legendary.nix +++ /dev/null @@ -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 { }; -} diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix deleted file mode 100644 index 5eb4256f3d3a..000000000000 --- a/pkgs/by-name/he/heroic-unwrapped/package.nix +++ /dev/null @@ -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"; - }; -}) diff --git a/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch b/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch deleted file mode 100644 index 96d71ae63f42..000000000000 --- a/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch +++ /dev/null @@ -1,71 +0,0 @@ -From a98cc23b288e13665c8698eec56e0653613946d7 Mon Sep 17 00:00:00 2001 -From: Aidan Gauland -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' diff --git a/pkgs/by-name/he/heroic/package.nix b/pkgs/by-name/he/heroic/package.nix deleted file mode 100644 index 4884a733ecd1..000000000000 --- a/pkgs/by-name/he/heroic/package.nix +++ /dev/null @@ -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; -} diff --git a/pkgs/by-name/jf/jfrog-cli/package.nix b/pkgs/by-name/jf/jfrog-cli/package.nix index 1c0d8690b8a4..8289bad63ef3 100644 --- a/pkgs/by-name/jf/jfrog-cli/package.nix +++ b/pkgs/by-name/jf/jfrog-cli/package.nix @@ -42,7 +42,6 @@ buildGoModule rec { mainProgram = "jf"; maintainers = with lib.maintainers; [ detegr - aidalgol ]; }; } diff --git a/pkgs/by-name/km/kmymoney/package.nix b/pkgs/by-name/km/kmymoney/package.nix index 035f8bf8431a..d0d9b8a752f5 100644 --- a/pkgs/by-name/km/kmymoney/package.nix +++ b/pkgs/by-name/km/kmymoney/package.nix @@ -102,7 +102,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.linux; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ - aidalgol das-g ]; }; diff --git a/pkgs/by-name/ni/nile/package.nix b/pkgs/by-name/ni/nile/package.nix index 9362ace93a0d..cabc6ffe2f51 100644 --- a/pkgs/by-name/ni/nile/package.nix +++ b/pkgs/by-name/ni/nile/package.nix @@ -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 { diff --git a/pkgs/by-name/oa/oama/package.nix b/pkgs/by-name/oa/oama/package.nix index 7a282ca82f88..7f698d083459 100644 --- a/pkgs/by-name/oa/oama/package.nix +++ b/pkgs/by-name/oa/oama/package.nix @@ -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; diff --git a/pkgs/by-name/r2/r2modman/package.nix b/pkgs/by-name/r2/r2modman/package.nix index 1a858483234b..92adebab430e 100644 --- a/pkgs/by-name/r2/r2modman/package.nix +++ b/pkgs/by-name/r2/r2modman/package.nix @@ -118,7 +118,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; mainProgram = "r2modman"; maintainers = with lib.maintainers; [ - aidalgol huantian ]; inherit (electron.meta) platforms; diff --git a/pkgs/by-name/te/teensy-udev-rules/package.nix b/pkgs/by-name/te/teensy-udev-rules/package.nix index 1323869cc31d..650eacc81a00 100644 --- a/pkgs/by-name/te/teensy-udev-rules/package.nix +++ b/pkgs/by-name/te/teensy-udev-rules/package.nix @@ -34,6 +34,5 @@ stdenv.mkDerivation { ''; platforms = platforms.linux; license = licenses.unfree; # No license specified. - maintainers = with maintainers; [ aidalgol ]; }; } diff --git a/pkgs/by-name/vu/vulkan-helper/package.nix b/pkgs/by-name/vu/vulkan-helper/package.nix index 72afd6e6a099..d44a89e616f3 100644 --- a/pkgs/by-name/vu/vulkan-helper/package.nix +++ b/pkgs/by-name/vu/vulkan-helper/package.nix @@ -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"; }; diff --git a/pkgs/development/cuda-modules/_cuda/fixups/tensorrt.nix b/pkgs/development/cuda-modules/_cuda/fixups/tensorrt.nix index 3f507ffee344..49d1018ab305 100644 --- a/pkgs/development/cuda-modules/_cuda/fixups/tensorrt.nix +++ b/pkgs/development/cuda-modules/_cuda/fixups/tensorrt.nix @@ -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 diff --git a/pkgs/development/python-modules/tensorrt/default.nix b/pkgs/development/python-modules/tensorrt/default.nix index 12f07753be8a..3a7298878e86 100644 --- a/pkgs/development/python-modules/tensorrt/default.nix +++ b/pkgs/development/python-modules/tensorrt/default.nix @@ -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); }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index 5ab9b0066a58..8f38cffa1faf 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -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 { diff --git a/pkgs/shells/nushell/plugins/formats.nix b/pkgs/shells/nushell/plugins/formats.nix index 77debd7f7107..d008f8e9bb59 100644 --- a/pkgs/shells/nushell/plugins/formats.nix +++ b/pkgs/shells/nushell/plugins/formats.nix @@ -27,7 +27,6 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ viraptor - aidalgol ]; }; }) diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix index c39993e6c9d4..761c6d1c1fb2 100644 --- a/pkgs/shells/nushell/plugins/gstat.nix +++ b/pkgs/shells/nushell/plugins/gstat.nix @@ -29,7 +29,6 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ mrkkrp - aidalgol ]; }; }) diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix index b840959fc93d..d9362abb8583 100644 --- a/pkgs/shells/nushell/plugins/query.nix +++ b/pkgs/shells/nushell/plugins/query.nix @@ -33,7 +33,6 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ happysalada - aidalgol ]; }; }) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5f685ed79471..bf586e0e72d2 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 From 54716a246350801e1977ae190d53da1c89db1ca6 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 4 Oct 2025 15:25:06 +1300 Subject: [PATCH 2/5] Remove dangling NixOS module Module `peroxide` has no package. --- nixos/modules/module-list.nix | 1 - .../modules/services/networking/peroxide.nix | 149 ------------------ nixos/tests/all-tests.nix | 1 - nixos/tests/peroxide.nix | 18 --- 4 files changed, 169 deletions(-) delete mode 100644 nixos/modules/services/networking/peroxide.nix delete mode 100644 nixos/tests/peroxide.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 3171684a30e6..18c6c65c466f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1294,7 +1294,6 @@ ./services/networking/pangolin.nix ./services/networking/pdns-recursor.nix ./services/networking/pdnsd.nix - ./services/networking/peroxide.nix ./services/networking/picosnitch.nix ./services/networking/pihole-ftl.nix ./services/networking/pixiecore.nix diff --git a/nixos/modules/services/networking/peroxide.nix b/nixos/modules/services/networking/peroxide.nix deleted file mode 100644 index 442ac933b7bb..000000000000 --- a/nixos/modules/services/networking/peroxide.nix +++ /dev/null @@ -1,149 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.services.peroxide; - settingsFormat = pkgs.formats.yaml { }; - stateDir = "peroxide"; -in -{ - options.services.peroxide = { - enable = mkEnableOption "peroxide"; - - package = mkPackageOption pkgs "peroxide" { - default = [ "peroxide" ]; - }; - - logLevel = mkOption { - # https://github.com/sirupsen/logrus#level-logging - type = types.enum [ - "Panic" - "Fatal" - "Error" - "Warning" - "Info" - "Debug" - "Trace" - ]; - default = "Warning"; - example = "Info"; - description = "Only log messages of this priority or higher."; - }; - - settings = mkOption { - type = types.submodule { - freeformType = settingsFormat.type; - - options = { - UserPortImap = mkOption { - type = types.port; - default = 1143; - description = "The port on which to listen for IMAP connections."; - }; - - UserPortSmtp = mkOption { - type = types.port; - default = 1025; - description = "The port on which to listen for SMTP connections."; - }; - - ServerAddress = mkOption { - type = types.str; - default = "[::0]"; - example = "localhost"; - description = "The address on which to listen for connections."; - }; - }; - }; - default = { }; - description = '' - Configuration for peroxide. See - [config.example.yaml](https://github.com/ljanyst/peroxide/blob/master/config.example.yaml) - for an example configuration. - ''; - }; - }; - - config = mkIf cfg.enable { - services.peroxide.settings = { - # peroxide deletes the cache directory on startup, which requires write - # permission on the parent directory, so we can't use - # /var/cache/peroxide - CacheDir = "/var/cache/peroxide/cache"; - X509Key = mkDefault "/var/lib/${stateDir}/key.pem"; - X509Cert = mkDefault "/var/lib/${stateDir}/cert.pem"; - CookieJar = "/var/lib/${stateDir}/cookies.json"; - CredentialsStore = "/var/lib/${stateDir}/credentials.json"; - }; - - users.users.peroxide = { - isSystemUser = true; - group = "peroxide"; - }; - users.groups.peroxide = { }; - - systemd.services.peroxide = { - description = "Peroxide ProtonMail bridge"; - requires = [ "network.target" ]; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - - restartTriggers = [ config.environment.etc."peroxide.conf".source ]; - - serviceConfig = { - Type = "simple"; - User = "peroxide"; - LogsDirectory = "peroxide"; - LogsDirectoryMode = "0750"; - # Specify just "peroxide" so that the user has write permission, because - # peroxide deletes and recreates the cache directory on startup. - CacheDirectory = [ - "peroxide" - "peroxide/cache" - ]; - CacheDirectoryMode = "0700"; - StateDirectory = stateDir; - StateDirectoryMode = "0700"; - ExecStart = "${cfg.package}/bin/peroxide -log-file=/var/log/peroxide/peroxide.log -log-level ${cfg.logLevel}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - }; - - preStart = '' - # Create a self-signed certificate if no certificate exists. - if [[ ! -e "${cfg.settings.X509Key}" && ! -e "${cfg.settings.X509Cert}" ]]; then - ${cfg.package}/bin/peroxide-cfg -action gen-x509 \ - -x509-org 'N/A' \ - -x509-cn 'nixos' \ - -x509-cert "${cfg.settings.X509Cert}" \ - -x509-key "${cfg.settings.X509Key}" - fi - ''; - }; - - # https://github.com/ljanyst/peroxide/blob/master/peroxide.logrotate - services.logrotate.settings.peroxide = { - files = "/var/log/peroxide/peroxide.log"; - rotate = 31; - frequency = "daily"; - compress = true; - delaycompress = true; - missingok = true; - notifempty = true; - su = "peroxide peroxide"; - postrotate = "systemctl reload peroxide"; - }; - - environment.etc."peroxide.conf".source = settingsFormat.generate "peroxide.conf" cfg.settings; - environment.systemPackages = [ cfg.package ]; - }; - - meta.maintainers = with maintainers; [ - aanderse - ]; -} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 0216ea9d9bd5..da838338f5e6 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1158,7 +1158,6 @@ in peerflix = runTest ./peerflix.nix; peering-manager = runTest ./web-apps/peering-manager.nix; peertube = handleTestOn [ "x86_64-linux" ] ./web-apps/peertube.nix { }; - peroxide = runTest ./peroxide.nix; pgadmin4 = runTest ./pgadmin4.nix; pgbackrest = import ./pgbackrest { inherit runTest; }; pgbouncer = runTest ./pgbouncer.nix; diff --git a/nixos/tests/peroxide.nix b/nixos/tests/peroxide.nix deleted file mode 100644 index 0de5a756f643..000000000000 --- a/nixos/tests/peroxide.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, lib, ... }: -{ - name = "peroxide"; - meta.maintainers = with lib.maintainers; [ aanderse ]; - - nodes.machine = - { config, pkgs, ... }: - { - networking.hostName = "nixos"; - services.peroxide.enable = true; - }; - - testScript = '' - machine.wait_for_unit("peroxide.service") - machine.wait_for_open_port(1143) # IMAP - machine.wait_for_open_port(1025) # SMTP - ''; -} From c7502377d2b56fbb4ce676dcaa19cafc34d6b37a Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 4 Oct 2025 16:32:07 +1300 Subject: [PATCH 3/5] nixos/doc: fix build Remove link in 2305 release notes to now-deleted option. --- nixos/doc/manual/release-notes/rl-2305.section.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index dbc1aa8d97eb..d791ffe57acf 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -127,7 +127,7 @@ In addition to numerous new and updated packages, this release has the following - [openvscode-server](https://github.com/gitpod-io/openvscode-server), run VS Code on a remote machine with access through a modern web browser from any device, anywhere. Available as [services.openvscode-server](#opt-services.openvscode-server.enable). -- [peroxide](https://github.com/ljanyst/peroxide), a fork of the official [ProtonMail bridge](https://github.com/ProtonMail/proton-bridge) that aims to be similar to [Hydroxide](https://github.com/emersion/hydroxide). Available as [services.peroxide](#opt-services.peroxide.enable). +- [peroxide](https://github.com/ljanyst/peroxide), a fork of the official [ProtonMail bridge](https://github.com/ProtonMail/proton-bridge) that aims to be similar to [Hydroxide](https://github.com/emersion/hydroxide). Available as [services.peroxide](options.html#opt-services.peroxide.enable). - [photoprism](https://photoprism.app/), a AI-powered photos app for the decentralized web. Available as [services.photoprism](options.html#opt-services.photoprism.enable). From 6859773df864e6677d0f4a7928cf17ce7b024521 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 4 Oct 2025 17:53:26 +1300 Subject: [PATCH 4/5] heroic: restore @iedane is taking over as sole maintainer. --- .../he/heroic-unwrapped/epic-integration.nix | 49 +++++++ .../fix-non-steam-shortcuts.patch | 13 ++ .../by-name/he/heroic-unwrapped/legendary.nix | 45 ++++++ pkgs/by-name/he/heroic-unwrapped/package.nix | 135 ++++++++++++++++++ .../by-name/he/heroic-unwrapped/pr-4885.patch | 71 +++++++++ pkgs/by-name/he/heroic/package.nix | 24 ++++ pkgs/top-level/aliases.nix | 1 - 7 files changed, 337 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/he/heroic-unwrapped/epic-integration.nix create mode 100644 pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch create mode 100644 pkgs/by-name/he/heroic-unwrapped/legendary.nix create mode 100644 pkgs/by-name/he/heroic-unwrapped/package.nix create mode 100644 pkgs/by-name/he/heroic-unwrapped/pr-4885.patch create mode 100644 pkgs/by-name/he/heroic/package.nix diff --git a/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix b/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix new file mode 100644 index 000000000000..bcd6f7f1dd28 --- /dev/null +++ b/pkgs/by-name/he/heroic-unwrapped/epic-integration.nix @@ -0,0 +1,49 @@ +{ + 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; [ iedame ]; + }; + + passthru.updateScript = gitUpdater { }; +}) diff --git a/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch b/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch new file mode 100644 index 000000000000..7b46473245f7 --- /dev/null +++ b/pkgs/by-name/he/heroic-unwrapped/fix-non-steam-shortcuts.patch @@ -0,0 +1,13 @@ +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) { diff --git a/pkgs/by-name/he/heroic-unwrapped/legendary.nix b/pkgs/by-name/he/heroic-unwrapped/legendary.nix new file mode 100644 index 000000000000..7e9aca05af29 --- /dev/null +++ b/pkgs/by-name/he/heroic-unwrapped/legendary.nix @@ -0,0 +1,45 @@ +{ + 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; [ iedame ]; + mainProgram = "legendary"; + }; + + passthru.updateScript = gitUpdater { }; +} diff --git a/pkgs/by-name/he/heroic-unwrapped/package.nix b/pkgs/by-name/he/heroic-unwrapped/package.nix new file mode 100644 index 000000000000..68cf15bb57b6 --- /dev/null +++ b/pkgs/by-name/he/heroic-unwrapped/package.nix @@ -0,0 +1,135 @@ +{ + 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; [ iedame ]; + # 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"; + }; +}) diff --git a/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch b/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch new file mode 100644 index 000000000000..96d71ae63f42 --- /dev/null +++ b/pkgs/by-name/he/heroic-unwrapped/pr-4885.patch @@ -0,0 +1,71 @@ +From a98cc23b288e13665c8698eec56e0653613946d7 Mon Sep 17 00:00:00 2001 +From: Aidan Gauland +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' diff --git a/pkgs/by-name/he/heroic/package.nix b/pkgs/by-name/he/heroic/package.nix new file mode 100644 index 000000000000..4884a733ecd1 --- /dev/null +++ b/pkgs/by-name/he/heroic/package.nix @@ -0,0 +1,24 @@ +{ + 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; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bf586e0e72d2..5f685ed79471 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1160,7 +1160,6 @@ 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 From 072a35019f44cae655d8d127367f90e8b5bbaf06 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 4 Oct 2025 18:01:41 +1300 Subject: [PATCH 5/5] gogdl: add maintainer --- pkgs/by-name/go/gogdl/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/go/gogdl/package.nix b/pkgs/by-name/go/gogdl/package.nix index b8c1d82f0b15..89485c76662a 100644 --- a/pkgs/by-name/go/gogdl/package.nix +++ b/pkgs/by-name/go/gogdl/package.nix @@ -32,6 +32,7 @@ python3Packages.buildPythonApplication rec { mainProgram = "gogdl"; homepage = "https://github.com/Heroic-Games-Launcher/heroic-gogdl"; license = with licenses; [ gpl3 ]; + maintainers = with maintainers; [ iedame ]; }; # Upstream no longer create git tags when bumping the version, so we have to