diff --git a/home/wezterm/default.nix b/home/wezterm/default.nix
new file mode 100644
index 00000000..4b987146
--- /dev/null
+++ b/home/wezterm/default.nix
@@ -0,0 +1,51 @@
+{...}: {
+  programs = {
+    wezterm = {
+      enable = true;
+
+      extraConfig =
+        /*
+        lua
+        */
+        ''
+          local config = wezterm.config_builder();
+
+          -- default stuff
+          config.disable_default_key_bindings = true;
+          config.enable_wayland = false;
+
+          -- theme & appearance
+          config.color_scheme = 'Dracula';
+          config.xcursor_theme = 'Dracula-cursors';
+
+          config.hide_tab_bar_if_only_one_tab = true;
+          config.window_background_opacity = 0.8;
+          config.window_padding = {
+            top = '10px',
+            right = '2px',
+            bottom = '10px',
+            left = 0,
+          };
+
+          -- disable ligatures
+          config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' };
+          config.font = wezterm.font('JetBrains Mono');
+
+          -- scrollback
+          config.enable_scroll_bar = true;
+          config.scrollback_lines = 3500;
+
+          config.keys = {
+            {
+              -- Spawn a window with from the cwd
+              key = 'Enter',
+              mods = 'SHIFT|CTRL',
+              action = wezterm.action.SpawnWindow,
+            },
+          };
+
+          return config;
+        '';
+    };
+  };
+}
diff --git a/modules/hyprland/packages.nix b/modules/hyprland/packages.nix
index 08dc8449..ca85075b 100644
--- a/modules/hyprland/packages.nix
+++ b/modules/hyprland/packages.nix
@@ -17,6 +17,7 @@ in {
       ../../home/foot.nix
       ../../home/mpv
       ../../home/obs.nix
+      ../../home/wezterm
       ../../home/wofi
 
       ({config, ...}: let