diff --git a/src/data.rs b/src/data.rs
index 309054234d7ad4cc6c1bf543570a7cec605d070d..d6cc58de648c55e009ff125a46b75824f02cd2aa 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -244,8 +244,20 @@ fn load_layout_data_with_fallback(
     //    .or_else(|| xdg::data_path("squeekboard/keyboards"));
     
     match variant {
-        ::data::ContentPurpose::Terminal => variant_path.push("/terminal"),   // terminal specific layouts
-        _ => variant_path = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(); // nothing to do
+        ::data::ContentPurpose::Normal = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Alpha = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Digits = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Number = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Phone = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Url = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Email = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Name = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Password = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Pin = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Date = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Time = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Datetime = env::var_os("SQUEEKBOARD_KEYBOARDSDIR").unwrap(),
+        ::data::ContentPurpose::Terminal =  => variant_path.push("/terminal"),   // terminal specific layouts
     }
     
     let mut variant_path_buf = PathBuf::new();