Skip to content

shetty-tejas/.dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ .dotfiles

A curated collection of configuration files for a consistent, productive development environment across multiple machines.

Primary Target: macOS (should work with GNU/Linux as well with some changes.)

✨ What You'll Get

This configuration transforms your terminal into a powerful, efficient workspace with carefully selected tools and optimizations. Inspired by dreamsofcode-io/dotfiles but customized for modern development workflows.

🎯 Core Tools

Tool Purpose Why It's Great
Helix Code/text editor Modern, modal editor with built-in LSP support
Yazi Terminal file manager Lightning-fast file navigation with preview
Lazygit Git UI Beautiful terminal Git interface
Scooter Find & replace Blazing fast search and replace tool
Mise Version manager Universal tool version management
Ghostty Terminal emulator GPU-accelerated, feature-rich terminal
Fzf Fuzzy finder Powerful command-line fuzzy finder
Zoxide Smart cd Jump to directories intelligently
Fastfetch System info Beautiful system information display

🎨 Shell Customization

  • Theme: Typewritten - Clean, minimal prompt
  • Plugin Manager: Zinit - Fast, lightweight alternative to oh-my-zsh
  • Enhanced Features: Auto-completion, syntax highlighting, intelligent history

🚀 Quick Start

Prerequisites

  • macOS: Comes with zsh pre-installed
  • Homebrew: Install from brew.sh
  • Git: Should be available on most systems. If not, use brew

Installation

1. Clone Repository in your $HOME

cd ~ && git clone https://github.com/shetty-tejas/.dotfiles.git

2. Backup Existing Configs

⚠️ Important: Backup or remove these files/directories from your $HOME:

  • .zshrc
  • .hushlogin
  • .gitconfig
  • .config
# Backup existing configs (optional)
mkdir ~/dotfiles-backup
mv ~/.zshrc ~/.hushlogin ~/.gitconfig ~/.config ~/dotfiles-backup/ 2>/dev/null || true

3. Install DevSetup

Install the custom dependency manager from shetty-tejas/devsetup:

curl https://raw.githubusercontent.com/shetty-tejas/devsetup/refs/heads/master/install.sh | sh

This would be used to install and manage dependencies for various tools.

4. Create Symlinks

brew install stow
cd ~/.dotfiles
stow .

Also check that symlinks were created correctly:

ls -al ~ | grep -E "\.(zshrc|gitconfig|hushlogin|config)"

You should see symlinks pointing to your .dotfiles directory.

5. Install Dependencies

devsetup install mac_dependencies

This installs:

  • Development tools: helix, lazygit, mise, fzf, etc.
  • System utilities: ffmpeg, jq, ripgrep, fd, etc.
  • Ruby dependencies: readline, openssl, libyaml, etc.

6. Activate Configuration

source ~/.zshrc

7. Installing Yazi Packages

ya pack -i

⚙️ Customization

Update Git Configuration

The repository includes a .gitconfig file with placeholder information. Update it with your details:

# Edit the gitconfig file
hx ~/.dotfiles/.gitconfig

# Or use git commands after installation
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Modify Dependencies

Want to skip certain tools? Edit the dependency list before installation:

hx ~/.dotfiles/.config/devsetup.json

Shell Customization

The .zshrc file includes several customizable sections:

  • Aliases: Add your frequently used commands
  • Environment variables: Customize paths and tool settings
  • Key bindings: Modify shortcuts (currently Ctrl+k/j for history)

🎯 Key Features

Smart History

  • 2500 command history with deduplication
  • Shared across terminal sessions
  • Ignore commands starting with space

Enhanced Navigation

  • Zoxide: Jump to frequently used directories
  • Fzf integration: Fuzzy find everything
  • Hidden file support: See dotfiles in completions

Development Optimizations

  • Ruby YJIT: Enabled for better performance
  • Mise integration: Automatic tool version switching
  • Helix as default editor: Modern editing experience

Visual Enhancements

  • Typewritten theme: Clean, informative prompt
  • Syntax highlighting: Color-coded commands
  • Fastfetch: System info on terminal startup

🔧 Troubleshooting

Common Issues

Symlinks not created or added new files in .dotfiles:

cd ~/.dotfiles && stow --restow .

Zsh not default shell:

chsh -s $(which zsh)

Permissions issues:

sudo chown -R $(whoami) ~/.local ~/.config

🤝 Contributing

Found an issue or have an improvement? Feel free to open an issue or submit a pull request!

📝 License

This configuration is provided as-is. Feel free to fork and customize for your needs.


Happy coding! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages