This repository contains a collection of configuration files (dotfiles) to set up and customize your development environment. It includes configurations for various tools and applications such as Neovim, Tmux, Alacritty, Starship, and more. These dotfiles are designed to enhance productivity and streamline your workflow by providing a consistent and efficient setup across different systems.
- Neovim Configuration: Custom key mappings, plugins, and settings for an optimized coding experience.
- Tmux Configuration: Enhanced terminal multiplexing with custom key bindings and plugins.
- Alacritty Configuration: A fast, cross-platform terminal emulator with a customized appearance.
- Starship Prompt: A minimal, blazing-fast, and customizable prompt for any shell.
- Git Configuration: Aliases and settings to improve your Git workflow.
- Bash and Zsh Configurations: Custom aliases, environment variables, and functions for a more efficient shell experience.
-
Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/gregbugaj/dotfiles.git cd dotfiles
-
Make the Setup Script Executable: Ensure the setup script has execute permissions.
chmod +x setup.sh
-
Run the Setup Script: Execute the setup script to install and configure all necessary tools and applications.
./setup.sh
The setup script will automatically create symbolic links for the configuration files, install required packages, and set up your environment according to the configurations defined in this repository.
Make sure to update the submodules and install the necessary dependencies as described.
- Setup Starship
- Setup ZSH
- Install Auto Suggestions
- Install ZSH Syntax Highlighting
- Install Packages
- Install Fonts
- References
This is an optional package if you want to beautify your terminal. Else you can also use any other BASH/ZSH themes(modify setup.sh
to disable check)
You cannot install starship in ZSH shell at the time of writing this. You can switch to bash.
curl -sS https://starship.rs/install.sh | sh
This will guide you through to setup zsh suggestions and zsh syntax highlight.
echo "eval \"\$(starship init zsh)\"" >> ${ZSOTDIR:-$HOME}/.zshrc
- Clone the repository
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
You can change the path to anything you want. Here we use
~/.zsh/zsh-autosuggestions
- Add the invoke script to ZSH config
echo "source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZSOTDIR:-$HOME}/.zshrc
- Clone the repository
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
- Add the invoke script to ZSH config
echo "source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
Update submodules
git submodule update --init --recursive
Neovim - N
sudo apt-get install neovim
Tmux - Terminal Multiplexer
sudo apt-get install tmux
JQ - JSON Processor
sudo apt-get install jq
FZF - Fuzzy Finder
sudo apt-get install fzf
Ripgrep - Rg
sudo apt-get install ripgrep
Bat - Cat clone with wings
sudo apt-get install bat
MC - Midnight Commander
sudo apt-get install mc
BTOP - Resource Monitor
sudo apt-get install btop
TLDR
sudo apt-get install tldr
EZA - LS replacement
sudo apt-get install exaeza
JC - JSON CLI Processor
sudo apt-get install jc
zoxide - Directory Jump
sudo apt-get install zoxide
lazygit - Git GUI
sudo apt-get install lazygit
github cli
sudo apt-get install gh
Install extensions for copilot
- https://github.com/github/gh-copilot
- https://docs.github.com/en/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-the-cli#setting-up-aliases
Nerd Fonts - JetBrains Mono