1{
2 config,
3 pkgs,
4 lib,
5 ...
6}:
7
8let
9 inherit (lib) mkEnableOption mkIf mkPackageOption;
10 cfg = config.services.realmd;
11in
12{
13 options.services.realmd = {
14 enable = mkEnableOption "realmd service for managing system enrollment in Active Directory domains";
15
16 package = mkPackageOption pkgs "realmd" { };
17 };
18
19 config = mkIf cfg.enable {
20 environment.systemPackages = [ cfg.package ];
21
22 services.dbus = {
23 enable = true;
24 packages = [ cfg.package ];
25 };
26
27 systemd.services.realmd = {
28 description = "Realm and Domain Configuration";
29 wantedBy = [ "multi-user.target" ];
30 partOf = [ "dbus.service" ];
31 requires = [ "dbus.service" ];
32 after = [
33 "network.target"
34 "dbus.service"
35 ];
36 serviceConfig = {
37 Type = "dbus";
38 BusName = "org.freedesktop.realmd";
39 ExecStart = "${cfg.package}/libexec/realmd";
40 RuntimeDirectory = "realmd";
41 };
42 };
43 };
44}