Skip to content

Repository files navigation

MacOS Configs from Scratch

Install browser

Arc

Install package manager

Homebrew

Install graphic terminal

Kitty

Install version control system

brew install git

Install IDE

brew install neovim

Install nerd font

Maple-NF

tree-sitter

to enable auto installation

  • build by Rust

RustUp

ripgrep

for fast searching

brew install ripgrep

lazygit

for beatiful git ui

brew install lazygit

gdu

for disk usage anlyzer

brew install gdu

bottom

process viewer

brew install bottom

Python

Pyenv

brew install pyenv

insert the following code in ~/.zshrc

alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

Pyenv-virtualenv

brew install pyenv-virtualenv
# auto activation
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

Node

brew install nodejs

Go

https://go.dev/doc/install

Rust

Add rust-analyzer for neovim lsp

rustup component add rust-analyzer

Unzip

tar -xvzf *.gz

Beatiful Shell

Starship

brew install starship

Tiling Window Manager

You must notice the following link.

brew install koekeishiya/formulae/yabai

SKHD

To configure custom key mappings

brew install koekeishiya/formulae/skhd

Esc Keybinding to convert to English

Hammerspoon

brew install hammerspoon

Config

-- check current input source by the following code
-- print(hs.keycodes.currentSourceID())

-- local inputEnglish = "com.apple.keylayout.ABC"
local inputEnglish = "com.apple.keylayout.USExtended"
local esc_bind

function convert_to_eng_with_esc()
	local inputSource = hs.keycodes.currentSourceID()
	if not (inputSource == inputEnglish) then
		hs.eventtap.keyStroke({}, 'right')
		hs.keycodes.currentSourceID(inputEnglish)
	end
	esc_bind:disable()
	hs.eventtap.keyStroke({}, 'escape')
	esc_bind:enable()
end

esc_bind = hs.hotkey.new({}, 'escape', convert_to_eng_with_esc):enable()

ls replacement

brew install eza
  • Config
alias ls="eza --icons"
alias ll="eza -l --icons"

Shell Plugins

Zsh

git clone https://github.com/jeffreytse/zsh-vi-mode \
  $ZSH_CUSTOM/plugins/zsh-vi-mode
brew install zsh-autosuggestions
echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
brew install zsh-syntax-highlighting
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
  • autojump
brew install autojump

Note Taking

brew tap d12frosted/emacs-plus
brew install emacs-plus@29 --with-native-comp
osascript -e 'tell application "Finder" to make alias file to posix file "/opt/homebrew/opt/emacs-plus@29/Emacs.app" at POSIX file "/Applications" with properties {name:"Emacs.app"}'
git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
~/.config/emacs/bin/doom install

CMake

to build emacs packages

brew install cmake

Terminal Session Manager

tmux

Install

brew install tmux

TPM

Battery Limiter

curl -s https://raw.githubusercontent.com/actuallymentor/battery/main/setup.sh | bash

Remote Development

Docker

For containered development

brew install docker

To create reproducible developer environment

  • No vendor lock-in

Custom Status Bar

LaTex for Mac

MacTex

About

dotfiles for dev

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages