Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pndurette/mac-setup

My macOS setup / dotfiles / yadm
https://github.com/pndurette/mac-setup

brewfile dev-setup dotfiles yadm zsh

Last synced: 23 days ago
JSON representation

My macOS setup / dotfiles / yadm

Awesome Lists containing this project

README

        

# macOS setup

> My macOS setup from scratch using [yadm](https://yadm.io).
> `GNU` utils, dev setup, app, configs & Mac App Store installs.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Pre-setup

### Install `homebrew`

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

# Add brew to the path for this session
eval "$(/opt/homebrew/bin/brew shellenv)"
```

### Install `yadm`

```bash
brew install yadm
```

### Log into the Mac App Store

(for `mas`) via `App Store > Preferences > Sign in`

## Setup

### Clone and bootstrap

```bash
export BOOTSTRAP_LOCALAPPS=1 # To install Applications casks under ~/Applications
export BOOTSTRAP_PERSO=1 # To install non-work Applications
yadm clone https://github.com/pndurette/mac-setup.git --bootstrap # https!
```

**NB:** Bootstraping updates the remote url to ssh, so an ssh key will have to be configured after this (see below).

**NB:** There might be some need to enter the sudo password.

**NB:** Mac App Store installs will ask for a login.

## Done!

----

## Extra

### Add ssh key

Configure (new or existing) [ssh key and add it to GitHub](https://help.github.com/articles/connecting-to-github-with-ssh/), then [add key to ssh-agent and `~/.ssh/config`](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent). Then test:

```
ssh -T [email protected]
```

### Cheat sheet

```bash
# yadm wraps git, e.g.:
yadm status
yadm add
yadm commit
yadm push
# etc

# List files under yadm control:
yadm list -a
```

See: https://yadm.io/docs/common_commands