{ config, pkgs, ... }:
{
  containers.vsftpd = {
    autoStart = true;
    config =
      { config, pkgs, ... }:
      {
        services.vsftpd = {
          enable = true;
          forceLocalLoginsSSL = true;
          forceLocalDataSSL = true;
          userlistDeny = false;
          localUsers = true;
          userlist = ["claire" "manu" "lakeu" "fusil" "stryxion" "nico"];
          rsaCertFile = "/var/lib/acme/nyanlout.re/full.pem";
          localRoot = "/mnt/medias";
          extraConfig = ''
            pasv_min_port=64000
            pasv_max_port=65535
            pam_service_name=vsftpd
          '';
        };

        users.extraUsers = {
          claire = {
            isNormalUser = true;
            hashedPassword = "$6$DjEjaibh$cRoOEHH.CjUgXXwyVphgnOGMhD3AVjPtawQb9BxvNSmWNqfcxoNH.6HhdxYa7PM0y0yctYXjsAc.vnkIov/NA/";
            description = "Claire TREHIOU";
          };

          manu = {
            isNormalUser = true;
            hashedPassword = "$6$YGNIdGEclo$JcUotBS6hqlpENjjUeYhDjtrwxu10oARF4Nq4tEo072Sumr3Rl/w3ZXSHI5/3RxfvUMmJ4ulUVctBLhwrqP.g0";
            description = "Emmanuel ZENNER";
          };

          lakeu = {
            isNormalUser = true;
            hashedPassword = "$6$Y7Rohw3xMzCGp$DVTZVAQccBeM/iVUH1IOgkXUohWjTvujNuvekezWS3vdEm1BUxkYZqH2ECHj5DN.ZiGFjJHhBh7PpbE8GDxSz.";
            description = "Lakeu";
          };

          fusil = {
            isNormalUser = true;
            hashedPassword = "$6$HndxtEEO1w4$FC6rXf1h98tyt0Ay670iz1jbaNj8vKwH8BHYf3vsbSennA63r94x67I5KxmVOxOIEbIf55zIWFsM8GpyJ9K6Y/";
            description = "Fusil";
          };

          stryxion = {
            isNormalUser = true;
            hashedPassword = "$6$KZKwBLI6yGuvFg2Q$VCfSnhAacgxlxybTyuCDyNQ2InM8ppG3aa3Bw176TiNAX8tHWUpKesfI9YfcCoGAi1zSzA7b6uC8BmmfrQwg1.";
            description = "Stryxion";
          };

          nico = {
            isNormalUser = true;
            hashedPassword = "$6$.sMznhhJ0fG2qx$XevsEqsjlLAnu/VMgeA6B5YfWY36dUZXtUGiEgPueHzRcfAEi2UXLWRHqcN6AsW1AozepeAP6/lZW3fDAyULA1";
            description = "MAGENI";
          };

          sli = {
            isNormalUser = true;
            hashedPassword = "$6$ewTJHnkTpnw56$askXnJP9iX6.S5IgsSXvlcJA7ncLosPYVIw3TcOlRuK/z8UcFYqVlLX5uDJ.W6DiJ1Uk6FVfbL0jDL2ac22Mx0";
            description = "Sli";
          };
        };
      };
    bindMounts = {
      "/var/lib/acme/nyanlout.re" = {
        hostPath = "/var/lib/acme/nyanlout.re";
      };
      "/mnt/medias" = {
        hostPath = "/mnt/medias";
      };
    };
  };
}