Skip to content

huynhducduy/dotfiles

Repository files navigation

Duy's dotfiles & Things to do with fresh macOS

  • Download your macOS stand-alone installer (if you want Big Sur, then here)

  • Boot into Recovery Mode

    • Disable SIP (System Integrity Protection): Guide, csrutil disable
    • Disable Secureboot (Change Security Policy to Reduced Security)
  • Disable Gatekeeper: sudo spctl --master-disable

  • Change DNS (to 1.1.1.1, or Google)

  • Install the Xcode Command Line Tools: xcode-select --install

  • Install Rosetta (For Apple Silicon only): sudo softwareupdate --install-rosetta

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

  • Login to app store (prepare to install app)

  • Install Xcode

  • Agree to Xcode sudo xcodebuild -license accept

  • Install pretty much everything else: eval "$(/opt/homebrew/bin/brew shellenv)" && curl https://raw.githubusercontent.com/huynhducduy/dotfiles/master/Brewfile -s -o Brewfile && brew bundle install

  • Import SSH Keys, GPG Keys

sudo mkdir ~/.ssh && sudo vi ~/.ssh/id_rsa
sudo mkdir ~/.ssh && sudo vi ~/.ssh/id_ed25519
sudo touch ~/.ssh/known_hosts
sudo chown -v $USER ~/.ssh
sudo chown -v $USER ~/.ssh/id_rsa
sudo chown -v $USER ~/.ssh/id_ed25519
sudo chown -v $USER ~/.ssh/known_hosts
gpg —-import /path/to/public-key-backup
gpg —-import /path/to/secret-key-backup
  • Config git:
git config --global user.name "Your Name Here"
git config --global user.email "your_email@youremail.com"
git config --global user.signingkey "yourgpgkey"
git config --global commit.gpgsign true
git config --global help.autocorrect 1
  • Install Java: https://www.oracle.com/java/technologies/downloads/
  • Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/TamCore/autoupdate-oh-my-zsh-plugins $ZSH_CUSTOM/plugins/autoupdate
git clone https://github.com/Aloxaf/fzf-tab ~ZSH_CUSTOM/plugins/fzf-tab
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
git clone https://github.com/mroth/evalcache ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/evalcache
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git $ZSH_CUSTOM/plugins/you-should-use
git clone https://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
  • Grab .zshrc from this repository and use it the way you like (like install oh-my-zsh & some plugins)
  • Initial some packages:
broot
colima nerdctl install
sudo ln -s /usr/local/bin/nerdctl /usr/local/bin/docker # use nerdctl as a replacement of docker
  • Install nodejs version
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf install nodejs latest
asdf install nodejs 20.12.2
asdf global nodejs 20.12.2
corepack enable
corepack prepare pnpm@latest --activate
asdf reshim nodejs
npm i -g typescript eslint
# For nodejs < 16
npm i -g corepack
  • Install MySQL from here (I prefer dmg installation because it come with preference menu), remember to mysql_secure_installation
  • Config for MySQL:
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.zshrc
. ~/.zshrc
mysql_secure_installation
  • Install battery curl -s https://raw.githubusercontent.com/actuallymentor/battery/main/setup.sh | bash
  • Run battery battery maintain 80
  • Config iTerm2 - import profile iterm2-huynhducduy.json
  • Config Alacritty - ~/.config/alacritty/alacritty.yml
  • Config spotify-tui, spotifyd
  • Config spicetify
spicetify config custom_apps new-releases
spicetify config custom_apps lyrics-plus
curl -fsSL https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/install.sh | sh
  • Install https://github.com/huhridge/huh-spicetify-extensions
    • Full App Display modified
    • Display full Album date
  • Set Keka as default, give files permissions
  • Import config for Raycast
  • Install Raycast extensions Wiki
  • Config Google Chrome - Extensions - Wiki
  • Config VSCode + Intellij IDEA - Settings, extensions... Wiki
  • Config Logi Options
  • Config Openkey - especially the modern icon which fit with macOS Big Sur
  • Open all apps and verify, then check for startup apps.
  • Perform some tweak to the macOS: sh ./osx.sh
  • Check the following settings in System Preferences:
    • General: Dark Appearence, Small sidebar icons, no recent items
    • iCloud: better turn of sync for Photos
    • FileVault: Off
    • Hot Corners: Mission control, Desktop
    • Keyboard: disable auto correction
    • Sharing: computer name
    • Dock + Menubar: auto hide dock, hide everything on menubar except battery
    • Sound: turn of startup sound
    • Trackpad: tap to click, app expose
    • Display: turn off true tone
    • Scroll direction (natural or stardard?)
    • Display resolution
    • Accessibility: Pointer Control: ignore built-in trackpad, slow down trackpad scroll speed, disable track pad when mouse keys => options 5 times (oply work for external keyboard)
    • Finder Pref: show all extensions,...
    • Messages: enable iCloud; Config on iPhone: Messages fowarding;
  • Contexts: Disable panel, Cmd Tab start Fast Search on typing
  • Install others awesome softwares: Wiki
  • Config Kaleidoscope integrations