Skip to content

Instantly share code, notes, and snippets.

@rlaace423
Last active June 26, 2025 13:32
Show Gist options
  • Save rlaace423/e877558692f24afe405f76f9c9128dce to your computer and use it in GitHub Desktop.
Save rlaace423/e877558692f24afe405f76f9c9128dce to your computer and use it in GitHub Desktop.
2024 ArchLinux
### key binding - Home, End, Ctrl-left, Ctrl-Right
case $TERM in (xterm*)
## Common
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line
## Linux
bindkey ';5D' backward-word
bindkey ';5C' forward-word
bindkey '^[[3~' delete-char
## macOS
#bindkey '^[[1;3D' backward-word
#bindkey '^[[1;3C' forward-word
esac
### history
HISTFILE=~/.zsh_history
HISTSIZE=50000
SAVEHIST=50000
setopt extended_history # record timestamp of command in HISTFILE
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
setopt inc_append_history # add commands to HISTFILE in order of execution
setopt share_history # share command history data
# zsh auto-complete
autoload -Uz compinit && compinit
### zsh plugins
## Linux
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
## macOS
#source $HOMEBREW_PREFIX/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
#source $HOMEBREW_PREFIX/share/zsh-autosuggestions/zsh-autosuggestions.zsh
## zsh case-insensitive path-completion
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' menu select
### starship
export STARSHIP_CONFIG=$HOME/.config/starship/starship.toml
eval "$(starship init zsh)"
### alias
alias ls='lsd'
alias ll='ls -al'
alias gst='git status'
alias vim='nvim'
sudo pacman -Syu
# 기본 설치
sudo pacman -Sy git \
lsd \
less \
base-devel \
neovim \
inetutils \
networkmanager-openvpn
# git 설정
git config --global user.name "Sangho Kim (Sam)"
git config --global user.email "[email protected]"
git config --list
# gnome 설정
sudo pacman -Sy gnome-shell-extensions gnome-browser-connector
https://extensions.gnome.org/ 들어가서
Caffeine
Dash to Dock (설치 후 설정까지 할 것)
설치
# 폰트 설치
sudo pacman -Sy ttf-jetbrains-mono \
ttf-jetbrains-mono-nerd \
ttf-liberation \
noto-fonts \
noto-fonts-cjk \
noto-fonts-emoji
# 한국어 로케일 설정
/etc/locale.gen 파일에서 ko_KR.UTF-8 UTF-8 주석 해제
sudo locale-gen
설정 - 시스템 - 지역 및 언어 에서 한국어 설정
# 한글 입력 설정
sudo pacman -Sy ibus ibus-hangul
설정 - keyboard
입력 소스에서 english 삭제 후 한국어(Hangul) 추가
한국어(Hangul) 설정에서 한영전환 키 Hangul 제외하고 삭제
tweaks - 키보드 - 추가 배치 옵션 - 한국어 한/영, 한자키 설정
# 시스템 폰트 설정
tweaks - 폰트
인터페이스, 문서 텍스트 : Noto Sans CJK KR
고정폭 텍스트 : Jetbrains Mono
스케일 상수 : 1.25
# zsh 설치 및 설정
# zshrc 자동 생성을 방지하기 위해, 설치 후 zsh 실행하지 말 것!
sudo pacman -Sy zsh \
zsh-syntax-highlighting \
zsh-autosuggestions \
zsh-completions \
starship
# starship 설정파일 생성 (별도 파일 참고)
mkdir -p ~/.config/starship
touch ~/.config/starship/starship.toml
# ~/.zshrc 파일 설정 (별도 파일 참고)
# 기본 쉘 zsh로 설정
sudo chsh -s `which zsh`
# yay 설치
cd ~
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
이후 yay-bin 디렉토리 삭제
# 프로그램 설치
yay -Sy google-chrome visual-studio-code-bin slack-desktop
# vscode 폰트 설정
## 에디터 폰트만 설정하면 터미널 폰트는 이걸 따라감
# 이유는 모르겠지만, Jetbrains Mono 로 하면 터미널 깨짐
JetbrainsMono Nerd Font
# google chrome 폰트 설정
# 이유는 모르겠지만, Jetbrains Mono 로 하면 glyph 출력 안됨
설정 - 모양 - 글꼴 맞춤설정
고정폭 글꼴 : JetbrainsMono Nerd Font
# docker 설치
sudo pacman -Sy docker docker-compose docker-buildx
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
(재부팅 후 위 권한 설정이 반영됨)
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo systemctl enable containerd.service
sudo systemctl start containerd.service
# node.js
## nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
자동으로 ~/.zshrc 에 설정 추가됨
## node.js, npm 설치 및 설정
새로운 쉘에서
nvm install v20
npm install -g npm yarn
npm config set '//registry.npmjs.org/:_authToken' "2c4436d2-....."
# python
sudo pacman -Sy tk
## pyenv 설치
curl https://pyenv.run | bash
실행 후 나오는 메시지를 보고 ~/.zshrc에 값 추가할 것!
새로운 쉘에서
pyenv install 3.9
pyenv global 3.9
# webstorm
yay -Sy webstorm webstorm-jre
# Logitech MX MECHANICAL MINI 설정
yay -Sy keyd
sudo systemctl enable --now keyd
## keyboard 하드웨어 id 확인
sudo keyd monitor
## /etc/keyd/mx-mechanical-mini.conf
[ids]
046d:c548:ee80da6c
[main]
pageup = home
pagedown = end
home = pageup
end = pagedown
## 적용
sudo keyd reload
#######################################
## 파일위치 : ~/.config/ghostty/config
#######################################
theme = tokyonight
window-height=32
window-width=114
window-padding-x = 10
window-padding-y = 10
confirm-close-surface = false
quit-after-last-window-closed = true
font-size = 16
font-feature = -calt, -liga, -dlig
font-thicken = true
font-thicken-strength = 100
bold-is-bright = true
cursor-style = block
cursor-style-blink = true
shell-integration-features = no-cursor
format = """
$directory\
$git_branch\
$git_state\
$git_status\
$fill\
$package\
$nodejs\
$python\
$dart\
$gradle\
$java\
$jobs\
$cmd_duration\
$line_break\
$status\
$os\
$character\
"""
[directory]
truncate_to_repo = false
truncation_length = 0
[git_branch]
style = 'fg:green'
symbol = ' '
[package]
display_private = true
format = '[$symbol($version )](bold blue)'
[nodejs]
format = '[$symbol($version )]($style)'
symbol = ' '
[python]
symbol = ' '
format = '[${symbol}${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)'
[dart]
format = '[$symbol($version )]($style)'
[gradle]
symbol = " "
format = '[$symbol($version )]($style)'
[kotlin]
symbol = " "
format = '[$symbol($version )]($style)'
[java]
format = '[${symbol}(${version} )]($style)'
[jobs]
symbol = ' '
number_threshold = 1
[cmd_duration]
min_time = 500
format = '[⏰$duration]($style) '
[status]
disabled = false
format = '[$status]($style) '
[os]
disabled = false
format = '[$symbol](bold white) '
[os.symbols]
Alpine = " "
AlmaLinux = " "
Amazon = " "
Android = " "
Arch = " "
CentOS = " "
Debian = " "
EndeavourOS = " "
Fedora = " "
FreeBSD = " "
Gentoo = " "
HardenedBSD = "󰞌 "
Kali = " "
Linux = " "
Macos = " "
Manjaro = " "
Mint = " "
NetBSD = " "
NixOS = " "
OpenBSD = "󰈺 "
OracleLinux = "󰌷 "
Raspbian = " "
Redhat = " "
RedHatEnterprise = " "
RockyLinux = " "
Ubuntu = " "
Unknown = " "
Windows = "󰍲 "
[character]
success_symbol = '[➜](bold green) '
error_symbol = '[➜](bold red) '
local wezterm = require 'wezterm'
local act = wezterm.action
local config = wezterm.config_builder()
local font_size = 15
-- config.color_scheme = 'Batman'
config.color_scheme = 'Tokyo Night'
-- config.color_scheme = 'Snazzy'
-- config.color_scheme = 'Dracula'
config.font = wezterm.font 'JetBrains Mono'
config.font_size = font_size
config.initial_cols = 120
config.initial_rows = 35
config.window_close_confirmation = 'NeverPrompt'
config.window_decorations = 'RESIZE'
config.enable_scroll_bar = true
config.window_frame = {
font_size = font_size
}
-- Linux Key Binding
config.keys = {
-- Close Tab
{ key = 'w', mods = 'CTRL', action = act.CloseCurrentPane { confirm = false } },
{ key = 'w', mods = 'ALT', action = act.CloseCurrentPane { confirm = false } },
-- New Tab
{ key = 't', mods = 'CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 't', mods = 'ALT', action = act.SpawnTab 'CurrentPaneDomain' },
-- Copy
{ key = 'c', mods = 'CTRL', action = act.CopyTo 'Clipboard' },
{ key = 'c', mods = 'ALT', action = act.CopyTo 'Clipboard' },
-- Paste
{ key = 'v', mods = 'CTRL', action = act.PasteFrom 'Clipboard' },
{ key = 'v', mods = 'ALT', action = act.PasteFrom 'Clipboard' },
}
-- Change Tab
for i = 1, 9 do
table.insert(config.keys, { key = tostring(i), mods = 'CTRL', action = act.ActivateTab(i - 1) })
table.insert(config.keys, { key = tostring(i), mods = 'ALT', action = act.ActivateTab(i - 1) })
end
-- macOS Key Binding
config.keys = {
{ key = 'w', mods = 'CMD', action = act.CloseCurrentPane { confirm = false } },
}
config.max_fps = 120
config.animation_fps = 120
config.front_end = 'WebGpu'
config.cursor_blink_ease_in = 'EaseOut'
config.cursor_blink_ease_out = 'EaseOut'
config.default_cursor_style = 'BlinkingBlock'
config.cursor_blink_rate = 650
return config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment