Skip to content

sankalptipnis/dotfiles

Repository files navigation

          $$\             $$\      $$$$$$\  $$\ $$\                     
          $$ |            $$ |    $$  __$$\ \__|$$ |                    
     $$$$$$$ | $$$$$$\  $$$$$$\   $$ /  \__|$$\ $$ | $$$$$$\   $$$$$$$\ 
    $$  __$$ |$$  __$$\ \_$$  _|  $$$$\     $$ |$$ |$$  __$$\ $$  _____|
    $$ /  $$ |$$ /  $$ |  $$ |    $$  _|    $$ |$$ |$$$$$$$$ |\$$$$$$\  
    $$ |  $$ |$$ |  $$ |  $$ |$$\ $$ |      $$ |$$ |$$   ____| \____$$\ 
$$\ \$$$$$$$ |\$$$$$$  |  \$$$$  |$$ |      $$ |$$ |\$$$$$$$\ $$$$$$$  |
\__| \_______| \______/    \____/ \__|      \__|\__| \_______|\_______/ 

My dotfiles for macOS. Feel free to use at your own risk. Your mileage may vary.

Overview

  • Installs Homebrew
  • Symlinks or copies configuration files
  • Sets sensible macOS defaults
  • Installs binaries/apps/extensions/packages
  • Configures the dock
  • Sets default apps for select filetypes

Requirements

  • Xcode:
    • Sign into App Store
    • Install XCode
    • Open XCode and accept the license agreement
  • Copy SSH keys to $HOME/.ssh to be able to clone this repository using SSH

Installation

The automated installation is managed by a GNU Makefile. To install everything, run:

cd ~
git clone --recurse-submodules git@github.com:sankalptipnis/dotfiles.git
cd dotfiles
make -s all

What does a full installation actually do?

  1. Makes sudo passwordless
  2. Installs the core binaries: Homebrew and Bash
  3. Links/copies the configuration files to appropriate locations
  4. Sets sensible macOS defaults defined here
  5. Installs binaries/apps/extensions/packages:
    1. Binaries, apps, fonts & quicklook plugins defined in Brewfile using Homebrew
    2. App store apps defined in Masfile using mas
    3. Installs mamba into the base conda environment
    4. Creates conda environments defined in the envs directory using mamba
    5. Installs VSCode extensions defined in Codefile
    6. Imports iTerm color profiles
  6. Configures the dock using Dockutil: configuration is defined here
  7. Sets default apps for select filetypes using Duti: configuration is defined in Dutifile

PS : For full instructions (including all the manual steps + the above automated installation) to set up a new macOS system, see here.

About

There is no place like ~/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published