Skip to content

Geudys/Gentleman.Dots

 
 

Repository files navigation

Gentleman.Dots

Description

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.

Installation (Automatic Recommended!)

The Easy Way! Test the automated process and let the script do all the work for you 😘

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!


Manual Installation

For Windows

Important: Windows users must follow these manual installation steps before running the automated script.

1. Install WSL

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

2. Install a Linux Distribution

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>

3. Launch and Configure the Distribution

Open the installed distribution to complete setup. Update it with:

sudo apt-get update
sudo apt-get upgrade

4. Install a Terminal Emulator

Choose and install one of the following terminal emulators:

5. Configuration Transfer for Terminal Emulators

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

For macOS/Linux/WSL

Step 1: Install a Terminal Emulator

Choose and install one of the following terminal emulators:

  • Alacritty

    brew install --cask alacritty
  • WezTerm

    Download and Install.

  • Kitty

    brew install --cask kitty

Step 2: Configuration Transfer for Terminal Emulators

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

Shared Steps (for macOS, Linux, or WSL)

Step 3: Shell Configuration (Fish and Zsh)

Depending on your preference, you can configure either fish or zsh as your default shell.

Fish Configuration
  1. Install Homebrew (if not installed)

    Install Homebrew by running:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Fish

    brew install fish
  3. Set Fish as the Default Shell

    sudo sh -c "echo $(which fish) >> /etc/shells"
    sudo chsh -s $(which fish)
  4. Install Fisher

    curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
  5. Install PJ Plugin

    fisher install PatrickF1/fzf.fish
    fisher install oh-my-fish/plugin-pj
  6. Copy Fish Configuration

    cp -r GentlemanFish/* ~/.config
  7. Set Project Paths

    Modify PROJECT_PATHS in ~/.config/fish/config.fish:

    set PROJECT_PATHS /your/work/path/
Zsh Configuration
  1. Install Homebrew (if not installed)

    Install Homebrew by running:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Zsh

    brew install zsh
  3. Install Oh My Zsh

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  4. Install Required Plugins

    brew install zsh-autosuggestions zsh-syntax-highlighting zsh-autocomplete
  5. Copy Zsh Configuration

    cp .zshrc ~/
  6. Set Project Paths

    Modify PROJECT_PATHS in ~/.zshrc:

    export PROJECT_PATHS="/your/work/path/"
  7. Set Zsh as the Default Shell

    sudo sh -c "echo $(which zsh) >> /etc/shells"
    sudo chsh -s $(which zsh)
  8. Apply Zsh Configuration

    source ~/.zshrc

Step 4: Additional Configurations

Dependencies Install
  1. Install build-essentials for LINUX (for Linux and WSL)

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential
  2. Install Starship

    brew install starship
  3. Install NVIM

    brew install nvim
  4. Install the following dependencies

    brew install node npm git gcc fzf fd ripgrep coreutils bat curl lazygit
  5. Install Iosevka Term Nerd Font

    Download and install the Iosevka Term Nerd Font

Neovim Configuration
cp -r GentlemanNvim/nvim ~/.config

Restart Neovim to apply the changes.

Tmux Configuration
  1. Install Tmux

    brew install tmux
  2. Install TPM (Tmux Plugin Manager)

    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  3. Copy Tmux Configuration

    cp -r GentlemanTmux/.tmux ~/
    cp GentlemanTmux/.tmux.conf ~/
  4. Start Tmux and Load Configuration

    tmux
    tmux source-file ~/.tmux.conf
  5. Install Tmux Plugins

    Inside a Tmux session, press Ctrl + a followed by Shift + I (capital I) to install the plugins.

  6. 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
Zellij Configuration

1

. Install Zellij

brew install zellij
  1. Copy Zellij Configuration

    cp -r GentlemanZellij/zellij ~/.config
  2. Choose the Default Shell

Go to ~/.config/zellij/config.kdl:

# Uncomment the shell you want to use
default_shell "fish"
# default_shell "zsh"
  1. 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
Starship Configuration
cp starship.toml ~/.config

Note on Terminal Emulators

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.

About

My personal configuration for LazyVim !

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 62.4%
  • Lua 37.6%