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>
This commit is contained in:
2026-09-12 11:17:52 +02:00
co-authored by Claude Sonnet 5
parent 618db31477
commit ccae2984bc
2 changed files with 23 additions and 10 deletions
+21 -10
View File
@@ -199,21 +199,32 @@ in
warpinator
];
# Fond d'écran par défaut (logo NixOS, pas la galerie perso de
# nixos_cinnamon). Suppose la config installée sur /etc/nixos (voir
# installer/install.sh). Réglé par utilisateur via home-manager
# (dconf.settings) plutôt que la base dconf système + activation
# script à la main qu'on avait avant -- home-manager génère le bon
# fichier et lance `dconf load` lui-même dans le bon contexte
# utilisateur, plus besoin de gérer ça nous-mêmes.
# dconf par utilisateur via home-manager, chargé depuis un fichier ini
# brut (hosts/usagers/dconf.ini) plutôt que du dconf.settings typé --
# même mécanisme que oreo (nixos_users), pour la même raison : ça se
# met à jour par un simple `dconf dump /org/cinnamon/ > dconf.ini` +
# commit depuis une machine réelle, pas en retranscrivant chaque clé à
# la main en Nix. Seed minimal ici (juste le fond d'écran par défaut),
# à 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.backupFileExtension = "hm-backup"; # évite un échec si un fichier existe déjà (migration)
home-manager.users.usagers =
{ ... }:
{ pkgs, lib, ... }:
{
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)