Actualiser modules/homed.nix
This commit is contained in:
+22
-23
@@ -1,37 +1,36 @@
|
||||
{ ... }:
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
# Active systemd-homed.
|
||||
#
|
||||
# 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.
|
||||
# Active systemd-homed pour les comptes utilisateurs dont le home
|
||||
# est géré et chiffré individuellement.
|
||||
services.homed.enable = true;
|
||||
|
||||
# NixOS utilise des comptes nixbld avec des UID > 1000.
|
||||
#
|
||||
# systemd-userdb les considère donc comme faisant partie de la plage
|
||||
# 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.
|
||||
# Dans notre architecture ce n'est pas un problème car nous créons
|
||||
# explicitement les utilisateurs homed avec homectl.
|
||||
services.userdbd.silenceHighSystemUsers = true;
|
||||
|
||||
# Les utilisateurs systemd-homed utilisent normalement des UID élevés,
|
||||
# dans la plage 60001-60513.
|
||||
#
|
||||
# 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.
|
||||
# systemd-homed utilise des UID dans une plage élevée.
|
||||
# Il faut donc permettre à SDDM d'afficher ces utilisateurs.
|
||||
services.displayManager.sddm.settings = {
|
||||
Users = {
|
||||
MinimumUid = 1000;
|
||||
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;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user