Skip to content

tarikeshaq/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

My personal dotfiles for setting up a consistent development environment across machines.

What's This?

This repository contains my configuration files for:

  • Git - Git configuration with sensible defaults and local overrides
  • Zsh - Shell configuration with Oh My Zsh
  • jj: - Jujitsu (the version control) Aliases and configuration
  • Neovim - Text editor setup with Lua-based config
  • tmux - Terminal multiplexer configuration
  • LLM Skills - Reusable Agent Skills for Claude Code and Cursor

Installation

Clone this repo and run the install script:

git clone https://github.com/tarikeshaq/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh

The script will:

  • Install required dependencies (Zsh, tmux, Neovim, Oh My Zsh)
  • Install Zsh plugins (zsh-autosuggestions, zsh-syntax-highlighting)
  • Create symlinks to the config files
  • Backup any existing configurations with timestamps

Supported Platforms

  • macOS (via Homebrew)
  • Linux (apt, dnf, or pacman)

Restore Previous Configs

If you need to restore your old configurations:

./install.sh --restore

This will restore the most recent backups of your previous configs.

Post-Installation

1. Set Zsh as Default Shell

chsh -s $(which zsh)

Then reload your shell or start a new terminal session.

2. Configure Local Git Settings (Optional)

The install script creates ~/.gitconfig.local for machine-specific git configuration. Edit this file to set:

# Edit your local git config
nvim ~/.gitconfig.local

Common settings to configure:

  • signingKey: Path to your SSH key for commit signing (e.g., ~/.ssh/id_ed25519.pub)
  • email: Override email for this specific machine
  • name: Override name for this specific machine

Example ~/.gitconfig.local:

[user]
    signingKey = ~/.ssh/id_ed25519.pub

This file is not tracked in the dotfiles repo, so your machine-specific settings stay private.

Structure

dotfiles/
├── .gitconfig          # Git configuration
├── .gitignore          # Files to ignore in this repo
├── .zshrc              # Zsh configuration
├── .tmux.conf          # tmux configuration
├── nvim/               # Neovim configuration directory
├── skills/             # LLM skills (Claude Code & Cursor)
├── install.sh          # Installation and restore script
├── CLAUDE.md           # Documentation for AI assistants
└── README.md           # This file

Note: ~/.gitconfig.local is created by the install script for machine-specific settings (like SSH signing keys) and is NOT tracked in this repo.

Features

  • Automated Setup - One script installs everything
  • Smart Backups - Existing configs are timestamped and preserved
  • Cross-Platform - Works on macOS and Linux
  • Portable Paths - All paths use $HOME, no hard-coded user directories
  • Catppuccin Theme - Consistent Macchiato theme across tmux and Neovim
  • Vim-style Navigation - Consistent keybindings for tmux and Neovim

LLM Skills

The skills/ directory contains reusable skills in the Agent Skills open standard format, shared by both Claude Code and Cursor. The install script symlinks this directory to ~/.claude/skills and/or ~/.cursor/skills (only if the respective tool directory exists).

To add a new skill, create a subdirectory under skills/ with a SKILL.md file:

skills/
└── my-skill/
    └── SKILL.md

Zsh Plugins Included

  • git - Git aliases and utilities (Oh My Zsh built-in)
  • poetry - Python dependency management (Oh My Zsh built-in)
  • zsh-autosuggestions - Command suggestions based on history
  • zsh-syntax-highlighting - Syntax highlighting for commands

Contributing

This is a personal dotfiles repository, but feel free to fork it and customize for your own use! If you find a bug or have a suggestion, issues and pull requests are welcome.

License

MIT License - See LICENSE for details.


This README was written by Claude, an AI assistant. The configs themselves are human-crafted with occasional AI assistance (check git commits for attribution).

About

My dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors