I have just recently improved my terminal setup after learning how to use Tmux. It gave me a way to move faster between projects and even kept my session saved after machine shutdowns. My goal here is to help you configure an environment that will be both beautiful and functional. Let's get to it. What we will set up : a top-down terminal that can be instantaneously opened with a keystroke. Guake : an extended Bourne Shell (sh) with many improvements, powerful command-line editing options, and support for plugins and themes. Zsh an open-source, community-driven framework for managing your Zsh configuration. Oh-My-Zsh: : a theme for Zsh with interface helpers, such as git current branch and execution time. Powerlevel10k : an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. Tmux : a famous dark theme created by , a Brazilian developer. Dracula Theme Zeno Rocha Note: the following steps are done in Ubuntu. The same result can be achieved in MacOS with iTerm2 as the terminal. Install Guake When I worked with MacOS, I used , but now on Linux I am using as my default terminal. What I look for is to be able to open the command line in any monitor with a simple shortcut. iTerm2 Guake CTRL + SPACE So if you're on Ubuntu, just install it with . apt sudo apt install guake Choose your shortcut Go to Preferences → Keyboard Shortcuts and choose your key to Toggle Guake Visibility. Change your theme to Dracula is one of the most famous themes out there. I use it both my terminal and VSCode. Guake already comes with it pre-installed, so go to Preferences → Appearance and choose Dracula as a Built-in scheme. Dracula Other configs You might also want to change the transparency and height of the window. Check out their documentation for . more Zsh & Oh My Zsh Now, let's install Z shell in Ubuntu. sudo apt install zsh For other platforms, please check . this guide Set it as your default shell. chsh -s $( zsh) which You will have to logout for the changes to take effect. Again, in Guake go to Preferences → Shell and set your default interpreter to . Restart it and you should see the message below. /usr/bin/zsh Choose option 0. We will be setting this up with Oh My Zsh. Installing Oh My Zsh is a framework to manage your Zsh configuration, themes, plugins, and much more. Oh My Zsh sh -c " " $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) After the successful installation, you should see the screen below. You are now ready to install autocomplete and multiple plugins that will make your life easier. Check out the available plugins in the . documentation I suggest you start with the following: makes suggestions based on commands you have already made. zsh-autosuggestions: enables highlighting of commands while they are typed. zsh-syntax-highlighting: Clone both plugins to your OhMyZsh custom folder. ~/.oh-my-zsh/custom/plugins git https://github.com/zsh-users/zsh-autosuggestions.git git https://github.com/zsh-users/zsh-syntax-highlighting.git cd clone clone Now, edit your file to include them. ~/.zshrc plugins=( git zsh-autosuggestions zsh-syntax-highlighting ) Restart your Zsh with . source ~/.zshrc Now, if you start typing, you will see the suggestions and can press the to quickly autocomplete. right arrow key Powerlevel10k is a theme for Zsh. It emphasizes speed, flexibility, and out-of-the-box experience. Powerlevel10k Install the required fonts MesloLGS NF Regular.ttf MesloLGS NF Bold.ttf MesloLGS NF Italic.ttf MesloLGS NF Bold Italic.ttf Configure Guake by opening Preferences → Apperance. Then, uncheck "Use the system fixed width font" and select MesloLGS NF Regular. For more details check their guide . here Clone the repository git --depth=1 https://github.com/romkatv/powerlevel10k.git /themes/powerlevel10k clone ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom} Then, add powerlevel10k to ~/.zshrc ZSH_THEME= "powerlevel10k/powerlevel10k" Restart Zsh with and follow the configuration wizard. source ~/.zshrc Choose your preferred style on the following screens. Apply the changes to your and you're done. zshrc You will end up with a result like the one below. Tmux & Dracula Theme In this last section, we will be installing with . Tmux Dracula Theme sudo apt install tmux For other platforms, check . this guide Then run it. tmux new You will notice that we have lost the colors we had before. Let's bring them back with the next configs. Install to handle tmux plugins. tpm git https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm clone Edit and put this at the bottom. ~/.tmux.conf -g @plugin -g @plugin run # List of plugins set 'tmux-plugins/tpm' set 'tmux-plugins/tmux-sensible' # Other examples: # set -g @plugin 'github_username/plugin_name' # set -g @plugin 'git@github.com:user/plugin' # set -g @plugin 'git@bitbucket.com:user/plugin' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) '~/.tmux/plugins/tpm/tpm' Reload tmux environment tmux ~/.tmux.conf # type this in terminal if tmux is already running source Now, let's install Dracula Theme as a tpm plugin. Add the following to your file. ~/.tmux.conf -g @plugin -s default-terminal set 'dracula/tmux' # Set 256 colors set 'tmux-256color' Press (capital i) to install it. The default prefix is . <prefix> + I ctrl + b You can now quit tmux by typing and then create a new session with . You should now have Powerlevel10k running with Tmux and Dracula Theme. exit tmux new As an extra, install the following plugins to save and restore your tmux sessions at any time. -g @plugin -g @plugin set 'tmux-plugins/tmux-resurrect' set 'tmux-plugins/tmux-continuum' And now you should be ready to go! Quick commands: Split panes by pressing and . prefix + % prefix + " Kill panes by pressing . prefix + x Switch panes with . prefix + arrow Create new windows by pressing . prefix + c Switch windows by pressing . prefix + number Rename windows with prefix + , Zoom in and out a pane with prefix + z Detach with and reattach with . prefix + d tmux You can check out my configurations at: .tmux.conf .zshrc Please, leave a comment telling me what you think about this setup and if you know other ways I can improve it. :) Resources Guake: http://guake-project.org/ Oh My Zsh: https://github.com/ohmyzsh/ohmyzsh Powerlevel10k: https://github.com/romkatv/powerlevel10k Tmux: https://github.com/tmux/tmux/wiki Dracula Theme: https://draculatheme.com/tmux Previously published at https://andrebrandao.me/articles/terminal-setup-with-zsh-tmux-dracula-theme/ Disclaimer: The author provides this code and software “AS IS”, without warranty of any kind, express or implied, including but not limited to fitness for a particular purpose and non-infringement. In no event shall the author be liable for any claim, damages or other liability in connection with the software or code provided here