Skip to content

avivatedgi/dotfiles

Repository files navigation

🧩 Dotfiles

My personal macOS setup and configuration, managed with chezmoi and Homebrew.

This repository contains all my development environment settings — shell, editor, tools, and package configuration — so I can reproduce my setup on any new machine in minutes.


🚀 Quick Install

First, fork this repository and update the following files to include your name and email:

  1. dot_gitconfig-personal.inc - Update the name and email to your personal name and email in GitHub.
  2. dot_gitconfig-work.inc - Update the name and email to your work name and email in GitHub.

Run this command on a new Mac to install everything automatically (change <your_username> to your username):

GITHUB_USERNAME=<your_username> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/$GITHUB_USERNAME/dotfiles/refs/heads/main/install.sh)" && rm -rf ~/.local/share/chezmoi/.git

🔧 Configuration

SSH Keys

Generate two SSH-keys for your GitHub accounts (one for personal, one for work):

ssh-keygen -t rsa -f ~/.ssh/id_personal_rsa_github
ssh-keygen -t rsa -f ~/.ssh/id_work_rsa_github

Make sure to use the generated key for configurating your GitHub accounts.

From now on, anything you clone under the path:

  • ~/Projects/Personal - will use your personal key.
  • ~/Projects/Work - will use your work key.
  • Anywhere else won't work with any of them.

❓ What Is Installed?

IDEs & Editors

  • Cursor - Comes predefined with a lot of out-of-the-box extensions.
  • VS Code - Comes predefined with a lot of out-of-the-box extensions.
  • Neovim + LazyVim

Raycast

Raycast is an application launcher and productivity tool for macOS that acts as a powerful, extendable alternative to the built-in Spotlight search. I highly recommended to configure your own keybindings and downloading your own extensions.

I highly recommend also to replace the original spotlight shortcut (⌘ + Space) with Raycast:

  1. Go to System Settings > Keyboard > Keyboard Shortcuts.
  2. Click on Spotlight.
  3. Turn off the toggle or clear the shortcut for "Show spotlight search".
  4. Open Raycast.
  5. Go to Settings > General.
  6. Replace the Raycast Hotkey to be ⌘ + Space.

Here are the extensions that I use:

  • Visual Studio Code - I mostly use it for searching all recent repositories.
  • Jira - For managing and listing issues.
  • Base64 - For base64 easy encode/decode from clipboard.
  • Spotify Player - For controlling Spotify via Raycast.
  • Font Awesome - Search Font Awesome Icons.
  • UUID Generator - For generating UUIDs.

Also, here are some of the built-in features you should use and configure them a keybinding:

  • Clipboard History - View clipboard history.
  • Window Management - Manage window resizing and moving to other monitors.

Development Tools

  • ZSH shell with zinit as a plugin manager and PowerLevel10k as the theme (configured in ~/.p10k.zsh)
  • Warp - a modern, AI-powered terminal emulator.
  • iTerm2 - terminal emulator.
  • Docker & docker-compose
  • Notion - Knowledge base.
  • Notion Calendar - calendar application for managing personal and work schedules.
  • lnav - log file viewer for the terminal.
  • pgAdmin4 - management tool for PostgreSQL.
  • Slack

Languages & Frameworks

Kubernetes Tools

  • kubectl - Kubernetes CLI.
  • k9s - Terminal UI for Kubernetes.
  • kubectx - Context and namespace switcher.
  • krew - kubectl plugin manager.
  • helm - Kubernetes package manager.
  • Lens - Kubernetes IDE.

CLI Tools

  • AWS CLI
  • Jira CLI - A Jira CLI.
  • psql - the official postgres client.
  • pgcli - postgres cli that does auto-completion and syntax highlighting.
  • rg - a.k.a ripgrep - super-fast, recursive, command-line search tool that finds patterns in files, similar to grep with performance and features that make it a modern alternative.
  • fd - a simple, fast and user-friendly alternative to find.
  • fzf - Command-line fuzzy finder.
  • eza - Modern replacement for ls.
  • gh - GitHub CLI.
  • lazygit - Terminal UI for git.
  • gitui - Terminal UI for git.
  • sops - Secrets management.
  • OpenTofu - Open-source Terraform alternative.
  • act - Run GitHub Actions locally.
  • uv - Fast Python package manager.

Misc

  • 1Password - Password Manager
  • UnnaturalScrollWheels - Invert scroll direction for physical scroll wheels while maintaining "Natural" scrolling for trackpads on MacOS.

Documentation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors