diff --git a/nixos/layers/workstation.nix b/nixos/layers/workstation.nix
index 42b6cc1cebb1bbe826205d49618ea84546c5bcf8..d19a8cdbb9af7342dc4d9ebba82d3524da65a090 100644
--- a/nixos/layers/workstation.nix
+++ b/nixos/layers/workstation.nix
@@ -12,5 +12,10 @@
     spotify
     gimp
   ];
+
+  users.users.jens = {
+    packages = with pkgs; [ direnv ];
+  };
+
 }
 
diff --git a/nixos/layers/zsh.nix b/nixos/layers/zsh.nix
index 979adc4ffb88bbbd59eef67cf15c5a7b7c368391..5ff7766ae3a5cb7298bfa0d89b4b4db0bd0fc080 100644
--- a/nixos/layers/zsh.nix
+++ b/nixos/layers/zsh.nix
@@ -78,6 +78,11 @@ then
 	alias icat="kitty +kitten icat"
 fi
 
+if (( $+commands[direnv] ))
+then
+  eval "$(direnv hook zsh)"
+fi
+
 # "The time the shell waits, in hundredths of seconds, for another key to be pressed when reading bound multi-character sequences."
 # This is for vim-style multi-letter commands (<f><d> is mapped to <Esc>)
 KEYTIMEOUT=10