홈랩의 즐거움을 선언적 구성, 불변 시스템, GitOps, CI/CD 같은 ‘정석’에 스스로를 가두며 잃어버린 뒤, 단순함으로 돌아가기 위한 개인 규칙을 정한 기록.
2025-06-30 - 내 기대가 홈랩의 즐거움을 앗아가다
어제 이런 깨달음을 얻었다: 나는 스스로를 감옥에 가둬 놓고도 눈치채지 못했다.
설명하자면:
기술 프로젝트를 만지는 일은 늘 내게 휴식 같은 일이었다. 뭔가에 스트레스를 받으면, 나는 늘 내 홈랩으로 돌아가 마음을 가라앉혔고, 대개는 계속해 나갈 균형을 정확히 제공해 주곤 했다.
하지만 최근에는 더 이상 그렇지 않았다. 프로젝트 앞에 앉아 화면만 멍하니 바라봤다. 새로운 것을 설정하려면 해야 할 모든 일을 떠올리게 되었고, 압도되었다.
내가 스스로 ‘필수’라고 믿게 만든 모든 것들에 압도된 것이다.
이런 것들이 지금의 설정으로 이어졌고, 이제는 그냥 뭔가를 바로 해 보는 게 불가능하게 느껴진다.
새 프로그램을 시험해 보고 싶다? 먼저 컨테이너로 어떻게 돌릴지, Kubernetes에서 어떻게 구동할지부터 알아내야 한다. 그리고 매니페스트는 Git에 커밋해야 한다.
친구에게 다운로드 링크 하나 주려고 간단한 파일 공유를 뚝딱 띄우는 것? 불가능. 폴더를 가리키도록 nginx 설정을 하나 만져 줄 수 있는 단일 머신조차 없다.
집 서버에 뭔가 설치하고 싶다? Nix 설정을 바꿔야 한다. 아, 한동안 업데이트도 안 했네, 그것도 하자. 그런데… 재빌드가 깨져 있거나 며칠 지나서야 드러나는 nixpkgs의 또 다른 버그가 있다.
오늘은 이게 더 멀리까지 뻗어 있다는 것도 깨달았다: 내 노트북에는 Fedora Silverblue를 쓴다. 불변 배포판인데, 그게 무슨 결과를 낳았을까? 이제는 프로그램을 그냥 설치할 수가 없다. Flatpak으로 있는지부터 알아봐야 하고, 내가 정말 싫어하는 distrobox로 돌리거나, 레이어로 추가하고 재부팅해야 한다.
이들 중 어떤 것도 본질적으로 나쁜 건 아니다. 이런 관행에는 각자의 자리가 있다. 많은 것들이 여러 사람이 함께 작업할 때 일을 훨씬 쉽게 만들어 준다. 하지만 나는 혼자고, 내가 한 일을 마크다운 파일에 기록해 두는 것만으로도 내겐 놀랍도록 잘 맞는다.
이렇게 글로 적어 보니 내 즐거움을 죽이고 있던 게 무엇인지 더 일찍 깨달았어야 했던 것 같다. 그래도 이제 깨달았으니, 이 엉킴을 많이 되돌리려 한다.
그래서 다시 같은 함정에 빠지지 않도록 스스로 정한 대략적인 규칙은 다음과 같다:
불변 배포판은 멀리한다
배포 도구는 일을 더 쉽게 만들어 줄 때만 쓴다(예: 여러 대를 한꺼번에 세팅할 때)
CI/CD 파이프라인은 버린다(크론잡에서 셸 스크립트 돌리던 단순함으로 돌아가고 싶다)
무엇이든 가장 쉬운 방식으로 설치한다. 가능하면 단일 호스트의 컨테이너에, 디렉터리 안에 Containerfile들을 깔끔히 정리해 두고 쓰며, 그게 아니면 그냥 VM에 던져 넣는다
모든 것이 완전히 선언적일 필요는 없다. 상태를 백업해 두기만 해도 충분하다!
순수주의는 죄악이다. 나에게 더 잘 맞게 돌아가게 해 준다면 타협을 받아들인다.