- Responsive - fast feedback (keyboard shortcuts, helpful shell functions, window navigation, REPL)
- Configurable - easy to adjust for current task
- Efficient - minimal or mnemonic keystrokes, minimal mental overhead
These are the various tools I use for creating applications locally.
- OS: MacOS (13-inch, M1) - Linux (servers | ubuntu, fedora)
- Web browsers: Google Chrome - Firefox
- Terminal: Alacritty
- Terminal Multiplexer (Sessions): tmux
- Shell: zsh | ohmyzsh
- Editors: Neovim - IntelliJ Idea
- Fonts: hack-nerd-font - fira-code - victor-mono
- Application Containers: Docker
- Revision control: git
- Database: PostgreSQL
- IT automation: ansible
- curl replacement: httpie
- ls replacement: exa
- find replacement: fd
- Search (fuzzy file finder): fzf
- Goals & Reflection (Daily · Monthly · Yearly · 5 years · 10 years)
- Calendar (time-specific only)
- Timer (promodo)
- GTD - Getting Things Done (centralized inbox)
- Inbox zero (personal tasks)
- Task list (context based)
- Workspaces
- Window management
- Code Katas
- My Developer Workflow - How I use i3, tmux, and vim | ThePrimeagen (youtube video)
- ~/.dotfiles in 100 Seconds | Fireship (youtube video)
- Habits of Efficient Developers • Daniel Lebrero Berna • GOTO 2020 (youtube video)
Software audit:
- Uninstall unwanted software (e.g. GarageBand, iMovie, Keynote, Numbers, Pages)
- Install missing software (look at
/Applications
, panes in System Preferences , maybe~/Applications
, etc.)
Backup / sync files:
- Commit and Push to remote repositories
- Manual Backups (external drives, redundant cloud services)
- Contacts, Photos, Calendar, Messages
Deactivate licenses:
- Sign Out of App Store (
Menu > Store > Sign Out
) - iTunes, etc.
xcode-select --install
(Command Line Tools are required for Git and Homebrew)git clone https://github.com/ryan-fergerson/thc.git ~/code/thc
. We'll start withhttps
but switch tossh
after everything is installed.cd ~/code/thc
- Do one last Software Audit by editing Brewfile directly.
./install
- Restart computer.
- Setup cloud services (use multifactor authentication!) and allow files to sync before setting up dependent applications.
- Generate ssh key, add to GitHub, and switch remotes.
# Generate SSH key in default location (~/.ssh/config) ssh-keygen -t rsa -b 4096 -C "[email protected]" # Start the ssh-agent eval "$(ssh-agent -s)" # Create config file with necessary settings << EOF > ~/.ssh/config Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa EOF # Add private key to ssh-agent ssh-add -K ~/.ssh/id_rsa # Copy public key and add to github.com > Settings > SSH and GPG keys pbcopy < ~/.ssh/id_rsa.pub # Switch from HTTPS to SSH git remote set-url origin [email protected]:ryan-fergerson/thc.git
System Preferences > Battery > Power Adapter > Prevent your Mac from automatically sleeping when the display is off
System Preferences > Security & Privacy > General > Require password 1 hour after sleep or screen saver begins
System Preferences > Touch ID > Add Fingerprint
System Preferences > Keyboard > Modifier Keys... > Control -> Command, Command -> Control
System Preferences > Sharing > Computer Name: