summary refs log blame commit diff stats
path: root/system/services/rust-motd/default.nix
blob: 1a41b322b94fbe759687897d4d21416c03666961 (plain) (tree)
1
2
3
4
5



         







                                                            
                        
                            
                                                                                                                         






                                          
 
                



                                                                                       
        







                                                   
                       



                                                              

                           


                               


                               
                                                                         
          
 
                     

                            
        
 

                                                   
 
                   
                                           
 
                    

                        
        
 
                  
      
    
{
  config,
  pkgs,
  ...
}: {
  systemd.services.rust-motd = {
    path = builtins.attrValues {
      inherit
        (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)
    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 = {
          "server1.vhack.eu" = "/var/lib/acme/server1.vhack.eu/cert.pem";
          "vhack.eu" = "/var/lib/acme/vhack.eu/cert.pem";
        };
      };

      filesystems = {
        root = "/";
        persistent = "/srv";
        store = "/nix";
        boot = "/boot";
      };

      memory = {
        swap_pos = "beside"; # or "below" or "none"
      };

      fail2_ban = {
        jails = ["sshd"]; #, "anotherjail"]
      };

      last_login = {
        sils = 2;
        soispha = 2;
        nightingale = 2;
      };

      last_run = {
      };
    };
  };
}