This repository contains customized configurations for a complete development environment, including Neovim, Fish, Zsh, Tmux, Zellij, and terminal emulators like Alacritty, WezTerm, and Kitty. You can choose between automatic and manual installation methods depending on your preference and operating system. Important: Windows users must follow the manual installation instructions before running the script.
The automatic installation script is the quickest and easiest way to set up your development environment. This script handles all the heavy lifting, but remember that you must install the font mentioned below before running it. The script is designed for macOS, Linux, and WSL systems. If you’re on Windows, you’ll need to follow the manual steps first before attempting to run this script.
curl -O https://raw.githubusercontent.com/Gentleman-Programming/Gentleman.Dots/main/install-linux-mac.sh
sudo chmod +x install-linux-mac.sh
bash ./install-linux-mac.sh
This script saves you time and eliminates common errors by automating your environment setup. Give it a try and let me know how it goes!
Important: Windows users must follow these manual installation steps before running the automated script.
WSL (Windows Subsystem for Linux) allows you to run Linux on Windows. Install it and set it to version 2:
wsl --install
wsl --set-default-version 2
Install a Linux distribution (e.g., Ubuntu) in WSL:
wsl --install -d Ubuntu
To list available distributions:
wsl --list --online
Install your preferred distribution:
wsl --install -d <distribution-name>
Open the installed distribution to complete setup. Update it with:
sudo apt-get update
sudo apt-get upgrade
Choose and install one of the following terminal emulators:
- Alacritty: Download from GitHub Releases and place
alacritty.exe
in yourPATH
. - WezTerm: Download and Install.
- Kitty: Download and Install.
Alacritty Configuration
mkdir %userprofile%\AppData\Roaming\alacritty
cp alacritty.toml %userprofile%\AppData\Roaming\alacritty\alacritty.toml
# Uncomment in alacritty.toml
[shell]
program = "wsl.exe"
args = ["--cd","~"]
WezTerm Configuration
cp .wezterm.lua %userprofile%
# Uncomment for Windows settings
# config.default_domain = 'WSL:Ubuntu'
# config.front_end = "WebGpu"
# config.max_fps = 120
Kitty Configuration
cp -r GentlemanKitty/* %userprofile%\.config\kitty
Choose and install one of the following terminal emulators:
-
Alacritty
brew install --cask alacritty
-
WezTerm
-
Kitty
brew install --cask kitty
Alacritty Configuration
cp alacritty.toml ~/.config/alacritty/alacritty.toml
WezTerm Configuration
cp .wezterm.lua ~/.config/wezterm/wezterm.lua
Kitty Configuration
cp -r GentlemanKitty/* ~/.config/kitty
Depending on your preference, you can configure either fish
or zsh
as your default shell.
-
Install Homebrew (if not installed)
Install Homebrew by running:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install Fish
brew install fish
-
Set Fish as the Default Shell
sudo sh -c "echo $(which fish) >> /etc/shells" sudo chsh -s $(which fish)
-
Install Fisher
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
-
Install PJ Plugin
fisher install PatrickF1/fzf.fish fisher install oh-my-fish/plugin-pj
-
Copy Fish Configuration
cp -r GentlemanFish/* ~/.config
-
Set Project Paths
Modify
PROJECT_PATHS
in~/.config/fish/config.fish
:set PROJECT_PATHS /your/work/path/
-
Install Homebrew (if not installed)
Install Homebrew by running:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install Zsh
brew install zsh
-
Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
Install Required Plugins
brew install zsh-autosuggestions zsh-syntax-highlighting zsh-autocomplete
-
Copy Zsh Configuration
cp .zshrc ~/
-
Set Project Paths
Modify
PROJECT_PATHS
in~/.zshrc
:export PROJECT_PATHS="/your/work/path/"
-
Set Zsh as the Default Shell
sudo sh -c "echo $(which zsh) >> /etc/shells" sudo chsh -s $(which zsh)
-
Apply Zsh Configuration
source ~/.zshrc
-
Install build-essentials for LINUX (for Linux and WSL)
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential
-
Install Starship
brew install starship
-
Install NVIM
brew install nvim
-
Install the following dependencies
brew install node npm git gcc fzf fd ripgrep coreutils bat curl lazygit
-
Install Iosevka Term Nerd Font
cp -r GentlemanNvim/nvim ~/.config
Restart Neovim to apply the changes.
-
Install Tmux
brew install tmux
-
Install TPM (Tmux Plugin Manager)
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
-
Copy Tmux Configuration
cp -r GentlemanTmux/.tmux ~/ cp GentlemanTmux/.tmux.conf ~/
-
Start Tmux and Load Configuration
tmux tmux source-file ~/.tmux.conf
-
Install Tmux Plugins
Inside a Tmux session, press
Ctrl + a
followed byShift + I
(capital I) to install the plugins. -
Start Tmux by Default
For Fish, go to ~/.config/fish/config.fish
:
# Uncomment Tmux Code
exec tmux
# Comment Zellij Code
# exec zellij
For Zsh, go to ~/.zshrc
:
# Uncomment Tmux Code
if [[ $- == *i* ]] && [[ -z "$TMUX" ]]; then
exec tmux
fi
# Comment Zellij Code
# exec zellij
1
. Install Zellij
brew install zellij
-
Copy Zellij Configuration
cp -r GentlemanZellij/zellij ~/.config
-
Choose the Default Shell
Go to ~/.config/zellij/config.kdl
:
# Uncomment the shell you want to use
default_shell "fish"
# default_shell "zsh"
- Start Zellij by Default
For Fish, go to ~/.config/fish/config.fish
:
# Comment Tmux Code
# exec tmux
# Uncomment Zellij Code
exec zellij
For Zsh, go to ~/.zshrc
:
# Comment Tmux Code
# exec tmux
# Uncomment Zellij Code
if [[ $- == *i* ]] && [[ -z "$ZELLIJ" ]]; then
exec zellij
fi
cp starship.toml ~/.config
You can choose between Kitty, WezTerm, or Alacritty as your terminal emulator. This repository provides configurations for all three, but it is recommended to use Alacritty.