diff --git a/scripts/Arch/Collections/personal.sh b/scripts/Arch/Collections/personal.sh
index f4f17a28..aedda3ab 100755
--- a/scripts/Arch/Collections/personal.sh
+++ b/scripts/Arch/Collections/personal.sh
@@ -42,6 +42,9 @@ yay --noconfirm -Syu \
 # rclone
 . "../Software/rclone/install.sh";
 
+# Firefox
+. "../Software/Firefox/install.sh";
+
 # Brave Browser
 yay --noconfirm -Syu \
     brave-bin \
diff --git a/scripts/Arch/Software/Firefox/install.sh b/scripts/Arch/Software/Firefox/install.sh
new file mode 100755
index 00000000..02b4bad9
--- /dev/null
+++ b/scripts/Arch/Software/Firefox/install.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+pushd "${BASH_SOURCE%/*}" > /dev/null;
+yay --noconfirm -Syu firefox;
+. "../../../Common/Config/Firefox/install.sh";
+popd > /dev/null;
diff --git a/scripts/Common/Config/Firefox/firefox.sh b/scripts/Common/Config/Firefox/firefox.sh
new file mode 100755
index 00000000..7c5d43db
--- /dev/null
+++ b/scripts/Common/Config/Firefox/firefox.sh
@@ -0,0 +1,5 @@
+if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
+    export MOZ_ENABLE_WAYLAND=1
+else
+    export MOZ_USE_XINPUT2=1
+fi
diff --git a/scripts/Common/Config/Firefox/install.sh b/scripts/Common/Config/Firefox/install.sh
new file mode 100755
index 00000000..405a045b
--- /dev/null
+++ b/scripts/Common/Config/Firefox/install.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+pushd "${BASH_SOURCE%/*}" > /dev/null;
+sudo cp ./firefox.sh /etc/profile.d/;
+popd > /dev/null;
\ No newline at end of file