{ config, lib, pkgs, sources, ... }: let self = sources.self; formatDate = date: with lib.strings; let year = substring 0 4 date; month = substring 4 2 date; day = substring 6 2 date; hour = substring 8 2 date; minute = substring 10 2 date; second = substring 12 2 date; in "${year}-${month}-${day} ${hour}:${minute}:${second} UTC"; in { system.nixos.label = "${config.system.nixos.release}-haccfiles-${self.shortRev or self.dirtyShortRev}"; users.motd = '' Welcome to ${config.networking.hostName}, running NixOS ${config.system.nixos.release}! Built from haccfiles ${self.rev or self.dirtyRev}. Last commit was at ${formatDate self.lastModifiedDate}. ${if self ? dirtyRev then "\nPlease remember to commit your changes.\n" else ""} ''; # used by monit environment.etc."haccfiles-commit".text = self.rev or self.dirtyRev; environment.etc."haccfiles-timestamp".text = builtins.toString self.lastModified; }