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'