diff --git a/home-manager/modules/zsh.nix b/home-manager/modules/zsh.nix
index 6654cbed..b1f500aa 100644
--- a/home-manager/modules/zsh.nix
+++ b/home-manager/modules/zsh.nix
@@ -14,6 +14,11 @@
     };
 
     initExtra = ''
+      # Make Caps Lock behave like Ctrl.
+      setxkbmap -option ctrl:nocaps
+
+      # Make short-pressed Ctrl behave like Escape.
+      xcape -e 'Control_L=Escape'
 
       # Plugins
       source "''${ZPLUG_REPOS}/robbyrussell/oh-my-zsh/plugins/git/git.plugin.zsh"
diff --git a/system/pop-os.nix b/system/pop-os.nix
index c264a925..da30dd8c 100644
--- a/system/pop-os.nix
+++ b/system/pop-os.nix
@@ -17,6 +17,8 @@ in
   fonts.fontconfig.enable = true;
 
   home.packages = with pkgs; [
+    gnome.gnome-tweaks
     jetbrains-mono
+    xcape
   ];
 }