This repository has been archived on 2024-07-08. You can view files and clone it, but cannot push or open issues or pull requests.
nix-config-tn/docs/motd.md
Truxnell 9f7a144459
feat: adguard tweaks (#108)
* feat: adguard tweaks

* hacking docs

* chore: update zfs scrib int

* hack

* feat: warning for adguard schema mismatch

---------

Co-authored-by: Truxnell <9149206+truxnell@users.noreply.github.com>
2024-04-18 21:18:37 +10:00

1.6 KiB

Message of the day

Why not include a nice message of the day for each server I log into?

The below gives some insight into what the servers running, status of zpools, usage, etc. While not show below - thankfully - If a zpool error is found the status gives a full zpool status -x debrief which is particulary eye-catching upon login.

I've also squeezed in a 'reboot required' flag for when the server had detected its running kernel/init/systemd is a different version to what it booted with - useful to know when long running servers require a reboot to pick up new kernel/etc versions.

![Screenshot of message of the day prompt on login to server](../includes/assets/motd.png)
Message of the day

Code TLDR

:simple-github:/nixos/modules/nixos/system/motd

Write a shell script using nix with a bash motd of your choosing.

let
  motd = pkgs.writeShellScriptBin "motd"
    ''
      #! /usr/bin/env bash
      source /etc/os-release
      service_status=$(systemctl list-units | grep podman-)

      <- SNIP ->
      printf "$BOLDService status$ENDCOLOR\n"
    '';
in

This gets us a shells script we can then directly call into systemPackages - and after that its just a short hop to make this part of the shell init.

!!! note

Replace with your preferred shell!
environment.systemPackages = [
    motd
];
programs.fish.interactiveShellInit =  ''
    motd
'';