revert(home-manager): retour au profil standalone, herdr posé côté système

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.
This commit is contained in:
Hermes Agent
2026-09-27 21:21:00 -04:00
parent 3d0a16c93a
commit 3b6b531102
7 changed files with 57 additions and 26 deletions
-1
View File
@@ -59,7 +59,6 @@ in {
catppuccin = {
enable = true;
autoEnable = false; # test perf eval : desactive le scan/activation auto de tous les programmes HM
flavor = "mocha";
accent = "lavender";
cursors.enable = true;
+1 -2
View File
@@ -117,8 +117,7 @@
type = "Application";
};
in {
# overlay nur deplace au niveau systeme (profiles/tower/configuration.nix) :
# incompatible avec home-manager.useGlobalPkgs = true de le redefinir ici.
nixpkgs.overlays = [inputs.nur.overlays.default];
home.packages = [
(mkPWA {
+22
View File
@@ -0,0 +1,22 @@
# Config herdr (multiplexeur d'agents, github:ogulcancelik/herdr).
# But : voir le modele Hermes de chaque pane dans la sidebar, sans rien taper.
#
# Principe : le TUI hermes ecrit son titre OSC sous la forme
# <etat> <session> . <modele> . <cwd> (⚠ bloqué, ⏳ travaille, ✓ idle)
# herdr lit ce titre (il s'en sert deja pour l'etat blocked/working/done, cf
# ~/.local/state/herdr/agent-detection/remote/hermes.toml) et l'expose aux
# lignes de la sidebar via le token terminal_title_stripped.
[ui]
# Label d'agent sur les bordures de panes splittees (le titre du pane porte deja le modele).
show_agent_labels_on_pane_borders = true
# Titre ecrit dans le terminal hote : les barres d'onglets du WM suivent le pane actif.
window_title = "{hostname}: {workspace} · {terminal_title}"
# Rows par agent : par defaut herdr n'affiche pas le titre du terminal, seulement
# l'agent ("hermes"), ce qui ne dit pas quel modele tourne dans le pane.
[ui.sidebar.agents.rows_by_agent]
hermes = [
["state_icon", "machine", "tab"],
["terminal_title_stripped"],
["agent"],
]
+26
View File
@@ -0,0 +1,26 @@
{
config,
pkgs,
lib,
...
}: {
# --- herdr : config de marc posee par le systeme ---
# herdr (multiplexeur d'agents) n'a pas d'option NixOS ; sa config vit dans
# ~/.config/herdr/config.toml et sert a afficher le MODELE hermes de chaque
# pane dans la sidebar (cf modules/nixos/herdr/config.toml).
#
# Marc est en home-manager STANDALONE (users/marc/home.nix, `HM=marc just home`,
# que hermes n'active pas) : on pose donc le fichier cote systeme, sous forme de
# symlink vers le store, exactement ce que ferait xdg.configFile. Un `just nixos`
# suffit, sans attendre une generation home-manager.
# (Le module home-manager `programs.herdr` n'existe pas dans le home-manager
# epingle : xdg.configFile serait la seule alternative, meme mecanisme.)
#
# Effet a chaud : `herdr server reload-config` (ou relance du client). Le fichier
# est en lecture seule (store) : une edition manuelle de ~/.config/herdr/config.toml
# ne tient pas, c'est ce fichier-ci qui fait foi.
systemd.tmpfiles.rules = [
"d /home/marc/.config/herdr 0755 marc users -"
"L+ /home/marc/.config/herdr/config.toml - - - - ${./config.toml}"
];
}
+2 -3
View File
@@ -78,11 +78,10 @@ in {
nixpkgs.config.allowUnfree = true;
# nixpkgs.config.permittedInsecurePackages est un attrs "dernier gagne" :
# plusieurs modules (matrix-whatsapp, pangolin, packages.nix) le redefinissent
# chacun de leur cote et s'ecrasent silencieusement. useGlobalPkgs=true (tower)
# change l'ordre de merge et fait ressortir ce piege. Union explicite ici en
# chacun de leur cote et s'ecrasent silencieusement. Union explicite ici en
# attendant de centraliser pour de bon.
nixpkgs.config.permittedInsecurePackages = [
"libsoup-2.74.3" # scan fontconfig HM sous useGlobalPkgs
"libsoup-2.74.3"
"olm-3.2.16" # deps crypto mautrix (whatsapp/discord/...)
"pangolin-1.10.3"
"beekeeper-studio-5.3.4"
+6 -19
View File
@@ -7,27 +7,14 @@
imports = [
../../hosts/tower/disko.nix
../../hosts/laptop/hardware-configuration.nix
# config herdr de marc (~/.config/herdr/config.toml) : affiche le modele
# hermes de chaque pane dans la sidebar. Voir modules/nixos/herdr/.
# Posee cote systeme (symlink vers le store) : le build systeme (root) ne
# construit PAS la conf home-manager de marc, qui reste standalone
# (`HM=marc just home` / homeConfigurations.marc).
../../modules/nixos/herdr
];
# Profil home-manager de marc pilote par le SYSTEME sur tower : `just nixos`
# active ses dotfiles, dont ~/.config/herdr/config.toml (modules/home/herdr)
# qui fait afficher le modele hermes de chaque pane dans la sidebar herdr.
# Meme fichier que `HM=marc just home` : ne plus melanger les deux ici, le
# dernier switch ecrit les liens. Scope tower volontairement (le laptop n'est
# pas activable depuis ici) ; deplacer dans profiles/common pour l'etendre.
home-manager.users.marc = ../../users/marc/home.nix;
# 1re bascule standalone -> HM systeme : les fichiers presents qui ne sont pas
# des liens home-manager-files (ex. ancien symlink systemd.tmpfiles) sont
# deplaces en .hm-backup au lieu de faire echouer l'activation
# (check-link-targets sort sinon en exit 1).
home-manager.backupFileExtension = "hm-backup";
# Test perf : partager le pkgs systeme avec HM au lieu d'en reinstancier un
# (evalue/importe nixpkgs 2x sinon). L'overlay nur (utilise par zen-browser,
# ex modules/home/firefox|librewolf non actifs) doit alors vivre ici.
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
nixpkgs.overlays = [inputs.nur.overlays.default];
# Sessions hermes lancees par marc (panes herdr, HERMES_HOME partage, cf
# users/marc/home.nix) : elles ecrivent dans /var/lib/hermes/.hermes. Le
# groupe hermes (users.nix) plus les chmod g+rw du module hermes couvrent
-1
View File
@@ -66,7 +66,6 @@
../../modules/home/yt-collate
../../modules/home/youtube-music-cli
../../modules/home/geminicommit
../../modules/home/herdr
../../modules/home/backtest
../../modules/home/portfolio-optimizer