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.
Input brut hermes-menagerie (github:ZakiChair/hermes-catppuccin),
module home-mac/hermes-skins qui installe les palettes dans
~/.hermes/skins, active dans la home de marc@macos.
home-manager.useGlobalPkgs=true (test perf, évite d'évaluer nixpkgs 2x) est
revenu trop cher/instable en pratique. Retour à home-manager.users.marc
totalement désactivé côté système (profil standalone via `HM=marc just home`
uniquement). Conséquences :
- modules/home/gtk : catppuccin.autoEnable repasse à sa valeur par défaut
- modules/home/zen-browser : l'overlay nur revient dans son propre module
- profiles/common : commentaire nettoyé (n'a plus besoin d'expliquer le piège
useGlobalPkgs, qui ne s'applique plus)
- herdr : posé côté système (modules/nixos/herdr, symlink store ->
~/.config/herdr/config.toml) puisque le home-manager systeme ne construit
plus la conf de marc ; modules/home/herdr et son import dans
users/marc/home.nix restent (profil standalone), mais ne sont plus le
mécanisme actif sur tower.
Les sessions hermes ouvertes dans un pane herdr tournent sous marc, pas sous le
compte de service : HERMES_HOME=/var/lib/hermes/.hermes (users/marc/home.nix) pour
qu'elles lisent et écrivent le même état (sessions, mémoire, lazy-python) que le
service hermes-agent.
Accès : groupe secondaire hermes pour marc (users.nix) et ACL tmpfiles sur
/var/lib/hermes (traversée) puis .hermes et .hermes/plugins (rwx + défauts ACL),
pour que les fichiers créés par marc restent lisibles côté service. C'est ce qui
rend le plugin herdr-agent-state utilisable : il parle au socket herdr de marc.
herdr n'a ni option NixOS ni module home-manager dans l'input épinglé : sa config
(sidebar qui affiche le modèle hermes de chaque pane) passe par xdg.configFile dans
modules/home/herdr, importé par users/marc/home.nix. force = true car le premier
switch remplace le symlink posé avant par systemd.tmpfiles, que check-link-targets
ne reconnaît pas comme un fichier home-manager-files (activation en status 1 sinon).
tower active home-manager.users.marc = users/marc/home.nix, le même profil que
`HM=marc just home` : herdr et le reste des dotfiles arrivent avec `just nixos`.
backupFileExtension = hm-backup pour la première bascule. Entre `just nixos` et
`just home`, c'est le dernier switch qui écrit les liens.
Introduces a dedicated PostgreSQL database and schema for music data,
including playlists, tracks, and various analytical views. This service
is designed for importing Spotify playlists into YouTube Music.
Updates the codeberg-mcp dependency hash to SRI format. Refactors
home-manager package names for prettier and neovim-node-client.
Pin nixvim to nixos-26.05 by updating its nixpkgs input.
Configure time zone and disable automatic-timezoned service for the deck profile.
Add numerous CLI and GUI tools for the deck user via home-manager modules.
Include direnv setup and a desktop shortcut for returning to Gaming Mode.
Update home.stateVersion and set EDITOR/VISUAL variables.
Move shared system modules and settings from host-specific
configurations into `profiles/common/default.nix`.
Rename `profiles/laptop/packages.nix` and `profiles/laptop/user.nix`
to `profiles/common/packages.nix` and `profiles/common/user.nix`.
Simplify host-specific configurations and extract root user's
home-manager setup to `users/root/default.nix`.
Integrates the ironbar status bar with a comprehensive configuration,
custom styling for a hover-to-show effect, and a systemd user service
for automatic startup.
Introduce a new Home Manager module for ytui-music, including its
configuration and a wrapper script. Also adds Spotube (Flatpak),
ytermusic, ncspot, and spotify-player to user packages.
Introduces the tewi text-based torrent client.
Defines its Nix package, including the geoip2fast dependency,
and integrates it into the home-manager configuration for user marc.