./install.sh installs what is missing through apt, dnf, zypper or pacman, then Node of the .node-version major from nodejs.org, SHA-256 checked, outside the repository, then npm ci and Electron's binary, which its package no longer fetches at install; ldd refuses a missing library. ./install_dev.sh adds Playwright's Chromium, fonts, and podman on amd64. Under NixOS a pinned shell.nix provides Node, Electron and Chromium, which the browser tests then launch. Build-script tests run on Linux only, where § 16 builds. Checked: ten library tests, three mutations caught; local install. --- FR --- [ADD] installation : Node 26 et paquets du système, par famille et Nix ./install.sh installe ce qui manque par apt, dnf, zypper ou pacman, puis Node de la majeure de .node-version, de nodejs.org, somme SHA-256 vérifiée, hors du dépôt, puis npm ci et le binaire d'Electron, que son paquet ne télécharge plus à l'installation ; ldd refuse une bibliothèque absente. ./install_dev.sh ajoute le Chromium de Playwright, des polices, et podman sur amd64. Sous NixOS, un shell.nix épinglé fournit Node, Electron et Chromium, que lancent alors les épreuves du navigateur. Les épreuves du script de construction ne se jouent que sous Linux (§ 16). Vérifié : dix épreuves de la bibliothèque, trois mutations attrapées ; installation locale. Assisted-by: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EUXSGcwCLSC69FWEdCtWSb
43 lines
1.9 KiB
Nix
43 lines
1.9 KiB
Nix
# © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
#
|
|
# Environnement de développement sous NixOS : install.sh, run.sh et
|
|
# avec_node.sh s'y relancent d'eux-mêmes. Les binaires que les autres
|
|
# systèmes téléchargent — Node, Electron, le Chromium des épreuves —
|
|
# attendent un chargeur dynamique et des bibliothèques à des chemins que
|
|
# NixOS n'a pas ; ils viennent ici de nixpkgs. nixpkgs est épinglé par
|
|
# révision et par somme : l'environnement est le même sur toute machine, et
|
|
# ne dépend pas du canal du système.
|
|
#
|
|
# nix-shell scripts/installation/shell.nix
|
|
let
|
|
# nixos-26.05 : Node 26.10, Electron 43, Chromium 154.
|
|
nixpkgs = fetchTarball {
|
|
url = "https://github.com/NixOS/nixpkgs/archive/b25309931cfda5f0b8805f462a29897eeae50168.tar.gz";
|
|
sha256 = "1svxsx57g7x76cjsgpw5vvg0l194mshk57fdvdqqgd5xdy0ari58";
|
|
};
|
|
pkgs = import nixpkgs { };
|
|
# La majeure de Node vient de .node-version, seule source du projet.
|
|
majeure = builtins.replaceStrings [ "\n" "\r" " " ] [ "" "" "" ]
|
|
(builtins.readFile ../../.node-version);
|
|
in
|
|
pkgs.mkShell {
|
|
packages = [
|
|
pkgs."nodejs_${majeure}"
|
|
pkgs.electron
|
|
pkgs.chromium
|
|
pkgs.gnumake
|
|
pkgs.file
|
|
];
|
|
# Les scripts du projet savent par là qu'ils s'exécutent ici.
|
|
GTT_SHELL_NIX = "1";
|
|
# Le paquet npm electron lance le binaire de ce dossier au lieu du sien.
|
|
ELECTRON_OVERRIDE_DIST_PATH = "${pkgs.electron}/bin";
|
|
# Les épreuves du navigateur lancent ce Chromium : celui que télécharge
|
|
# Playwright ne démarre pas sous NixOS (vitest.config.js).
|
|
GTT_CHROMIUM = "${pkgs.chromium}/bin/chromium";
|
|
# Des polices pour Chromium et Electron, que les autres systèmes reçoivent
|
|
# d'install_dev.sh : un NixOS minimal n'en déclare aucune, et un texte s'y
|
|
# dessine sans largeur.
|
|
FONTCONFIG_FILE = pkgs.makeFontsConf { fontDirectories = [ pkgs.dejavu_fonts ]; };
|
|
}
|