44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
|
# 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.
|
||
|
|
||
|
![Alt text](motd.png)
|
||
|
|
||
|
Code TLDR
|
||
|
|
||
|
:simple-github:[/nixos/modules/nixos/system/motd](https://github.com/truxnell/nix-config/blob/462144babe7e7b2a49a985afe87c4b2f1fa8c3f9/nixos/modules/nixos/system/motd/default.nix])
|
||
|
|
||
|
Write a shell script using nix with a bash motd
|
||
|
|
||
|
```nix
|
||
|
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!
|
||
|
|
||
|
```nix
|
||
|
environment.systemPackages = [
|
||
|
motd
|
||
|
];
|
||
|
programs.fish.interactiveShellInit = ''
|
||
|
motd
|
||
|
'';
|
||
|
```
|