aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ru/rust-motd/module.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/ru/rust-motd/module.nix')
-rw-r--r--modules/by-name/ru/rust-motd/module.nix96
1 files changed, 0 insertions, 96 deletions
diff --git a/modules/by-name/ru/rust-motd/module.nix b/modules/by-name/ru/rust-motd/module.nix
deleted file mode 100644
index bf23843..0000000
--- a/modules/by-name/ru/rust-motd/module.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}: let
- cfg = config.vhack.rust-motd;
-
- # List all users that can login
- pred = n: v: (
- false # <- just here for neat formatting
- || v.initialHashedPassword != null
- || v.initialPassword != null
- || v.hashedPassword != null
- || v.hashedPasswordFile != null
- || v.password != null
- || v.passwordFile != null
- || v.openssh.authorizedKeys.keys != []
- || v.openssh.authorizedKeys.keyFiles != []
- );
- userList = builtins.mapAttrs (n: v: 2) (lib.filterAttrs pred config.users.users);
-
- bannerFile =
- pkgs.runCommandLocal "banner-file" {
- nativeBuildInputs = [pkgs.figlet];
- } ''
- echo "${config.system.name}" | figlet -f slant > "$out"
- '';
-in {
- options.vhack.rust-motd = {
- enable = lib.mkEnableOption "rust-motd";
- };
-
- config = lib.mkIf cfg.enable {
- systemd.services.rust-motd = {
- path = with pkgs; [
- bash
- fail2ban # Needed for rust-motd fail2ban integration
- ];
- };
-
- 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)
-
- # An example is here: https://raw.githubusercontent.com/rust-motd/rust-motd/refs/heads/main/example_config.toml
- settings = {
- global = {
- progress_full_character = "=";
- progress_empty_character = "-";
- progress_prefix = "[";
- progress_suffix = "]";
- time_format = "%Y-%m-%d %H:%M:%S";
- };
-
- banner = {
- color = "red";
- # Avoid some runtime dependencies.
- command = "cat ${bannerFile}";
- };
-
- cg_stats = {
- state_file = "/var/lib/rust-motd/cg_stats_state";
- threshold = 0.02; # When to start generating output for a cgroup
- };
- load_avg = {
- format = "Load (1, 5, 15 min.): {one:.02}, {five:.02}, {fifteen:.02}";
- };
-
- uptime = {
- prefix = "Uptime:";
- };
-
- filesystems = {
- root = "/";
- persistent = "/srv";
- store = "/nix";
- boot = "/boot";
- };
-
- memory = {
- swap_pos = "beside"; # or "below" or "none"
- };
-
- fail_2_ban = {
- jails = ["sshd"]; #, "anotherjail"]
- };
-
- last_login = userList;
-
- last_run = {};
- };
- };
- };
-}