bot.py was deleted upstream — neither prod nor shipyard launches a
polling bot anymore. server.py only needs python-dotenv + aiohttp.
Also refresh the prod section's comment + service description to
reflect the Mini-App-only architecture.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Stage 4f cleanup. The flake moved from ~/dotfiles/nixos/ to ~/dotfiles/
in 88c5139; docs and install scripts hadn't been refreshed. Point all
rebuild / flake references at the new root:
- AGENTS.md, README.md, server-quickstart.md, docs/server-installer-usb.md,
docs/sunken-ship-wifi.md, nixos/readme.md — rebuild command paths.
- scripts/nixos-server-install.sh — auto-detect now looks for flake.nix
at repo root (was nixos/flake.nix).
- scripts/post-install-provision.sh — first-rebuild hint path.
`nixos/hosts/<host>-hardware.nix` and friends stay where they are —
host-specific NixOS modules still live under nixos/; only the flake
entry-points + sops/ + vars/ + lib/ + modules/ + flake-modules/ moved.
nixos/readme.md rewritten to reflect the split (flake at root, per-host
modules under nixos/).
- Enable Wake-on-LAN (magic packet) on rusty-anchor enp2s0 via systemd service
- Add vt-theme script to rusty-anchor: switches between Catppuccin Latte/Mocha
- Theme state persisted in /etc/vt-theme, applied on login via profile.d
- alacritty-sync-system-theme.sh now SSHes to rusty-anchor and pushes the
macOS light/dark change (best-effort, non-blocking, skips if unchanged)
- Add wakeonlan to phantom-ship packages (wakeonlan 00:16:cb:87:20:ba)
Live installer strips PATH under sudo; extend PATH to include nix
profile dirs. Prefer git directly if available, fall back to nix run.
No chroot involved.
Standalone script for completing provisioning after disko-install
(mounts installed system, clones dotfiles, installs SSH key, generates
hardware config). Run via curl for single-command provisioning.
disko-install leaves the LUKS device open; re-opening failed with
"Device crypted already exists". Now detects the open mapper and
skips the redundant cryptsetup open call.
Write ~/.local/share/nvim_color_scheme from the same macOS Appearance probe as Alacritty; trim the nvim theme line read for robustness.
Made-with: Cursor
New setup follow-up: ensure activation seeds a writable active-colors file and make theme sync always enforce the current system appearance.
Made-with: Cursor
New setup — due for review after you run darwin-rebuild switch and
live with it for a few days. See CLAUDE.md (Alacritty) and
assets/alacritty/README.md.
- HM: import active-colors.toml + Catppuccin latte/mocha fragments
- nix-darwin: launchd.user.agents.alacritty-system-theme + PATH helper
- fish: background sync on Darwin; theme.sh no longer rebuilds for Alacritty
- Remove switch-alacritty-theme.sh (sed + darwin-rebuild per toggle)
Made-with: Cursor
- Fix exception handling to catch URLError before generic Exception
- Add WebSocket fallback attempt when HTTP endpoint fails
- Note: WebSocket fallback may not work as Firefox uses different protocol than CDP
- Known issue: HTTP /json/list endpoint closes connection even when DevTools shows connected
- Add get_tabs_via_websocket() to query tabs via WebSocket when HTTP /json/list fails
- Update get_tabs_via_rdp() to try WebSocket fallback
- Update get_tab_html_async() to use WebSocket fallback for getting tab WebSocket URLs
- Known issue: HTTP endpoint may not respond even when DevTools shows connected
- Replace asyncio.get_event_loop() with asyncio.get_running_loop()
- Add better error messages when HTTP endpoint fails
- Show available tab IDs when tab not found
- Handle HTTP endpoint connection failures gracefully
- Document new 'content' command for fetching HTML from tabs
- Add troubleshooting section for HTTP endpoint issues
- Add instructions for running from Nix development shell
- Note requirement for 'nix develop -c $(which fish)'
- Add WebSocket connection functions for Firefox Remote Debugging Protocol
- Implement CDP Runtime.evaluate protocol communication
- Add 'content' command to fetch HTML from tabs via WebSocket
- Add get_tab_html() function to orchestrate HTML retrieval
- Increase connection timeout for RDP requests
- Remove trailing whitespaces from all .nix files
- Remove trailing whitespaces from shell scripts
- Remove trailing whitespaces from README files
- Improves code consistency and follows best practices
- Add 'theme status' command to show current theme status across platforms
- Add 'theme toggle' command to switch between light and dark themes
- Improve toggle logic to read current theme from platform-specific sources
- Update documentation to include new commands
- Maintain backward compatibility with existing theme light/dark commands
- Create unified theme.sh script that works on both WSL and macOS
- Update fish alias to use new unified script instead of WSL-specific one
- Maintain backward compatibility with existing theme command
- Update documentation to reflect unified approach
- Script automatically detects platform and calls appropriate functionality