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:
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user