Actualiser modules/homed.nix

This commit is contained in:
2026-08-19 13:56:31 +02:00
parent 301e81f81a
commit d17a74691a
+22 -23
View File
@@ -1,37 +1,36 @@
{ ... }: { config, ... }:
{ {
# Active systemd-homed. # Active systemd-homed pour les comptes utilisateurs dont le home
# # est géré et chiffré individuellement.
# Les utilisateurs homed ne sont pas créés déclarativement dans Nix.
# Ils seront créés avec homectl afin de ne stocker aucun mot de passe,
# recovery key ou secret utilisateur dans Git / Nix store.
services.homed.enable = true; services.homed.enable = true;
# NixOS utilise des comptes nixbld avec des UID > 1000. # NixOS utilise des comptes nixbld avec des UID > 1000.
# # Dans notre architecture ce n'est pas un problème car nous créons
# systemd-userdb les considère donc comme faisant partie de la plage # explicitement les utilisateurs homed avec homectl.
# des utilisateurs réguliers et NixOS émet un avertissement.
#
# Dans notre architecture ce n'est pas problématique :
# nous n'utilisons pas la création automatique du premier utilisateur
# systemd-homed, puisque Alice est créée explicitement avec homectl.
services.userdbd.silenceHighSystemUsers = true; services.userdbd.silenceHighSystemUsers = true;
# Les utilisateurs systemd-homed utilisent normalement des UID élevés, # systemd-homed utilise des UID dans une plage élevée.
# dans la plage 60001-60513. # Il faut donc permettre à SDDM d'afficher ces utilisateurs.
#
# La limite SDDM doit donc être augmentée pour qu'Alice apparaisse
# dans la liste des utilisateurs.
#
# En contrepartie, les comptes nixbld (UID 30001-30032) entrent eux
# aussi dans cette plage. On les masque via leur shell nologin.
services.displayManager.sddm.settings = { services.displayManager.sddm.settings = {
Users = { Users = {
MinimumUid = 1000; MinimumUid = 1000;
MaximumUid = 60513; MaximumUid = 60513;
HideShells = "/run/current-system/sw/bin/nologin";
}; };
}; };
# IMPORTANT :
#
# Sur NixOS, les modules NSS externes (notamment libnss_systemd.so)
# ne sont pas disponibles par défaut dans le chemin de chargement
# du processus SDDM.
#
# NixOS fournit déjà ce chemin à nscd/nsncd via
# config.system.nssModules.path.
#
# On fournit le même chemin uniquement au display-manager afin que
# SDDM puisse énumérer les comptes systemd-homed avec getpwent().
systemd.services.display-manager.environment = {
LD_LIBRARY_PATH = config.system.nssModules.path;
};
} }