The .zshrc file will be located in the users home directory, or ~/, and this user .zshrc file is where you’d place customizations to the z shell. Thus, the user .zshrc file will be in the following path location: ~/.zshrc If you have not yet manually created a .zshrc file, the file will not exist by default. You can create one with: touch ~/.zshrc If you had the following (using fake plugin names) in your .zshrc file: plugins=(first-plugin another-plugin third-doohickey favorite-thingy) While the following directories existed (notice the incorrect dash vs underline): 3 2. You can simply create .zshrc if it doesn't already exist. However, depending on what exactly you mean by "ssh shortcut", you may want to add some configuration to your .ssh/config file instead. This isn't necessarily something the shell needs to be concerned with. – chepner. and then, I changed the text like. ZSH_THEME="spaceship". then, I made .spaceship_config file and saved it (my home directory). As manual, I put. source ~/.spaceship_config. this code into .zshrc file but it didn't work like. source:12: no such file or directory: path blahblah. themes. zsh. That might indeed be worthy of a second question. But you can also add more debug output than just echo $(date) - you could also add pstree -pal to the log. You could also perhaps move the relevant scripting from .zshrc to .zsh_profile (presuming that's a thing) or modify your scripting to set an environment variable, and only run if it's not already set. For simplicity’s sake, you should use just one file. The common choice is .zshrc. Most tools you can download to configure zsh, such as ‘prezto’ or ‘oh-my-zsh’, will override or re-configure your .zshrc. You could consider moving your code to .zlogin instead. Since .zlogin is sourced after.zshrc it can override settings from .zshrc. The thing I made back in 2013 was an "extended" history file of my own devising where the pwd of the command in question is always logged. It could be optimized to a log for only when it changes, as well, since I track the tty/pty in that history too. But capturing all the metadata all the time has been working out very well for me. – fi. .zshrc and .bashrc are script files, not config files, so you "source" the alias file. In Zsh ( .zshrc) and Bash ( .bashrc) alike: will run my_alias and leave its effects in the same environment with the RC files, effectively giving you the aliases in the shell. Of course, your are not limited to aliases either. ylz1B.