From e94d8b5b47dcdc4c8d17641c16c9ba64550bb3bb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 5 May 2025 09:52:26 +0300 Subject: [PATCH] feat(nx/desktop): get electron to start on NixOS --- apps/desktop/package.json | 4 ++-- apps/desktop/scripts/rebuild.mts | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index aeee67e95..366dfd7ea 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -59,7 +59,7 @@ "cwd": "{projectRoot}" }, "nixos": { - "command": "electron-rebuild -f -v $(nix-shell -p electron_35 --run \"electron --version\") dist/main.js -m dist", + "command": "cross-env DEBUG=* tsx scripts/rebuild.mts $(nix-shell -p electron_33 --run \"electron --version\")", "cwd": "{projectRoot}" } } @@ -76,7 +76,7 @@ "cwd": "{projectRoot}/dist" }, "nixos": { - "command": "nix-shell -p electron_35 --run \"electron {projectRoot}/dist/main.js\"", + "command": "nix-shell -p electron_33 --run \"electron {projectRoot}/dist/main.js\"", "cwd": ".", "forwardAllArgs": false } diff --git a/apps/desktop/scripts/rebuild.mts b/apps/desktop/scripts/rebuild.mts index f76cacea5..70c599dcc 100644 --- a/apps/desktop/scripts/rebuild.mts +++ b/apps/desktop/scripts/rebuild.mts @@ -15,6 +15,10 @@ const scriptDir = dirname(fileURLToPath(import.meta.url)); const rootDir = join(scriptDir, ".."); function getElectronVersion() { + if (process.argv[2]) { + return process.argv[2]; + } + const packageJsonPath = join(rootDir, "package.json"); const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8")); return packageJson.devDependencies.electron; @@ -22,13 +26,16 @@ function getElectronVersion() { function main() { const distDir = join(rootDir, "dist"); + const electronVersion = getElectronVersion(); + + console.log(`Rebuilding with version ${electronVersion}...`); rebuild({ // We force the project root path to avoid electron-rebuild from rebuilding the monorepo-level dependency and breaking the server. projectRootPath: distDir, buildPath: distDir, force: true, - electronVersion: getElectronVersion(), + electronVersion, }); }