/dotfiles

My configuration files

Primary LanguageVim Script

Table of Contents

Prerequisites

Mac Os X

See fresh install below.

Linux Debian/Ubuntu

Use this script to fully automate a new machine setup (e.g. with Vagrant):

install/provision.sh

Otherwise, see Installation section below.

Installation

DOTFILES="$HOME/.dotfiles"
git clone https://github.com/charlax/dotfiles.git $DOTFILES

# If you want only dotfiles
python3 $DOTFILES/install.py

# On a fresh install
python3 $DOTFILES/install.py --with-all

To install all the required software, run:

~/.dotfiles/install/install-apps-all.sh

Post-install checklist on a fresh installation - Mac Os X

Initialization

  1. Install any OS upgrade
  2. Start with installing XCode from the App Store - it takes quite a long time. Open it and accept the T&C.
  3. Install Homebrew (see above)
  4. Run the steps below in the terminal:
# Make sure the account name is correct:
whoami
# If it needs to be changed, create a new temporary admin. Follow this guide:
# https://support.apple.com/en-us/HT201548

# Install dependencies
brew install git python3

# Create an SSH key and add it to Github
ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
pbcopy < ~/.ssh/id_rsa.pub  # then add it to Github

# Verify you can connect to github:
ssh -T git@github.com

# Install local git settings
cp $DOTFILES/git/gitconfig.local.template $DOTFILES/git/.gitconfig.local

Once this is done, follow the instruction above (Installation).

Mac Os X Settings

  • Change the computer name
  • Add French input source
  • Set keyboard shortcuts
    • Set the change input source shortcuts

Apps to install

  • Annotate (App Store)
  • Be Focused (App Store)
  • Docker (installed via brew cask)
  • Dropbox
  • Evernote (App Store)
  • Firefox (installed by the script)
  • Google Chrome Canary (installed by the script)
  • Google Chrome
  • Grammarly
  • Keynote (App Store)
  • Kindle (App Store)
  • LibreOffice (installed by the script)
  • MindNode (App Store)
  • Notion
  • Numbers (App Store)
  • Pages (App Store)
  • Pixelmator (App Store)
  • Spotify (installed by the script)
  • Studies (App Store)
  • TextExpander (not anymore on the app store)
  • Things (App Store)
  • Time Out (App Store)
  • VLC (installed by the script)
  • VirtualBox (better to install manually as it requires Max Os X permissions)
  • Visual Studio Code (installed by the script)
  • iA Writer (App Store)

Setup the following apps:

  • Password application
  • Backup application
  • Chrome
  • Rectangle (give permissions)
  • Dropbox
  • TextExpander
  • Things cloud
  • Printers

Features

  • fzf: fuzzy file finder. To use it on the command line, prefix with **, then press tab. For instance: vim **<TAB>.

Misc

  • You can copy the dotfiles in the current directory through copy-dotfiles-here.sh

Profiling ZSH

Use zprof:

# At the beginning of your file, e.g. zshrc
zmodload zsh/zprof

...

# At the end:
zprof

Useful software (not installed by default)

  • Numi: beautiful calculator app for Mac (like Soulver)

Useful services

Checklist before reinstall

  • Backup SSH keys
  • Backup GPG keys
  • Check each app for backup
  • Backup hidden files in repo
  • Backup /Library/
  • Backup ~/Library/
  • Make sure branches in repo are pushed
  • Search for "what folders to backup"
  • Search for "checklist before factory reset"
  • Backup photos (too important)
  • Make sure iCloud sync is finished (check status bar in Finder)
  • What's most important? Is it backed up?

Contributing

Checkout CONTRIBUTING.md

Acknowledgments