From 980eb9d71b2336fa8f77c7213b097f76ce56b8df Mon Sep 17 00:00:00 2001 From: Damien Date: Sat, 12 Sep 2026 09:07:17 +0200 Subject: [PATCH] =?UTF-8?q?home-manager=20:=20remplace=20la=20base=20dconf?= =?UTF-8?q?=20syst=C3=A8me=20+=20activation=20script=20par=20du=20per-user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - flake.nix : ajoute l'input home-manager (release-26.05, même branche que nixpkgs, confirmé qu'elle existe), importe home-manager.nixosModules.home-manager sur le profil usagers - hosts/common/default.nix : le fond d'écran par défaut passe par home-manager.users.usagers.dconf.settings au lieu de environment.etc."dconf/db/local.d/..." + system.activationScripts dconfUpdate -- home-manager gère lui-même le contexte utilisateur et le rechargement dconf - useGlobalPkgs = true : partage le pkgs du système, pas de deuxième évaluation nixpkgs (RAM, PC à 4 Go) - backupFileExtension : évite un échec d'activation si un fichier existant est dans le chemin (migration sur machine déjà installée) ATTENTION : flake.lock est maintenant périmé (nouvel input non verrouillé) -- nix flake lock à relancer avant déploiement. Co-Authored-By: Claude Sonnet 5 --- flake.nix | 11 ++++++++++- hosts/common/default.nix | 20 ++++++++++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 2c66d48..724ceea 100644 --- a/flake.nix +++ b/flake.nix @@ -7,16 +7,25 @@ url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; + # Même branche release-26.05 que nixpkgs (confirmé : la branche existe + # bien sur nix-community/home-manager). Gère les réglages Cinnamon par + # utilisateur (dconf, fichiers dans $HOME) à la place des scripts + # d'activation système à la main qu'on avait avant. + home-manager = { + url = "github:nix-community/home-manager/release-26.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = - { self, nixpkgs, disko, ... }: + { self, nixpkgs, disko, home-manager, ... }: { nixosConfigurations = { usagers = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ disko.nixosModules.disko + home-manager.nixosModules.home-manager ./hosts/usagers/configuration.nix ]; }; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 973c00e..665885a 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -201,12 +201,20 @@ in # 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). - environment.etc."dconf/db/local.d/00-background".text = '' - [org/cinnamon/desktop/background] - picture-uri='file:///etc/nixos/hosts/common/wallpaper/Nix/13977413.png' - ''; - system.activationScripts.dconfUpdate.text = "${pkgs.dconf}/bin/dconf update"; + # 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. + 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 = + { ... }: + { + home.stateVersion = "26.05"; + dconf.settings."org/cinnamon/desktop/background".picture-uri = + "file:///etc/nixos/hosts/common/wallpaper/Nix/13977413.png"; + }; # Reprend la config Firefox d'oreo (nixos_users/hosts/oreo/configuration.nix) # -- c'est elle qui tue la page d'accueil/configuration au premier