I can "unbloat" Systemd?

My point is that there really isn’t that much and you would be better off looking elsewhere for savings.

The only piece of software shipped by the systemd project that I personally consider unfit for purpose is systemd-timesyncd. Swapping that out for an NTP client maintained by people who take the challenges of time synchronization seriously is as simple as

  services.timesyncd.enable = false;
  services.chrony.enable = true;

  # work around https://github.com/NixOS/nixpkgs/issues/445035
  systemd.tmpfiles.rules = lib.mkAfter [
    "z ${config.services.chrony.directory}/chrony.keys 0640 root chrony - -"
  ];

I do not know whether this is a net win or lose on memory consumption.

Because of https://www.openwall.com/lists/oss-security/2025/12/28/4 I also strongly recommend

  systemd.generators.systemd-ssh-generator = "/dev/null";
  systemd.sockets.sshd-unix-local.enable = lib.mkForce false;
  systemd.sockets.sshd-vsock.enable = lib.mkForce false;

on any system that has sshd enabled, but again, this is not because of memory costs.

9 Likes