Skip to content

gideonshaked/dotfiles

Repository files navigation

Dotfiles

pre-commit.ci status

My personal dotfiles. In my opinion, dotfiles are NOT meant to be forked. That being said, this repository contains lots of useful things (shell functions, scripts, gitconfig) that you can add to your personal setup. As such, I encourage anyone that thinks these dotfiles look useful to try to understand them first and then copy the parts that stand out to them.

Install β€’ Contents β€’ Notes β€’ Credits

Install

Full install (macOS)

git clone https://github.com/gideonshaked/dotfiles && cd dotfiles && ./install

Minimal install (suitable for Linux and macOS)

A minimal installation intended primarily for headless linux servers. Installs a portable bash config (prompt, aliases, functions), SSH config, Claude Code + ccstatusline, and git aliases without overwriting the existing shell config.

git clone https://github.com/gideonshaked/dotfiles && cd dotfiles && ./install --minimal

Contents

β”œβ”€β”€ bin         <- Personal scripts (s, dotfiles, git-nuke, sshkey, claude-validate)
β”œβ”€β”€ claude      <- Claude Code settings, ccstatusline config, and claude-skills submodule
β”œβ”€β”€ clang       <- clang-format and clangd config
β”œβ”€β”€ git         <- Git configuration files (aliases, custom formatting, etc.)
β”œβ”€β”€ manifest    <- Brewfile
β”œβ”€β”€ ssh         <- SSH config file
β”œβ”€β”€ term        <- Shell configuration (zsh, bash, starship)
└── vscode      <- VS Code configuration and extensions list

Notes

claude-skills private submodule

The claude/claude-skills submodule is a private repo containing my global CLAUDE.md and skills. The install script handles not being able to access the skills repo gracefully, so it shouldn't be an issue if you install this repo and you're not me ;).

SSH wrapper (s)

The s script is an SSH wrapper that uses the Kitty SSH kitten when available and falls back to plain ssh otherwise. It supports optional dotfiles management on remote hosts:

s host                          # Just SSH (default)
s --install-dotfiles host       # Install dotfiles (or update if present)
s --reinstall-dotfiles host     # Delete and reinstall from scratch
s --update-dotfiles host        # Pull latest and re-run install

Dotfile management

After install, use the dotfiles utility:

dotfiles update              # Pull latest changes and run install
dotfiles update --minimal    # Same, but minimal install
dotfiles brewfile            # Update Homebrew package manifest
dotfiles dotbot              # Update Dotbot submodule
dotfiles skills              # Update Claude skills submodule

Credits

These dotfiles were inspired by Anish Athalye's dotfiles, and this repository uses Dotbot for installation.