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

Watchers

Forks

Releases

No releases published

Packages

No packages published