Skip to content

Tarang74/.dotfiles

Repository files navigation

Dotfiles

This repository has my dotfiles and configuration files for various tools I use on Ubuntu. The commands in this README have been tested on a fresh installation of Ubuntu 24.04 and perform no destructive actions.

If you have already configured your system, ensure that you back up any existing configuration files before running any of the commands in this README.

Terminal Emulator

For WSL2 users on Windows, I recommend using the Windows Terminal app from the Microsoft Store as it is has a great UI and is very customisable.

For Linux and macOS users, I recommend using KiTTY.

Note that KiTTY only works on Linux and macOS, and the Windows Terminal does not support images in the terminal.

Pre-requisites

Before installing any packages, ensure that your system is up to date.

sudo apt update -y
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean -y

From AskUbuntu

Package Manager

I like using the Homebrew package manager as it organises packages and their dependencies in a single directory.

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

Make sure to install gcc and build-essentials as it's required by many packages. I've also included node as we'll need it for some packages later.

sudo apt install build-essential
brew install gcc
brew postinstall gcc
brew install node

Shell Configuration

Setup the Zsh shell and install some modern alternatives for common tools.

brew install zsh tmux bat eza zoxide neovim lua luarocks
brew install fd fzf ripgrep thefuck zip unzip git gh wget
brew install cowsay lolcat
npm i -g safe-rm

Set the default shell to Zsh and add it to the list of shells:

command -v zsh | sudo tee -a /etc/shells
sudo chsh -s "$(command -v zsh)" "${USER}"

Programming Languages

I use Rust and Python and have already configured my .zshrc file.

# Rustup (Rust)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Miniconda (Python)
mkdir -p ~/miniconda3
# can also replace MacOSX-arm64 with Linux-x86_64
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

Shell Customisation

Install Oh My Zsh and Starship, along with some useful plugins:

# Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --keep-zshrc
# Syntax highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Auto-suggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# Starship
curl -sS https://starship.rs/install.sh | sh
# Remove default zshrc
rm .zshrc .zshrc.pre-oh-my-zsh

Clone this repository using HTTP and copy all my configuration files:

# Work in a different directory to be safe
mkdir -p ~/downloads/
cd ~/downloads/

git clone https://www.github.com/Tarang74/.dotfiles
rm -rf .dotfiles/.git/

cp -r .dotfiles/.config/ ~/.config/
cp -r .dotfiles/.safe-rm/ ~/.safe-rm/
cp -r .dotfiles/.ssh/ ~/.ssh/

cp -r .dotfiles/.git* ~/
cp -r .dotfiles/.tmux.conf ~/
cp -r .dotfiles/.vimrc ~/
cp -r .dotfiles/.zshrc ~/

rm -rf .dotfiles/
cd ..

Install Themes

  • Catppuccin for bat:

    mkdir -p "$(bat --config-dir)/themes"
    wget -P "$(bat --config-dir)/themes" https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Mocha.tmTheme
    
    # Rebuild cache
    bat cache --build
  • Catppuccin for tmux:

    mkdir -p ~/.config/tmux/plugins/catppuccin
    git clone -b v2.1.3 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
  • Catppuccin for Neovim can be installed through Lazy.

  • Catppuccin for starship has already been included in this repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published