Compare commits

...
2 Commits
Author SHA1 Message Date
DamienandClaude Sonnet 5 6d9ec09ecb README : documente le workflow dconf dump/load pour personnaliser le bureau
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 11:18:49 +02:00
DamienandClaude Sonnet 5 ccae2984bc usagers : dconf.settings typé -> fichier dconf.ini brut chargé par home-manager
hosts/usagers/dconf.ini (nouveau) : même clé qu'avant (fond d'écran),
mais sous forme de fichier ini mis à jour par 'dconf dump' + commit
depuis une machine réelle, pas en retranscrivant à la main -- même
mécanisme que oreo. Prépare le terrain pour enrichir ce fichier plus
tard sans toucher au .nix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 11:17:52 +02:00
3 changed files with 35 additions and 10 deletions
+12
View File
@@ -319,6 +319,18 @@ IP qui changent tout le temps → un autre DHCP tourne déjà, repasser `standal
`pxe-server/` → le serveur PXE (dnsmasq + Caddy). `pxe-server/` → le serveur PXE (dnsmasq + Caddy).
## Personnaliser le bureau (dconf)
`hosts/usagers/dconf.ini` contient les réglages Cinnamon (thème, fond d'écran, panneau...), chargés par home-manager à chaque rebuild.
Pour changer un réglage : le faire en direct dans l'interface Cinnamon sur une machine, puis exporter :
```bash
dconf dump /org/cinnamon/ > dconf.ini
```
Remplacer `hosts/usagers/dconf.ini` par ce fichier, commit, push. Rien à changer dans le `.nix`.
## Pourquoi deux repos ## Pourquoi deux repos
Une machine de la flotte pull uniquement ce repo. Une machine de la flotte pull uniquement ce repo.
+21 -10
View File
@@ -199,21 +199,32 @@ in
warpinator warpinator
]; ];
# Fond d'écran par défaut (logo NixOS, pas la galerie perso de # dconf par utilisateur via home-manager, chargé depuis un fichier ini
# nixos_cinnamon). Suppose la config installée sur /etc/nixos (voir # brut (hosts/usagers/dconf.ini) plutôt que du dconf.settings typé --
# installer/install.sh). Réglé par utilisateur via home-manager # même mécanisme que oreo (nixos_users), pour la même raison : ça se
# (dconf.settings) plutôt que la base dconf système + activation # met à jour par un simple `dconf dump /org/cinnamon/ > dconf.ini` +
# script à la main qu'on avait avant -- home-manager génère le bon # commit depuis une machine réelle, pas en retranscrivant chaque clé à
# fichier et lance `dconf load` lui-même dans le bon contexte # la main en Nix. Seed minimal ici (juste le fond d'écran par défaut),
# utilisateur, plus besoin de gérer ça nous-mêmes. # à enrichir plus tard de la même façon.
home-manager.useGlobalPkgs = true; # partage le pkgs du système, pas de deuxième évaluation (RAM) home-manager.useGlobalPkgs = true; # partage le pkgs du système, pas de deuxième évaluation (RAM)
home-manager.backupFileExtension = "hm-backup"; # évite un échec si un fichier existe déjà (migration) home-manager.backupFileExtension = "hm-backup"; # évite un échec si un fichier existe déjà (migration)
home-manager.users.usagers = home-manager.users.usagers =
{ ... }: { pkgs, lib, ... }:
{ {
home.stateVersion = "26.05"; home.stateVersion = "26.05";
dconf.settings."org/cinnamon/desktop/background".picture-uri =
"file:///etc/nixos/hosts/common/wallpaper/Nix/13977413.png"; # DBUS_SESSION_BUS_ADDRESS / dbus-run-session : même logique que le
# module home-manager dconf.nix officiel (dconf a besoin d'un bus
# D-Bus pour écrire, on en lance un temporaire s'il n'y en a pas
# déjà un actif).
home.activation.usagersDconf = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
if [[ -v DBUS_SESSION_BUS_ADDRESS ]]; then
DCONF_DBUS_RUN_SESSION=""
else
DCONF_DBUS_RUN_SESSION="${pkgs.dbus}/bin/dbus-run-session --dbus-daemon=${pkgs.dbus}/bin/dbus-daemon"
fi
run $DCONF_DBUS_RUN_SESSION ${pkgs.dconf}/bin/dconf load / < ${../usagers/dconf.ini}
'';
}; };
# Reprend la config Firefox d'oreo (nixos_users/hosts/oreo/configuration.nix) # Reprend la config Firefox d'oreo (nixos_users/hosts/oreo/configuration.nix)
+2
View File
@@ -0,0 +1,2 @@
[org/cinnamon/desktop/background]
picture-uri='file:///etc/nixos/hosts/common/wallpaper/Nix/13977413.png'