Files
nixos/modules/home-mac/winnie/scripts/verify.sh
T
Hermes Agent 7498ea4971 feat(macos): setup nix-darwin pour builder l'app Winnie
L'app se build sur le Mac en trois commandes, le toolchain restant dans le
devShell du flake winnie (jamais installé sur le Mac) :
  cd ~/git/nixos && just mac   # déploie ce setup
  winnie-sync                  # attrape ~/git/winnie depuis tower (rsync ssh)
  winnie-ios                   # simulateur ; npm ci + tauri ios init au besoin

- modules/home-mac/winnie : winnie-doctor [--fix], winnie-sync [--delete],
  winnie-shell, winnie-front, winnie-macos, winnie-build-macos, winnie-ios,
  winnie-build-ios, winnie-verify. Scripts en writeShellApplication (shellcheck
  au build) ; scripts.nix est séparé du module pour être constructible depuis
  tower avec les pkgs linux et testable sans Mac.
- profiles/macos : flakes + trusted-users dans nix.conf, et
  system.activationScripts.winnie-xcode (xcode-select -s, licence Xcode,
  -runFirstLaunch) pour que seule l'installation App Store reste manuelle.
- Embarque aussi le setup SSH entrant du Mac (sshd, clé hermes@tower, tunnel
  inverse autossh) qui était déjà dans l'arbre de travail.

Vérifié depuis tower : nix eval du darwinConfigurations.macos (toplevel et
home-manager-generation) + build des scripts en x86_64-linux (shellcheck) et
rsync de bout en bout depuis le dépôt de tower.
2026-10-24 14:33:35 -04:00

30 lines
901 B
Bash

# Contrôles avant commit, dans l'ordre du projet : build du front (vite),
# svelte-check, puis cargo check du backend et de l'ingest.
# `npm run check` n'est pas appelé tel quel : son `tsc -p tsconfig.node.json`
# échoue sur TS2688 (Cannot find type definition file for 'node', @types/node
# absent de app/package.json), une dette antérieure au projet.
repo="$HOME/@REPO_REL@"
cd "$repo/app"
if [ ! -d node_modules ]; then
echo "[winnie-verify] npm ci"
npm ci
fi
echo "[winnie-verify] front : vite build"
npm run build
echo "[winnie-verify] front : svelte-check"
./node_modules/.bin/svelte-check --tsconfig ./tsconfig.app.json
cd "$repo"
echo "[winnie-verify] backend : cargo check"
cargo check --manifest-path backend/Cargo.toml
if [ -f ingest/Cargo.toml ]; then
echo "[winnie-verify] ingest : cargo check"
cargo check --manifest-path ingest/Cargo.toml
fi
echo "[winnie-verify] ok"