Skip to content

MacOS

Initial requirements

Homebrew / XCode cli / Rosetta

xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
eval $(/opt/homebrew/bin/brew shellenv)
sudo softwareupdate --install-rosetta

Essentials

brew install --cask scroll-reverser rectangle iterm2 firefox 1password 1password-cli git gh bat exa micro jq

Dotfiles and zsh

cloning dotfiles and starting zsh:

git clone https://github.com/nataliafonseca/dotfiles.git ~/.dot && \
echo ". ~/.dot/zsh/.zshenv" > ~/.zshenv && exec zsh

setting zsh as default:

chsh -s $(which zsh) # might require a reboot for terminal emulators to adjust

SSH configuration

creating keys:

ssh-keygen -t ed25519 # or retrieve id_ed25519 and id_ed25519.pub and place in $HOME/.ssh/
cat ~/.ssh/id_ed25519.pub # add to github if not there already

to get from 1password:

# needs to be authenticated! `op account add` + `eval $(op signin)` 
op read op://Personal/<1p_item_title>/private_key | tr -dc '[:alnum:]+/=\n -' > ~/.ssh/id_ed25519 && \
op read op://Personal/<1p_item_title>/public_key | tr -dc '[:alnum:]+/=\n -' > ~/.ssh/id_ed25519.pub

getting authorized_keys and fixing any permissions:

curl -o ~/.ssh/authorized_keys --create-dirs https://github.com/nataliafonseca.keys && \
(echo -n '* '; cat ~/.ssh/id_ed25519.pub) > ~/.ssh/allowed_signers && \
sudo chown -R $USER:$USER ~/.ssh && \
sudo chmod 700 ~/.ssh && \
sudo chmod 600 ~/.ssh/authorized_keys && \
sudo chmod 600 ~/.ssh/allowed_signers && \
sudo chmod 600 ~/.ssh/id_ed25519 && \
sudo chmod 644 ~/.ssh/id_ed25519.pub

adding key to agent:

eval "$(ssh-agent -s)"
ssh-add

enabling ssh server:

sudo sed -i '/^#\?PasswordAuthentication/c\PasswordAuthentication no' /etc/ssh/sshd_config && \
sudo systemctl restart sshd && \
systemctl enable --now sshd

NVM and Node

node pt. 1
curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/$(curl -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')/install.sh" | bash && \
export NVM_DIR="$HOME/.config/nvm" && \
reload # shell need to reload to see nvm and create symlinks if needed
node pt. 2
nvm install 'lts/*' && \
nvm use 'lts/*' && \
nvm alias default 'lts/*' && \
corepack enable

Fonts

brew tap homebrew/cask-fonts
brew install font-blex-mono-nerd-font font-jetbrains-mono-nerd-font

Docker

brew install colima docker docker-compose docker-credential-helper
mkdir -p ~/.docker/cli-plugins
ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose
colima start

Add colima-start to login items

Installations

homebrew:

brew install cocoapods watchman wget imagemagick graphicsmagick mas
brew install --cask beekeeper-studio insomnia obsidian bartender cleanshot discord iina imageoptim notion qbittorrent telegram google-chrome sublime-text alt-tab

appstore:

  • Whatsapp Desktop
  • Affinity Designer
  • Affinity Photo
  • TextSniper
  • DaisyDisk
  • Yoink
  • Word
  • Excel
  • PowerPoint
  • Pixelmator Pro
  • LanguageTool
  • Presentify
  • The Unarchiver
  • LimeChat
  • NordVPN

Configs and instructions

Keyboard

To repeat keypresses (but disables special keys on hold):

defaults write -g ApplePressAndHoldEnabled -bool false

Swap cmd and ctrl:

System settings -> Keyboard -> Keyboard Shortcuts -> Modifier Keys -> (Select keyboard on top) -> ctrl > cmd / cmd > ctrl

Use default Function Keys:

System settings -> Keyboard -> Keyboard Shortcuts -> Function Keys -> Use F1, F2, etc. keys as standard function keys

EURKey

sudo npx degit sonicdoe/EurKEY/EurKEY.bundle '/Library/Keyboard Layouts/EurKEY.bundle'

Epson L395 Printer

Install drivers