Geekfish / dotfiles

Just my dotfiles and laptop "setup" resources
MIT License
1 stars 0 forks source link
asdf-vm dotfiles dotfiles-macos erlang macos macos-setup

Dotfiles & New Laptop Setup

Table of Contents

About

This is just my personal guide for keeping track of my configurations and facilitate setting up a new machine.

The TOC in this document is built with the Auto Markdown TOC VS Code extension.

General

Before installing the dotfiles it may be a good idea to install some of the things below.

Essentials

Might be needed later

Usually don't need to be install straight away.

Concentration

Development

Must-have

Nix - Experimental

To install:

<(curl -L https://nixos.org/nix/install)

nix-build https://github.com/LnL7/nix-darwin/archive/master.tar.gz -A installer
./result/bin/darwin-installer

Dotfiles

Assuming you checkout this repo in your $HOME directory, you can run the following to symlink all the dotfiles:

cd dotfiles
./install_config.sh

⚠️ The above will prompt you about replacing existing dotfiles in case there's something you'd rather keep. The .git directory (and any other directory) is ignored.

Brew packages

Brew packages, casks and vscode plugins live in Brewfile.

You can install them with

brew bundle --global

Completions

You can install optional completions by running:

./install_completions.sh

GPG

  1. To store GPG passphrases in the keychain, you need to run:
mkdir -p -m 0700 ~/.gnupg
echo "pinentry-program $(which pinentry-mac)" | tee ~/.gnupg/gpg-agent.conf
pkill -TERM gpg-agent

and restart the terminal session.

Next time you're asked for the passphrase, it will be stored in the keychain.

  1. Make sure you import a valid GPG key, see also GPG, Github and Keybase guide.

  2. Ensure the key and author details are actually used, by setting up .gitconfig_personal (not shared here)

[user]
  name = "..."
  email = "..."
  signingkey = "..."

Fonts

Fira Code is a good monospace font for coding that supports ligatures. It can be installed using brew (see above). Further config might be required depending on the editor, see here for VSCode.


1 Requires license/subscription (but might also have a free plan)