ubuntu, mac init settings

gosuยท2024๋…„ 3์›” 19์ผ
1
post-thumbnail

๐Ÿš€ Welcome!

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์šฐ๋ถ„ํˆฌ์˜ ์ดˆ๊ธฐ ์„ธํŒ…์„ ํ•˜๋Š” ์ผ์ด ์žฆ๋‹ค.
๋”ฐ๋ผ์„œ ๋‚ด๊ฐ€ ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋‚˜์„œ ๊ฐ€์žฅ ๋จผ์ € ์„ธํŒ…ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์œ„์ฃผ๋กœ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•œ๋‹ค.
๊พธ์ค€ํžˆ ์—…๋ฐ์ดํŠธ ์˜ˆ์ •.

ํ˜„์žฌ ์—…๋ฐ์ดํŠธ ๋ฒ„์ „:
ununtu:22.04, mac: m3 pro sonoma 14.4

1. git ssh ์„ค์ •

ssh-keygen -t ed25519 -C "newnyup@gmail.com" # ๋ณธ์ธ ์ด๋ฉ”์ผ ์ž…๋ ฅ
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
  • ๊ฒฐ๊ณผ: ssh-ed25519 [ssh-key] newnyup@gmail.com
  • git-settings-ssh key ๋“ฑ๋ก: ssh๋กœ clone ํ•˜๋ฉด ๋” ์ด์ƒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1-1. git global config

git config --global core.editor "code --wait"
git config --global user.name "ji-hyup"
git config --global user.email "newnyup@gmail.com"
git config --global push.autoSetupRemote true

2. docker ์„ค์น˜

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. zsh ์„ค์น˜

sudo apt-get update
sudo apt-get install zsh
chsh -s $(which zsh)

1) oh-my-zsh ์„ค์น˜

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

2) plugin ์„ค์น˜

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-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • vi ~/.zshrc
plugins=(
	git
    zsh-autosuggestions
    zsh-syntax-highlighting
)
  • source ~/.zshrc

4. nvm ์„ค์น˜

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

.zshrc ์„ค์ • ํŒŒ์ผ ๋ณ€๊ฒฝ

  • vi ~/.zshrc
autoload -U add-zsh-hook
load-nvmrc() {
  local nvmrc_path=".nvmrc"

  # '.nvmrc' ํŒŒ์ผ์ด ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š”์ง€ ํ™•์ธ
  if [[ -f "$nvmrc_path" ]]; then
    nvm use
  elif [[ $commands[nvm] ]]; then
    # '.nvmrc' ํŒŒ์ผ์ด ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ ๋ฒ„์ „์„ ์‚ฌ์šฉ
    nvm use default
  fi
}

# ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค 'load-nvmrc' ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰
add-zsh-hook chpwd load-nvmrc
load-nvmrc
  • source ~/.zshrc

pnpm, yarn ์„ค์น˜

npm install -g pnpm
npm install -g yarn

5. ๊ฐ์ข… ์œ ํ‹ธ ์„ค์น˜

sudo apt-get update
sudo apt-get install -y build-essential # make์™€ C++ ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์น˜

6. mac ์ถ”๊ฐ€ ์„ค์ •

brew ์„ค์น˜

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
vi ~/.zshrc

:
:
eval "$(/opt/homebrew/bin/brew shellenv)"
:
:

source ~/.zshrc

mac vscode path ์„ค์ •

mac vscode ์„ค์น˜ -> vscode path ์„ค์ •

# VS Code
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

mac ์œ ํ‹ธ๋ฆฌํ‹ฐ

mac ์žํŒ ์„ค์ •

ํ•œ์„ฑ ํ‚ค๋ณด๋“œ(bt5.0) ๊ธฐ์ค€

  1. karabiner-element ์„ค์น˜ https://karabiner-elements.pqrs.org/
  2. ํ•œ์˜ํ‚ค, fnํ‚ค ๋งคํ•‘ https://blog.naver.com/paintshop5/222996072682
    2-1. application -> fn
    2-2. right_option -> f18
    2-3. ๋งฅ ์„ค์ • - ํ‚ค๋ณด๋“œ - ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค - ์ž…๋ ฅ ์†Œ์Šค - ์ž…๋ ฅ ๋ฉ”๋‰ด์—์„œ ๋‹ค์Œ ์†Œ์Šค ์„ ํƒ - f18
  3. CapsLock ํ‚ค ๋”œ๋ ˆ์ด ์ค„์ด๊ธฐ https://itbluebook.tistory.com/3
    3-1. ๋งฅ ์„ค์ • - ํ‚ค๋ณด๋“œ - ์ž…๋ ฅ ์†Œ์Šค ํŽธ์ง‘ - CapsLock ํ‚ค๋กœ ABC ์ž…๋ ฅ ์†Œ์Šค ์ „ํ™˜ ๋น„ํ™œ์„ฑํ™”

๋ฐ์Šคํฌํƒ‘ ๋ฐ Dock ์„ค์ •

ํ•ซ ์ฝ”๋„ˆ

๋งฅ ์„ค์ • - ๋ฐ์Šคํฌํƒ‘ ๋ฐ Dock - ํ•ซ ์ฝ”๋„ˆ... - Mission Control ์„ค์ •

์ž๋™์œผ๋กœ Dock ๊ฐ€๋ฆฌ๊ธฐ์™€ ๋ณด๊ธฐ

๋งฅ ์„ค์ • - ๋ฐ์Šคํฌํƒ‘ ๋ฐ Dock - ์ž๋™์œผ๋กœ Dock ๊ฐ€๋ฆฌ๊ธฐ์™€ ๋ณด๊ธฐ

ํ™”๋ฉด ๊ฐ€๋ฅด๊ธฐ ์„ค์ •

brew install --cask rectangle

7. .zshrc ํŒŒ์ผ

  • ์—…๋ฐ์ดํŠธ: 2024-12-30
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH

# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="robbyrussell"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled  # disable automatic updates
# zstyle ':omz:update' mode auto      # update automatically without asking
# zstyle ':omz:update' mode reminder  # just remind me to update when it's time

# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
	git
	zsh-autosuggestions
	zsh-syntax-highlighting
)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='nvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch $(uname -m)"

# Set personal aliases, overriding those provided by Oh My Zsh libs,
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
# users are encouraged to define aliases within a top-level file in
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
# - $ZSH_CUSTOM/aliases.zsh
# - $ZSH_CUSTOM/macos.zsh
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

export NVM_DIR="$HOME/.nvm"
# VS Code
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

autoload -U add-zsh-hook
load-nvmrc() {
  local nvmrc_path=".nvmrc"

  if [[ -f "$nvmrc_path" ]]; then
    nvm use
  elif [[ $commands[nvm] ]]; then
    nvm use default
  fi
}

poetry_auto_shell() {
    if [[ -f "pyproject.toml" ]]; then
        if [[ -n "$VIRTUAL_ENV" ]]; then
            deactivate
        fi
        poetry shell
    fi
}

add-zsh-hook chpwd poetry_auto_shell
add-zsh-hook chpwd load-nvmrc
load-nvmrc

eval "$(/opt/homebrew/bin/brew shellenv)"
export PATH="/opt/homebrew/opt/python@3.11/bin:$PATH"
export PATH="/Users/byunjihyup/.local/bin:$PATH"
profile
๊ฐœ๋ฐœ์ž ๋ธ”๋กœ๊ทธ ^0^

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด