home-manager : remplace la base dconf système + activation script par du per-user

- 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 <noreply@anthropic.com>
This commit is contained in:
2026-09-12 09:07:17 +02:00
co-authored by Claude Sonnet 5
parent 2cb72503d5
commit 980eb9d71b
2 changed files with 24 additions and 7 deletions
+10 -1
View File
@@ -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
];
};
+14 -6
View File
@@ -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