summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorsils <sils@sils.li>2023-01-20 22:25:45 +0100
committersils <sils@sils.li>2023-01-20 22:25:45 +0100
commita39d46963efd6ec650b3d3be30d99828b4f3ff9a (patch)
tree3c8c83a45515d1f0f6310b999f46e3e28c60c24c
parentFix: revert changes in configuration.nix (diff)
parentMerge pull request 'server1_rust-motd' (#11) from server1_rust-motd into server1 (diff)
downloadnixos-server-a39d46963efd6ec650b3d3be30d99828b4f3ff9a.tar.gz
nixos-server-a39d46963efd6ec650b3d3be30d99828b4f3ff9a.zip
Merge branch 'server1' into server1_ssh
-rw-r--r--configuration.nix2
-rw-r--r--services/rust-motd.nix76
2 files changed, 78 insertions, 0 deletions
diff --git a/configuration.nix b/configuration.nix
index 5578afe..db99ca0 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -3,7 +3,9 @@
     ./hardware-configuration.nix
     ./packages.nix
     ./networking.nix # network configuration that just works
+
     ./services/minecraft.nix
+    ./services/rust-motd.nix
   ];
 
   boot.cleanTmpDir = true;
diff --git a/services/rust-motd.nix b/services/rust-motd.nix
new file mode 100644
index 0000000..6ff9367
--- /dev/null
+++ b/services/rust-motd.nix
@@ -0,0 +1,76 @@
+{
+  config,
+  pkgs,
+  ...
+}: {
+  programs.rust-motd = {
+    enable = true;
+    enableMotdInSSHD = true;
+    refreshInterval = "*:0/5"; # 0/5 means: hour 0 AND all hour wich match (0 + 5 * x) (is the same as: 0, 5, 10, 15, 20)
+    settings = {
+      global = {
+        progress_full_character = "=";
+        progress_empty_character = "-";
+        progress_prefix = "[";
+        progress_suffix = "]";
+        time_format = "%Y-%m-%d %H:%M:%S";
+      };
+
+      banner = {
+        color = "red";
+        command = "${pkgs.hostname}/bin/hostname | ${pkgs.figlet}/bin/figlet -f slant";
+        # if you don't want a dependency on figlet, you can generate your
+        # banner however you want, put it in a file, and then use something like:
+        # command = "cat banner.txt"
+      };
+
+      # [weather]
+      # url = "https://wttr.in/New+York,New+York?0"
+      # proxy = "http://proxy:8080"
+
+      # [service_status]
+      # Accounts = "accounts-daemon"
+      # Cron = "cron"
+
+      # [docker_status]
+      # Local containers MUST start with a slash
+      # https://github.com/moby/moby/issues/6705
+      #"/nextcloud-nextcloud-1" = "Nextcloud"
+      #"/nextcloud-nextcloud-mariadb-1" = "Nextcloud Database"
+
+      uptime = {
+        prefix = "Uptime:";
+      };
+
+      # [user_service_status]
+      # gpg-agent = "gpg-agent"
+
+      #s_s_l_certs = {
+      # sort_method = "manual"
+      #
+      #    certs = {
+      #    CertName1 = "/path/to/cert1.pem"
+      #    CertName2 = "/path/to/cert2.pem"
+      # }
+      #};
+
+      filesystems = {
+        root = "/";
+      };
+
+      memory = {
+        swap_pos = "beside"; # or "below" or "none"
+      };
+
+      fail2_ban = {
+        jails = ["sshd"]; #, "anotherjail"]
+      };
+
+      last_login = {
+      };
+
+      last_run = {
+      };
+    };
+  };
+}