Skip to content

gravity182/dotfiles

Repository files navigation

Dotfiles

This is my dotfiles repo. I spent a lot of time optimizing my setup and especially the zsh setup. An ordinary zsh session starts in under ~110 ms.

Terminal & Shell Preview

The terminal of my choice is the brand new Windows Terminal. The color theme of my choice is Catppuccin (Mocha). I use it both for the terminal (you need to install it manually) and tmux (already configured).

What can be generated dynamically is generated dynamically during the bootstrap stage. This allows the repo to stay lightweight and guarantees you always get the up-to-date configuration. For instance, vim plugins and completion scripts are generated dynamically.

Basic overview of the essential utils I personally use daily:

  • zsh - shell. Configured to work in a vim mode
  • vim - editor. Comes with a bunch of useful plugins (inspect them all - .vim/plugins.vim)
  • tmux - terminal multiplexer
  • fzf - fuzzy finder
  • ripgrep - like grep but better
  • fd-find - like find but better
  • zoxide - like cd but better
  • bat - like cat but better
  • jq - json manipulation
  • delta - git diff pager
  • ncdu - file explorer

All of them are already preconfigured.

Quick start

Oneline installation:

/bin/bash -c "$(curl -sSfL https://raw.githubusercontent.com/gravity182/dotfiles/refs/heads/main/install.sh)"

The bootstrap scripts, which you can find in .config/yadm, will configure your shell and install all the required utils. I recommend you to look at the scripts yourself and adjust the setup to your liking before running. High chances are you don't need everything I use.

Prerequisites:

  • macOS: Xcode Command Line Tools, Homebrew, Git, curl, and rsync
  • Linux: apt-based distribution with sudo, Git, curl, and rsync

Pinned runtimes are managed by mise from ~/.config/mise/config.toml and locked by ~/.config/mise/mise.lock. The current host toolchain includes Node.js, Go, Rust, Java Corretto, and uv.

The Lima dev VM template is committed, including Docker socket forwarding, but the bootstrap only installs Lima tooling; it does not create or start the VM. Run vm-create dev or vm-dev after bootstrap when you want to provision it.

After the bootstrap script finishes the job, please log out and log in again. Now, when opening a terminal, you should see Zsh inside a Tmux window.

About

My dotfiles repo

Resources

Stars

Watchers

Forks

Contributors