From 221283e8e8a9c3b343f5999805cf2080e66c21d3 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 3 Mar 2025 06:46:20 +0800 Subject: [PATCH] core: use nix profile command to list profiles --- packages/hydrooj/src/loader.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/hydrooj/src/loader.ts b/packages/hydrooj/src/loader.ts index d4482a2bc..74d8e407d 100644 --- a/packages/hydrooj/src/loader.ts +++ b/packages/hydrooj/src/loader.ts @@ -31,10 +31,11 @@ const HYDROPATH = []; if (process.env.NIX_PROFILES) { try { - const result = JSON.parse(child.execSync('nix-env -q --json --out-path --meta').toString()) as Record; - for (const derivation of Object.values(result)) { - if (derivation.name.startsWith('hydro-plugin-') && derivation.outputs?.out) { - HYDROPATH.push(derivation.outputs.out); + const result = JSON.parse(child.execSync('nix profile list --json').toString()) as any; + for (const [name, derivation] of Object.entries(result.elements) as any) { + if (!derivation.active) continue; + if (name.startsWith('hydro-plugin-') && derivation.storePaths) { + HYDROPATH.push(...derivation.storePaths); } } } catch (e) {