As a non-standard way of managing and installing dotfiles, I use this repo to easily install a cool and funky shell experience along with an awesome neovim
and tmux
(also with cool and funky config). This repo also carries Linux and MacOS config files for the Kitty
terminal (I recommend running Kitty with this suite). Overall, I also recommend using the Catppuccin theme.
Before installing the suite, install the Catppuccin theme with Mocha
configuration for your terminal. Then, install a nerd
font (I recommend JetBrains Mono Nerd Font).
This suite has been tested on and works for Debian & MacOS. (PS: MacOS requires brew
to be installed.)
First, install the basic tools →
# Linux
sudo apt install git zsh wget curl
# MacOS
brew install git zsh wget curl
Next, install oh my zsh as follows →
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh 2>/dev/null && sh install.sh
# after installtion completes and you're in new shell, clearup by running - rm install.sh
Next, execute the suite script using the direct command below to install all the other magic. You will need to enter the password whenever prompted.
# Linux
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Tanq16/cli-productivity-suite/master/install_zsh_linux.sh)"
# MacOS
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Tanq16/cli-productivity-suite/master/install_zsh_macos.sh)"
Finally, close the shell completely (close the terminal app or end the SSH session) and start a new instance.
tmux
is installed by default in the suite. Usett
to launch a default session. Check config for more commandsbat
, an alternative ofcat
with colored output is also installed by defaultaerospace
(only for MacOS) is also installed, but needs a couple extra steps →- Refer to bonus tips section below for some config tips
- Create a file at
$HOME/.aerospace.toml
and add the contents ofmacos.aerospaceconf
from this repo to that file - Start the app and allow the accessibility settings requested by it
- Modify the config as needed and apply by pressing
⌥+⬆+;
followed byescape
key
nvim
is installed with NvChad configuration, butnvim
needs a few small steps to get up and running smoothly →- First, run the Vim command
:MasonInstallAll
- Next, run Vim command
:Lazy sync
and exit - Start
nvim
once again and run:MasonInstallAll
- NeoVim doesn't allow setting a theme while headless, so use
<space>+th
and selectcatppuccin
to match the colorshceme with everything else
- First, run the Vim command
PS: bat
has pager enabled by default, which I disable in the shell rc-file using export BAT_PAGER=''
. To re-enable, delete that line in .zshrc
.
A handy shortcut in tmux
that I added is Alt + \
to split into two vertical panes and Alt + Shift + \
to split into two horizontal panes. Focus can be navigated among the split panes by using Shift + <arrow keys>
.
Pasting on a modified zsh
shell can be slow due to magic functions in oh-my-zsh
. I fixed this in the suite by commenting those functions in ~/.oh-my.zsh/lib/misc.zsh
. If you need to re-enable these, uninstall the suite, restart your terminal and comment the necessary sed
lines in the scripts before re-installing.
If something goes wrong or you you want to re-install, you can uninstall the suite using command below. Then, start from scratch again →
rm -rf $HOME/.oh-my-zsh $HOME/.fzf $HOME/.fzf.zsh $HOME/.tmux $HOME/.tmux.conf $HOME/.tmux-themepack $HOME/.vimrc $HOME/.viminfo $HOME/.vim $HOME/.config/nvim $HOME/.local/share/nvim $HOME/.zshrc
I like to disable all Keyboard shortcuts in MacOS except for screenshots. Additionally, I keep the following settings for some other configurations →
Only in Stage Manager
- Click wallpaper to reveal desktopOff
- Automatically rearrange Spaces based on most recent useOff
- When switching an application, switch to a Space with open windows for the applicationOn
- Group windows by applicationOn
- Displays have separate Spaces