Skip to content

dotfiles for the developer happiness: macOS, zsh, brew, VSCode, Python, Rust

License

Notifications You must be signed in to change notification settings

pivoshenko/dotfiles

Repository files navigation

pivoshenko's dotfiles

standwithukraine standwithukraine

Caution

Currently, my dotfiles are under heavy redesign so this README and configs are a bit outdated. One of the main goals is to move to Nix so stay tuned! ETA ~ a couple of weeks.

Contents

What's in here?

  • All my brew dependencies, including applications, fonts, LSPs, etc.
  • All my macOS default configurations
  • All my shell configurations
  • All my VSCode and Zed configurations
  • All my other .configs/ and wallpapers/

Main principles

  • Minimalism in everything
  • Consistency
  • Simplicity
  • One style
  • Reduced visual noise, only important things should be shown

Installation

I am using dotdrop to manage dotfiles. Steps:

  1. Clone this repo with: git clone https://github.com/pivoshenko/dotfiles dotfiles
  2. cd dotfiles/
  3. Run the following commands to install the necessary tooling:
dotdrop install -c dotdrop.config.yaml -p macos --force

Note

To change the theme in applications such as Zen Browser, Spotify, etc please follow the instructions in the official Catppuccin repository as those themes can't be exported/imported easily as config.

My personal go choice is Macchiato with Mauve flavor

Apps

I am using brew to install both GUI and CLI applications. Resulting Brewfile contains everything.

Tiling Window Manager

I use AeroSpace as a tiling window manager for macOS, which essentially replicates i3 functionality.

My configuration can be found here. The core idea is to define the following workspaces and bind relevant applications to them:

  • #1 Comms (Telegram, Discord, etc.)
  • #2 Media
  • #3 Notes (Obsidian)
  • #4 Browsing (Zen, Chrome)
  • #5 Terminal (iTerm2, Ghostty)
  • #6 Coding (Zed, VSCode)
  • #7 Databases (MongoDB Compass, DBeaver)
  • #8 Misc (Insomnia, Postman)
  • #9 Misc

Some applications, typically used in "quick pop-up" mode, follow a floating layout and are not bound to any workspace.

Additionally, workspaces are integrated with SketchyBar for better visibility and interaction.

Hotkeys Daemon

Because I am using a primarily external keyboard and in most of my apps I rely on either Vi/Kakoune motions I find it painful to use the mouse as it requires moving my right hand out of the keyboard and distracts my "zen" state. In most of the dev apps, you can enable such modes but in the default MacOS apps or windows manager such functionality is absent To resolve this issue I am using Karabinder.

My configuration can be found here. The main idea is to implement home row mode using this guide and settings.