Configuration files for my local development environment
These are the primary programs that are used in this configuration:
- Window Management (Tiling): AeroSpace
- Key Remapping: Karabiner Elements
- Development Tools:
- mise (for Flutter, Ruby & some Rust-based tools)
- uv (for Python environments)
- homebrew (for general package management)
- Homebrew
- Rust
- Xcode Command-Line Tools (can be installed from within macOS using
xcode-select --install
)
- 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.