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