{ config, pkgs, lib, ... }: let generatedZsh = "${config.home.file.".config/zsh/.zshrc".source}"; in { programs.zsh = { enable = true; enableCompletion = true; ohMyZsh = { enable = true; theme = ""; plugins = [ "git" "sudo" "extract" "colored-man-pages" "command-not-found" "history" "docker" "kubectl" ]; }; autosuggestions.enable = true; syntaxHighlighting.enable = true; }; # Set ZDOTDIR globally in the user environment home.sessionVariables = { ZDOTDIR = "${config.home.homeDirectory}/.config/zsh"; }; # Place the generated .zshrc file there home.file.".config/zsh/.zshrc".source = generatedZsh; }