anchor.diff:          source ${zdotdir}/.zshenv
         '';
       })
  +
       (mkIf cfg.oh-my-zsh.enable {
         # Oh-My-Zsh calls compinit during initialization,
         # calling it twice causes sight start up slowdown
         # as all $fpath entries will be traversed again.
         programs.zsh.enableCompletion = mkForce false;
       })
  +
       (mkIf (cfg.plugins != []) {
         # Many plugins require compinit to be called
         # but allow the user to opt out.
  
positive.code:         ${aliasesStr}
        '';
      }
      (mkIf (cfg.dotDir != null) {
        programs.zsh.sessionVariables.ZDOTDIR = zdotdir;
  
  
negative.code:         ++ optional cfg.enableCompletion nix-zsh-completions
          ++ optional cfg.oh-my-zsh.enable oh-my-zsh;
  
        programs.zsh.sessionVariables = {
          HISTSIZE = cfg.history.size;
          HISTFILE = "$HOME/" + cfg.history.path;
        };
  
        home.file."${relToDotDir ".zshenv"}".text = ''
          ${envVarsStr}
        '';
  
        home.file."${relToDotDir ".zshrc"}".text = ''
          setopt HIST_FCNTL_LOCK
          ${if cfg.history.ignoreDups then "setopt" else "unsetopt"} HIST_IGNORE_DUPS
          ${if cfg.history.share then "setopt" else "unsetopt"} SHARE_HISTORY
  