johnsoga / mac_setup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MacOS Setup Guide

GUI Apps:

CLI APPS:

AppStore Apps:


Prerequisite

  1. Install Xcode or Xcode Tools (Homebrew Requirement)

    xcode-select --install
    
  2. Install Homebrew

  3. Install Python3

    brew install python3
    
  4. Install Ansible

    python3.9 -m pip install --user ansible
    

    Update $PATH in .bashrc as this is where the Ansible binaries are installed

    export PATH=$PATH:~/Library/Python/3.9/bin
    
  5. Create a directory to store repositories in and clone the repo

    mkdir ~/Documents/Code
    cd ~/Documents/Code
    git clone https://github.com/johnsoga/mac_setup.git
    cd mac_setup
    

Installation

Installing Applications

All applications listed above will be installed using the apps.yml playbook

ansible-playbook -i ansible_hosts.txt apps.yml

Configuring the Dock

Customizations on the docks animations & layout are done using the dock.yml playbook

ansible-playbook -i ansible_hosts.txt dock.yml

System Preferences Configuration

People use various methods for accomplishing this most notable being using the defaults command. A popular example is here. Personally I find for configuring the System Preferences this method is a bit buggy and unreliable so I think this approach using ActionScript is reliable but feel free to use whatever works best for you. Running the ActionScript application will require you to give Accessability access to the script (you'll be prompted twice).

cd automator
unzip SystemPreferencesSetup.zip
open SystemPreferencesSetup.app

SSH Setup

SSH Key Generation:

Be Kind, Rewind!

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/path/to/.ssh/id_ed25519): meaningful_name
Enter passphrase (empty for no passphrase): meaningful_passphrase
Enter same passphrase again: meaningful_passphrase
Your identification has been saved in meaningful_name.
Your public key has been saved in meaningful_name.pub.

Setup SSH config

Append the following to your /path/to/.ssh/confg file

Host host.to.use.ssh.key.to.remote.to
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/meaningful_name

Add Key/Passcode to Keychain

$ ssh-add -K ~/.ssh/meaningful_name
Enter passphrase for meaningful_name:
Identity added: meaningful_name (user@machine_name)

About


Languages

Language:Shell 100.0%