feat(nx/desktop): get electron to start on NixOS

This commit is contained in:
Elian Doran 2025-05-05 09:52:26 +03:00
parent f0c735e4fc
commit e94d8b5b47
No known key found for this signature in database
2 changed files with 10 additions and 3 deletions

View File

@ -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
}

View File

@ -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,
});
}