Skip to content

Repository files navigation


stars       



"your terminal is where you live. make it beautiful."



          zsh  ·  vscode  ·  kitty  ·  starship  ·  git  · gh · uSql


⚡ one command. everything.


git clone https://github.com/GourangaDasSamrat/dotfiles.git ~/dotfiles
cd ~/dotfiles/scripts && ./install.sh

detects your os · installs every tool · symlinks every config · done


want control? ./setup.sh lets you pick exactly what to run.



🐚 shell

built around fzf. everything has a live preview. every command feels intentional.


   command    what it does
ls eza — icons, git status, long format. no flags needed
tab fzf-tab — fuzzy search with live previews while you type
mkdir asks to git init, creates README, makes the first commit
rm shows what dies. asks before it runs
extract detects and unpacks any archive format. just point at it
compress fzf menu picks the format. then it compresses
serve python http server with port conflict detection
backup timestamped .tar.gz of anything. one command
env-save encrypts .env into pass at any custom path. multi-line safe
env-load pulls secrets from pass into .env or any custom filename
lock-vault clears GPG agent cache immediately. locks your secret store
dzw Use dzw [key] domain.com to perform a filtered WHOIS lookup, either via a predefined server key or the default system server.
isup checks if a site is live. follows redirects and handles connection errors gracefully
inspect deep-dives into headers. extracts server info, security headers, and content types
myip fetches public info and show IP address, city, region, and ISP
t show timestamps before log
expose expose localhost port on internet using slim tunnel


🪟 tmux

catppuccin macchiato · live weather in the status bar sessions that survive reboots


  prefix      ctrl+a            splits        |  and  -
  navigate    h · j · k · l     windows       alt + 1–5
  mouse       on                persist       auto-save every 5 min

tmux-resurrect + tmux-continuum restore your exact layout, panes, and working directories after every reboot.



🖥️ vs code

six language profiles · italic keywords · ligatures · snippets


profile formatter
frontend prettier + eslint
backend prettier + eslint
c / c++ clangd
go gopls + goimports
database prettier-sql
wiki prettier
rust rust-analyzer

font stack → Operator Mono · Cartograph CF · JetBrains Mono — with italic keywords and full ligatures.

snippets for C++ (main, competitive programming, leetcode template) and Go (main, package, iferr, interface).



🔧 git

conventional commits enforced · clean aliases · nothing slips through


a commit-msg hook blocks any message that doesn't match type(scope): subject. you get a clear error, valid types, and examples — every time. a pre-push hook blocks push without password, you can expose the password on you shell script nameed with ,GIT_PUSH_PASS.


git lg           # pretty graph log
git today        # commits since midnight
git yesterday    # yesterday's commits
git mine         # your commits only
git undo         # soft reset the last commit
git unstage      # unstage all staged files
git last         # full detail of the last commit


🔧 github cli

clean aliases · nothing slips through


# --- Present (Current Activity) ---
gh today              # Every commit with timestamps since midnight (all repos)
gh today-summary      # Repo-wise summary + total commit count for today
gh today-stats        # Full profile-style contributions for today
gh this-month-summary # Accurate monthly report (handles 1000+ commits)
gh this-month-stats   # Full profile-style contributions for this month
gh this-year-summary  # Total commits this year (handles 1200+ accurately)
gh this-year-stats    # Full profile-style contributions for this year
gh this-year-languages # Top 5 languages used this year (by bytes)
gh streak             # Calculate your current and longest commit streak

# --- Past (Historical Activity) ---
gh yesterday          # Every commit with timestamps from yesterday (all repos)
gh yesterday-summary  # Repo-wise summary + total commit count for yesterday
gh yesterday-stats    # Full profile-style contributions for yesterday
gh last-month-summary # Accurate monthly report for previous month
gh last-month-stats   # Full profile-style contributions for last month
gh last-year-summary  # Full contribution summary for the previous year
gh last-year-stats    # Full profile-style contributions for last year
gh last-year-languages # Top 5 languages used in the previous year

# --- Utilities ---
gh prs                # Your PRs in the current repo with status
gh open               # Open the current repo in your default browser
gh co                 # Interactive PR checkout


🎨 terminal & prompt

kitty · starship


Starship — two-line prompt. directory + git on line one. language modules inline — node, go, python, rust, java, and more. shows vs code version in any directory.



📦 what gets installed


dev essentials git · gh · git-lfs · build-essential · stow · jq · httpie
terminal utilities starship · curl · wget · whois · pass · openssl · moreutils
shell & files zsh · eza · bat · fzf · fd · ripgrep
editors & tools helix · alacritty · mpv
code formatters shfmt · just
shell plugins oh-my-zsh · autosuggestions · syntax-highlighting · fzf-tab
tmux plugins tpm · catppuccin · resurrect · continuum
go tools (opt) goimports · gopls · golangci-lint · govulncheck · gotests · air · goreleaser · usql · slim · eget · sheets · roumon
python tools (opt) ytm-player (via uv)
rust tools (opt) cargo-watch · cargo-cache · cargo-dist · cargo-modules


🏗️ scripts architecture


Quick Start

# automated — install everything
./install.sh

# interactive — choose what to run
./setup.sh

Folder Structure

scripts/
├── install.sh              full automated setup (runs lib/ scripts)
├── setup.sh                interactive menu — pick and choose
│
├── lib/                    modular setup scripts (standalone)
│   ├── softwares.sh        install base tools & language runtimes
│   ├── plugins.sh          oh-my-zsh · tpm · zsh & tmux plugins
│   ├── wallpapers.sh       clone wallpapers repository
│   ├── fonts.sh            use apples's font on linux
│   └── dotfiles.sh         symlink configs with gnu stow
│
├── sdk-tools/              optional language-specific installers
│   ├── cargo-tools.sh      rust cli tools (cargo-watch, cargo-cache, etc.)
│   ├── go-tools.sh         go dev tools (gopls, golangci-lint, goreleaser, etc.)
│   └── uv-tools.sh         python cli tools via uv package manager
│
├── utils/
│   └── detect.sh           os · package manager · sudo detection
│
└── config/
    └── wallpapers.url      wallpapers repository url

Every script in lib/ and sdk-tools/ runs standalone. Source only what you need.



Usage Modes


./install.sh — Full automated setup

  • runs lib/softwares.sh → base tools + language runtimes
  • runs lib/plugins.sh → shell plugins
  • runs lib/wallpapers.sh → wallpapers repo
  • runs lib/fonts.sh → apple fonts
  • runs lib/dotfiles.sh → symlink configs
  • ⏭️ skips optional sdk-tools

./setup.sh — Interactive menu

  • displays all available scripts (lib/ + sdk-tools/)
  • you choose which ones to run
  • includes optional language tools (Go, Rust, Python)

Optional Language Tools — Run individually

./sdk-tools/go-tools.sh       # install go dev tools
./sdk-tools/cargo-tools.sh    # install rust cli tools (requires cargo)
./sdk-tools/uv-tools.sh       # install python tools (requires uv)

Add --update flag to force reinstall: ./sdk-tools/go-tools.sh --update



📚 documentation




⚙️ prerequisites

git  ·  homebrew (macOS only)brew.sh





Gouranga Das Samrat
Software Developer


GitHub  Email  Issues


if this made your terminal feel like home — drop a

About

Personal configuration files managed with GNU Stow for easy deployment and version control.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages