run.sh Diaries #1: Ubuntu 개발 환경 자동화
Source: Dev.to
TL;DR
GitHub 저장소는 여기에서 확인하세요:
새로운 Ubuntu WSL 설치 후, 다음을 실행하면 됩니다:
./run.sh
…그리고 몇 분 안에 코딩을 시작할 수 있습니다. 이 글에서는 제가 왜 이 스크립트를 만들었는지와 여러분도 어떻게 적용할 수 있는지 설명합니다.
Why WSL?
- 전체 VM 없이 Windows에서 빠른 Linux 개발 환경 제공.
- 스크립팅, Docker, 오픈소스 툴링에 이상적.
저는 3년 이상의 경력을 가진 프론트엔드 개발자에서 풀스택 엔지니어로 전향한 사람입니다. 일상 업무는 제품 개발, 오픈소스 기여, 인프라, CLI 도구, 자동화 등에 걸쳐 있습니다. 현재 스택은 JavaScript/TypeScript, Vue를 중심으로 점점 Rust, Python, TUI/GUI 앱까지 확장되고 있습니다.
업무 외에도 오픈소스 프로젝트를 유지보수하고, Rust 툴링을 실험하며, CLI‑first 워크플로우를 선호합니다. Ubuntu on WSL은 Node.js 프로젝트, 스크립팅, Rust 툴, 가벼운 컨테이너 작업을 위한 저의 기본 환경입니다.
The Problem
Ubuntu를 재설치하거나 새 장치를 설정할 때마다 같은 작업을 수동으로 반복했습니다:
- APT 패키지 설치.
- 쉘 설정 조정.
- Node, Python, Docker, 플러그인 등 추가.
RAM이 충분하고 최신 머신이라도, 매번 새 설치에 1~2시간이 걸렸습니다. 이런 반복적인 작업에 대해 스스로에게 물었습니다:
“왜 자동화하지 않을까?”
The Solution: run.sh Bootstrap
Bash로 모듈식 run.sh 부트스트랩 스크립트를 만들었습니다. 대학 과제 외에 처음으로 실전 Bash 프로젝트를 진행했으며, 두 가지 문제를 동시에 해결했습니다:
- 매일 수행하던 작업을 자동화.
- 실전 Bash 스크립팅 경험 습득.
이 스크립트를 실행하면 몇 분 안에 깨끗하고 완전하게 부트스트랩된 Ubuntu WSL 개발 환경이 준비되고, 정확히 제가 사용하는 터미널 스택, 개발 도구, 설정이 적용됩니다.
./run.sh
한 번 자동화하고, 나중에 시간을 절약하세요. 직접 해보며 배우세요.
What’s Inside the Bootstrap
- 패키지 설치 – APT, nvm을 통한 Node, pyenv를 통한 Python, Docker 등.
- 쉘 설정 – Zsh + Oh‑My‑Zsh, 커스텀
.zshrc, 별칭, 프롬프트 테마. - 에디터/IDE 툴링 – 선호 플러그인이 포함된 Neovim, tmux 설정, 언어 서버.
- 선택적 모듈 – 간단한 설정 파일을 수정해 Rust 툴체인, TUI 앱 등 설정의 일부를 쉽게 켜고 끌 수 있음.
How to Adapt It
-
레포지토리 클론
git clone https://github.com/LazyDoomSlayer/os-bootstraps.git cd os-bootstraps -
config.sh검토 – 필요에 따라 모듈을 토글하고, 버전을 변경하거나 직접 단계를 추가합니다. -
부트스트랩 실행
./run.sh -
즐기기 – 환경이 준비되면 바로 코딩을 시작할 수 있습니다.
Looking Ahead
파트 2에서는 WSL 부트스트랩의 내부 로직을 파헤치며, 각 모듈이 어떻게 동작하는지와 여러분의 워크플로우에 맞게 확장하는 방법을 설명할 예정입니다.