@@ -49,6 +49,7 @@ There are no tests, linters, or build steps in this repo — it is pure configur- **`dotfiles/`** — Terminal and editor config (bash, git, tmux, neovim). Neovim config is Lua-based with a custom statusline. These get COPYed into the container at build time.- **`dotfiles/host/`** — Host-side configs that don't belong in the container: Zed editor settings and Windows SSH config. These are NOT placed automatically by bootstrap.ps1; copy them manually on a fresh machine: - `dotfiles/host/zed-settings.json` -> `%APPDATA%\Zed\settings.json` - `dotfiles/host/zed-keymap.json` -> `%APPDATA%\Zed\keymap.json` - `dotfiles/host/ssh-config` -> `~\.ssh\config` (merge into existing entries if you have other Hosts already configured)- **`containers/webdev/`** — Ubuntu 24.04 dev container with Node 22, Python 3 (pip + uv), Bun, Rust (rustup-managed stable toolchain with rust-analyzer, clippy, rustfmt — for the axum projects and the Claude Code rust-analyzer LSP plugin), Docker CLI, Playwright Chromium (under `/opt/playwright-browsers`, for the Claude playwright MCP), and standard dev tools (neovim, tmux, git, rsync, htop, nmap, unzip, etc.). Stays alive via `sleep infinity`; entered through `docker exec -it ... tmux` for the TUI workflow or over SSH on host port 2222 for editor remote-dev. `entrypoint.sh` starts sshd before exec'ing CMD; host keys persist in the `bythewood-ssh` volume so fingerprints survive rebuilds. Started with `docker run --init` so PID 1 reaps zombies left behind when tmux/sshd children exit. Helper scripts (`restic-backup`, `restic-restore`, `restic-status`, `code-sync`, `server-health-check`) are baked in at `/home/dev/scripts/` and on PATH. Host setup is automated by `bootstrap.ps1`.- **`hosts/alpine/`** — Production server setup: Caddy (in Docker, auto HTTPS) on the shared `bythewood-edge` network for reverse-proxying, Docker Compose for services, restic backups to Backblaze B2, UFW firewall, push-to-deploy via git hooks.
added
dotfiles/host/zed-keymap.json
@@ -0,0 +1,32 @@// Zed keymap (host)//// Place at: %APPDATA%\Zed\keymap.json on Windows// (i.e. ~\AppData\Roaming\Zed\keymap.json)//// For information on binding keys, see the Zed// documentation: https://zed.dev/docs/key-bindings//// To see the default key bindings run `zed: open default keymap`// from the command palette.[ { "bindings": { "ctrl-b up": "workspace::ActivatePaneUp" } }, { "bindings": { "ctrl-b down": "workspace::ActivatePaneDown" } }, { "bindings": { "ctrl-b left": "workspace::ActivatePaneLeft" } }, { "bindings": { "ctrl-b right": "workspace::ActivatePaneRight" } }]
modified
dotfiles/host/zed-settings.json
@@ -10,6 +10,9 @@// custom settings, run `zed: open default settings` from the// command palette (cmd-shift-p / ctrl-shift-p){ "status_bar": { "show_active_file": false }, "cli_default_open_behavior": "existing_window", "restore_on_startup": "launchpad", "expand_excerpt_lines": 5,