Skip to content

My semi-automated, integration-ready desktop configuration for dev / daily workflow on macOS.

Notifications You must be signed in to change notification settings

hitblast/dotfiles

Repository files navigation

dotfiles

Configuration files for my local development environment

Programs

These are the primary programs that are used in this configuration:

  • Window Management (Tiling): AeroSpace
  • Key Remapping: Karabiner Elements
  • Development Tools:
    1. mise (for Flutter, Ruby & some Rust-based tools)
    2. uv (for Python environments)
    3. homebrew (for general package management)

Requirements

Installation

  • Part 1: Basic environment

Install Homebrew and the required packages using the following group of commands:

# Install Homebrew.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install the required packages.
brew bundle

If everything has been installed, now you can use stow to create symlinks for the configuration files:

# Set up the symlinks.
stow . -t ~

I've created cutler for automating the process of setting my system preferences. Here's the command to set everything up:

# Set up macOS system settings.
cutler apply
  • Part 2: Development setup

Now, we're gonna use mise to install all of our tools. We have installed it using brew in the previous step.

mise install

This will install rest of the required runtimes in this configuration.

  • Part 3: Optionals

In my everyday setup, I like to use the built-in Touch ID feature of MacBooks when accessing the sudo command. To apply, simply run:

sed -e 's/^#auth/auth/' /etc/pam.d/sudo_local.template | sudo tee /etc/pam.d/sudo_local

See this reference for more information.

About

My semi-automated, integration-ready desktop configuration for dev / daily workflow on macOS.

Topics

Resources

Stars

Watchers

Forks