{ config, lib, self, ... }: let hostname = config.networking.hostName; domain = config.networking.domain or ""; fqdn = if domain != "" then "${hostname}.${domain}" else hostname; # Get commit hash (handles both clean and dirty trees) shortRev = self.shortRev or self.dirtyShortRev or "unknown"; # Format timestamp from lastModified (Unix timestamp) # lastModifiedDate is in format "YYYYMMDDHHMMSS" dateStr = self.sourceInfo.lastModifiedDate or "unknown"; formattedDate = if dateStr != "unknown" then "${builtins.substring 0 4 dateStr}-${builtins.substring 4 2 dateStr}-${builtins.substring 6 2 dateStr} ${builtins.substring 8 2 dateStr}:${builtins.substring 10 2 dateStr} UTC" else "unknown"; banner = '' #################################### ${fqdn} Commit: ${shortRev} (${formattedDate}) #################################### ''; in { users.motd = lib.mkDefault banner; }