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.