forked from hacc/haccfiles
31 lines
945 B
Nix
31 lines
945 B
Nix
|
{ config, lib, pkgs, sources, ... }:
|
||
|
|
||
|
let
|
||
|
self = sources.self;
|
||
|
slice = string: start: length: with lib;
|
||
|
strings.concatStrings
|
||
|
(lists.take length
|
||
|
(lists.drop start
|
||
|
(strings.stringToCharacters string)));
|
||
|
|
||
|
formatDate = date:
|
||
|
let
|
||
|
year = slice date 0 4;
|
||
|
month = slice date 4 2;
|
||
|
day = slice date 6 2;
|
||
|
hour = slice date 8 2;
|
||
|
minute = slice date 10 2;
|
||
|
second = slice date 12 2;
|
||
|
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 ""}
|
||
|
'';
|
||
|
}
|