Skip to content

sameersheorey/dotfiles

Repository files navigation

dotfiles

Personal dotfiles for Ubuntu, managed with symlinks.

Prerequisites

Install everything below before running the symlinks.


Zsh

sudo apt install zsh
chsh -s $(which zsh)

Log out and back in after running chsh for the default shell change to take effect.


Oh My Zsh

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

Note: the installer will back up your existing .zshrc.


Powerlevel10k

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

ZSH Plugins

# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# fast-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

# fzf-tab
git clone https://github.com/Aloxaf/fzf-tab \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab

System packages

sudo apt install tmux direnv xclip vim
Package Why
tmux Auto-started by .zshrc on every new shell
direnv Shell hook loaded in .zshrc
xclip Used by the vi yank-to-clipboard binding

fzf

fzf is installed as a Vim plugin rather than via apt:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.vim/pack/vendor/start/fzf

Don't run the fzf install script — .fzf.zsh and .fzf.bash are already in your dotfiles and will be symlinked.


NVM

Loaded in both .zshrc and .bashrc, so required:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

SDKMAN

Loaded in both .zshrc and .bashrc, so required:

curl -s "https://get.sdkman.io" | bash

Nerd Font

Powerlevel10k requires a Nerd Font (the config uses nerdfont-v3).

wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf

Move the fonts into your local fonts directory and refresh the cache:

mkdir -p ~/.local/share/fonts
mv *.ttf ~/.local/share/fonts/
fc-cache -fv
  1. Set it as the font in your terminal emulator

  2. You may want to reconfigure Powerlevel10k

p10k configure

Setup

Once all prerequisites are installed, run the symlink script from the repo root:

bash ~/dotfiles/symlink.sh

Then open a new terminal. On first launch the shell will automatically attach to (or create) a tmux session named default.


Optional / situational

Tool Why
Oracle Instant Client Expected at /opt/oracle/instantclient_23_26 — only needed for Oracle DB
Docker Required for the dcl alias (docker compose -f docker-compose-linux.yaml)

About

dotfiles for my shell, editor and tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors