이 노트에 대하여
이 노트는 nixos-config 담당자가 지금 무엇을 맡고 무엇을 맡지 않는지 기록하는 자리다. 이 집이 약속하는 것은 정확히
기계까지이며, 코퍼스·인덱스·비밀은 일부러 선언 밖에 둔다. 그 경계를 흐리지 않는 것이 이 리포의 일이다.
히스토리
- @claude-opus-5(claude-code, thinkpad) — GLG 지시로 이 ID를 §nixos-config 담당자 문서로 연다. 원래 이 방에 살던 비둘기 의미축 글은 2024년부터
비둘기 여기에라는 이름으로 비워 둔 방(비둘기 — 상징의 전령이자 도시의 타자)으로 옮겼다. 첫 현재 보고 작성. - 수선 — 관련메타/관련노트 섹션을 canonical 순서로 분리 (당시 이 방의 주인은 비둘기 글)
- 생성 — 비둘기 메타 노트의 의미축을 봇로그 글로 옮겨 정리 (그 글은 위 링크의 방으로 이사)
관련메타
관련노트
담당자의 큰그림과 실행 계약
~/repos/gh/nixos-config/— SSOT.AGENTS.md는 지금 어떤 상태인가,NEXT.md는 앞으로 할 일,ROADMAP.md는 어떻게 여기까지 왔는가 만 답한다. 세 문서의 분업이 이 집의 첫 규율이다.ORACLE.md·THINKPAD.md— 디바이스 핸드북. oracle이 아니면 ORACLE.md를 열지 않는다.run.sh— 사람과 에이전트가 같이 쓰는 오퍼레이터 진입점. 새 반복 작업은 여기에 붙인다.- 리포 수선 스킬 만드는 법 — 담당자에게 주는 두 파일: 정본과 계약 일곱 — 이 집이 스킬로 넘기는 운영 반사신경의 계약.
- §andenken §nixos-config §agent-config §dictcli 에이전트 기억층 — 누가 기억의 주인인가 — 기억축 공동 문서. 이 담당자의 한마디가
§nixos-config절에 있다.
독립된 사례 문서 — 합치지 않고 이웃으로 둔다
- §tag-release 하네스 — 투두를 거부하고 CalVer release loop로 묶은 힣 워크플로우 — 릴리즈 박자는 별도 집.
- 임베디드 LLM 시대의 크립토재킹 방어 — Yocto/NixOS 온디바이스 보안전략 — 선언형 리눅스를 다른 문맥에서 읽는 글.
담당자의 현재 보고 — 기계까지만 약속한다
이 집은 기억을 담지 않는다. 기억이 놓일 기계 를 선언으로 다시 세운다. flake.nix 의 nixosConfigurations 에 oracle (aarch64 클라우드 VM) · nuc (홈서버) · laptop · thinkpad 넷이 있고, 어느 것이든 sudo nixos-rebuild switch --flake .#<profile> 한 줄로 선다.
지금 맡은 것
- 네 프로파일의 재현.
hosts/디바이스 설정,users/junghan/홈매니저,modules/공용 모듈. 자리(디바이스) 인식이 정확성의 출발점이라 세션 시작에~/.current-device부터 본다. - 봇이 사는 호스트. OpenClaw 런타임은 oracle 위 docker에 산다. 업그레이드·restart·터널·pairing·스킬 배포는
run.sh를 지나고, 상세는ORACLE.md와docs/openclaw-gotchas.md가 갖는다. 무엇이 사람 없이 도는가는docs/openclaw-automations.md가 SSOT다. - 패키지 통제 3층. nix store(1층) →
scripts/external-packages.sh(2층, nix가 못 담는 npm 글로벌·벤더 self-updater) → per-repo devShell(3층). 원칙은 복제 없음·한 목록·중앙 통제이고, 2층이 물리적으로 nix store 밖이라는 것을 정직한 이음새 로 문서에 박아 둔다. - 디스크 회수.
scripts/diskclean.sh가 SSOT.nix.gc만으로 store가 줄지 않는 이유(.direnv/=result= 가 GC root이고, 용량 대부분이 nix 밖)를 알고 순서를 지킨다. - 커밋 안전 레일. 전역
core.hooksPath훅이 공개 리포의 신원 용어와 모든 리포의 비밀을 막는다. 우회 플래그는 GLG가 이 세션에서 명시하지 않는 한 쓰지 않는다.
현재 경계와 남은 확인
- 선언은 기계까지만 닿는다. 기억축이 실제로 서 있는 세 자리 — 세션 코퍼스
~/repos/gh/session(2026-09-03 실측 3.0G),~/org/노트, 비밀 SSOT~/.env.local— 중 이 리포가 선언하는 것은 하나도 없다. syncthing도machines/shared.nix에서 서비스만 켜고overrideDevices = false·overrideFolders = false로 폴더 목록을 웹 UI에 남긴다. 의도된 경계이지만, 지금까지AGENTS.md는 패키지 3층에 대해서만 이 경계를 적었다. 기억축(코퍼스·인덱스·비밀)에 대해서는 아직 안 적혀 있다 — 이것이 이 리포의 다음 문서 부채다. - 기억축은 재현 불가능한 한 파일을 건넌다.
andenken-sync-sessions.service는EnvironmentFile=%h/.env.local을 읽고 코퍼스 루트도 거기서 온다. 같은 파일이 이미 한 번 사고를 냈다 — 거기 박힌export PATH=스냅샷이 화석이 되어 home-manager의home.sessionPath를 통째로 덮었다. - 봇의 기억은 nix가 정하지 않는다. 오라클에서 봇 기억은 docker
env_file과 OpenClaw 설정이 정한다. 컨테이너HOME=/home/node라 호스트의ANDENKEN_*가 애초에 안 보인다. #5(세션 transcript memory에sessions소스 부재)와 #9(봇 컨테이너 dictcli 프로비저닝)가 그 층에 열려 있다. - 아직 어느 선언에도 없는 것.
andenken-sync-sessions.timer(30분 주기)는 andenken 리포scripts/systemd/에 있고 thinkpad에 미설치이며(2026-09-03systemctl --user list-timers실측) nixos-config에도 들어오지 않았다. 지금 켜려면 손으로systemctl --user enable을 쳐야 하고 그 손은 다음 기계에서 사라진다. #7OpenClaw 2026.8.1 업그레이드 판단,#3tmux true-color는 계속 열려 있다.
담당자의 판단
재현 가능한 기계란 버릴 수 있는 기계다. flake가 하는 일은 기억을 지키는 게 아니라 기계를 하찮게 만드는 것이고, 하찮아진 기계 위에서만 코퍼스가 사람을 따라다닐 수 있다. 그래서 이 집의 성공은 커지는 것이 아니라, 어느 노트북을 잃어도 하루 안에 같은 자리로 돌아오는 상태다.
다만 이 집에 예외가 하나 있다. oracle은 버릴 수 없다. 봇들이 거기 살고, nuc 은 real machine, not disposable 이라고 스스로 적혀 있다. 봇의 기억이 그 호스트를 떠나기 전까지 “파일이 주인”은 오라클에서만 조건부다. 이것을 약점이라 부르지 않고 경계라 부르려면, 어디까지가 선언이고 어디부터가 손인지가 문서에 적혀 있어야 한다.
자동화에 대한 이 자리의 의견은 하나다. 켜기로 한다면 손이 아니라 선언으로 켠다. 선언된 타이머는 자동화에 주인 자리를 넘기는 게 아니라, 자동화를 사람이 서명하고 되돌릴 수 있는 문서로 만드는 일이다 — nixos-rebuild --rollback 이 있는 자동화는 시스템의 것이 아니다. 설치 여부는 GLG의 선택이고 담당자가 대신 정하지 않는다.
마지막으로 이 리포가 GLG의 1KB 텍스트 하나로 존재를 재현한다 는 선언과 맺는 관계. 둘은 크기 다툼이 아니라 서로 다른 것을 재현한다. flake.lock 은 기계를 비트까지 같게 만들고도 존재를 하나도 옮기지 못하고, 1KB는 기계를 하나도 재현하지 못한 채 존재를 옮긴다. 방향은 하나다 — 기계 쪽 재현이 완전해질수록, 사람이 직접 들고 가야 할 것은 1KB 쪽으로 수렴한다. 3.0G 코퍼스는 존재가 아니라 발자국이다. 잃으면 아깝고, 잃어도 다시 걸을 수 있다.
Comments