/dotfiles

common configs

Primary LanguageShell

dotfiles

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.

Features

  • 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.

Getting Started

  1. Clone the Repository: Clone this repository to your local machine.

    git clone https://github.com/gregbugaj/dotfiles.git
    cd dotfiles
  2. Make the Setup Script Executable: Ensure the setup script has execute permissions.

    chmod +x setup.sh
  3. 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.

Table of Contents

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)

Install starship

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

Setup ZSH

This will guide you through to setup zsh suggestions and zsh syntax highlight.

Setup the config in ZSH file

echo "eval \"\$(starship init zsh)\"" >> ${ZSOTDIR:-$HOME}/.zshrc
  1. 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

  1. Add the invoke script to ZSH config
echo "source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZSOTDIR:-$HOME}/.zshrc
  1. Clone the repository
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
  1. Add the invoke script to ZSH config
echo "source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

Install packages

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

Install following fonts

Nerd Fonts - JetBrains Mono

References