{ config, pkgs, ... }: { containers.vsftpd = { autoStart = true; config = { config, pkgs, ... }: { nixpkgs.overlays = [ (import ../overlays/vsftpd.nix) ]; services.vsftpd = { enable = true; forceLocalLoginsSSL = true; forceLocalDataSSL = true; userlistDeny = false; localUsers = true; userlist = ["claire" "manu"]; rsaCertFile = "/var/vsftpd/vsftpd.pem"; extraConfig = '' pasv_min_port=64000 pasv_max_port=65535 local_root=/mnt/medias ''; }; users.extraUsers = { claire = { isNormalUser = true; hashedPassword = "$6$Mu47EjsbNTewDkRp$XeQh6rcdvb3BUXzsGqekKImLTrMgnN0VyERoSbpI4rMPlx8oHM9NNeHZtfIiLEaZGtQ9otnbLa54jYse5Iwev1"; description = "Claire TREHIOU"; }; manu = { isNormalUser = true; hashedPassword = "$6$YGNIdGEclo$JcUotBS6hqlpENjjUeYhDjtrwxu10oARF4Nq4tEo072Sumr3Rl/w3ZXSHI5/3RxfvUMmJ4ulUVctBLhwrqP.g0"; description = "Emmanuel ZENNER"; }; }; }; bindMounts = { "/var/vsftpd/vsftpd.pem" = { hostPath = "/var/vsftpd/vsftpd.pem"; }; "/mnt/medias" = { hostPath = "/mnt/medias"; }; }; }; }