From ccae2984bc0392f3945ec872910929d76b268ead Mon Sep 17 00:00:00 2001 From: Damien Date: Sat, 12 Sep 2026 11:17:52 +0200 Subject: [PATCH] =?UTF-8?q?usagers=20:=20dconf.settings=20typ=C3=A9=20->?= =?UTF-8?q?=20fichier=20dconf.ini=20brut=20charg=C3=A9=20par=20home-manage?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- hosts/common/default.nix | 31 +++++++++++++++++++++---------- hosts/usagers/dconf.ini | 2 ++ 2 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 hosts/usagers/dconf.ini diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 665885a..b59c98e 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -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) diff --git a/hosts/usagers/dconf.ini b/hosts/usagers/dconf.ini new file mode 100644 index 0000000..88f6d40 --- /dev/null +++ b/hosts/usagers/dconf.ini @@ -0,0 +1,2 @@ +[org/cinnamon/desktop/background] +picture-uri='file:///etc/nixos/hosts/common/wallpaper/Nix/13977413.png'