{ config, pkgs, lib, flakeRoot, ... }: let username = config.users.users.defaultUser or "henrov"; generatedZsh = "${flakeRoot}/generated/.config/zsh/.zshrc"; in { ################################# # Home Manager Zsh configuration ################################# _module.args.hmUsers = { ${username} = { programs.zsh = { enable = true; enableCompletion = true; # autocd = true; ohMyZsh = { enable = true; theme = ""; plugins = [ "git" "sudo" "extract" "colored-man-pages" "command-not-found" "history" "docker" "kubectl" ]; }; autosuggestions.enable = true; syntaxHighlighting.enable = true; }; # Use ~/.config/zsh as ZDOTDIR home.sessionVariables = { ZDOTDIR = "${config.home.homeDirectory}/.config/zsh"; }; # Deploy the generated .zshrc home.file.".config/zsh/.zshrc".source = generatedZsh; }; }; }