diff --git a/setup.sh b/setup.sh
index a513e82..60855ea 100644
--- a/setup.sh
+++ b/setup.sh
@@ -754,6 +754,22 @@ function get_dropbear_hooks () {
     ln -s '/opt/git/quico.space/quico-os-setup/mkinitcpio-dropbear-pacman-hook/branches/main/pacman-mkinitcpio-dropbear-install.hook' '/usr/share/libalpm/hooks/pacman-mkinitcpio-dropbear-install.hook'
 }
 
+function customize_dropbear_hooks () {
+    local env_archzbm_ssh_port env_archzbm_ssh_keepalive_intvl
+    env_archzbm_ssh_port="${ARCHZBM_SSH_PORT:-22}"
+    env_archzbm_ssh_keepalive_intvl="${ARCHZBM_SSH_KEEPALIVE_INTVL:-1}"
+    if [[ "${env_archzbm_ssh_port}" -ne '22' ]] || [[ "${env_archzbm_ssh_keepalive_intvl}" -ne '1' ]]; then
+        paru_install 'rsync'
+        rsync -av '/opt/git/quico.space/quico-os-setup/mkinitcpio-dropbear-pacman-hook/branches/main/dropbear_hook'{,'.override'}'.patch'
+    fi
+    if [[ "${env_archzbm_ssh_port}" -ne '22' ]]; then
+        sed -ri -e 's'$'\x1''-p [[:digit:]]+'$'\x1''-p '"${env_archzbm_ssh_port}"''$'\x1''g' '/opt/git/quico.space/quico-os-setup/mkinitcpio-dropbear-pacman-hook/branches/main/dropbear_hook.override.patch'
+    fi
+    if [[ "${env_archzbm_ssh_keepalive_intvl}" -ne '1' ]]; then
+        sed -ri -e 's'$'\x1''-K [[:digit:]]+'$'\x1''-K '"${env_archzbm_ssh_keepalive_intvl}"''$'\x1''g' '/opt/git/quico.space/quico-os-setup/mkinitcpio-dropbear-pacman-hook/branches/main/dropbear_hook.override.patch'
+    fi
+}
+
 function we_want_ssh () {
     #2.10
     if  [[ "${ARCHZBM_NET_CLIENT_IP}" ]]       || \