at 24.11-pre 1.1 kB view raw
1{ config, lib, pkgs, ... }: 2 3let 4 cfg = config.services.homed; 5in 6{ 7 options.services.homed.enable = lib.mkEnableOption '' 8 systemd home area/user account manager 9 ''; 10 11 config = lib.mkIf cfg.enable { 12 assertions = [ 13 { 14 assertion = config.services.nscd.enable; 15 message = "systemd-homed requires the use of systemd nss module. services.nscd.enable must be set to true,"; 16 } 17 ]; 18 19 systemd.additionalUpstreamSystemUnits = [ 20 "systemd-homed.service" 21 "systemd-homed-activate.service" 22 ]; 23 24 # This is mentioned in homed's [Install] section. 25 # 26 # While homed appears to work without it, it's probably better 27 # to follow upstream recommendations. 28 services.userdbd.enable = lib.mkDefault true; 29 30 systemd.services = { 31 systemd-homed = { 32 # These packages are required to manage encrypted volumes 33 path = config.system.fsPackages; 34 aliases = [ "dbus-org.freedesktop.home1.service" ]; 35 wantedBy = [ "multi-user.target" ]; 36 }; 37 38 systemd-homed-activate = { 39 wantedBy = [ "systemd-homed.service" ]; 40 }; 41 }; 42 }; 43}