Commit graph

602 commits

Author SHA1 Message Date
DannyDannyDanny
b04b53f9c4 feat: add OpenClaw gateway to phantom-ship 🤖
Telegram bot via nix-openclaw NixOS module. Secrets (API key,
bot token) loaded from /etc/openclaw/ at runtime. Telegram user
ID read from gitignored openclaw-allow-from.nix.
2026-04-03 12:02:02 +02:00
DannyDannyDanny
d1ab7d9a69 feat: blank phantom-ship display after 60s idle 🖥️
Same consoleblank + backlight-off pattern as sunken-ship.
2026-04-02 09:16:08 +02:00
DannyDannyDanny
5fcb54cc63 feat: NAT + DHCP on phantom-ship ethernet for rusty-anchor install 🌐
Shares WiFi internet to rusty-anchor over ethernet via dnsmasq DHCP
and iptables NAT. Rusty-anchor gets DHCP on 10.0.0.x with phantom-ship
as gateway and DNS.
2026-04-01 13:04:19 +02:00
DannyDannyDanny
14c29945eb chore: add server alerting to TODO 🔔
phantom-ship lost power unnoticed; want alerting when servers go down.
2026-04-01 10:23:36 +02:00
DannyDannyDanny
a5f0d36d82 chore: claim rusty-anchor as next hostname 🦀
Old iMac G4 / Power Mac G4 (PowerPC) — will run OpenBSD.
2026-03-31 17:19:45 +02:00
DannyDannyDanny
c43cd0ee17 fix: enable redistributable firmware on phantom-ship 📡
iwlwifi (Intel 8260 WiFi), GPU, and Bluetooth firmware were missing.
2026-03-31 15:41:33 +02:00
DannyDannyDanny
1bfd96c0d0 feat: enable WiFi on phantom-ship 📶
Uses /etc/wpa_supplicant.conf for credentials (outside repo),
same pattern as sunken-ship.
2026-03-31 15:36:34 +02:00
DannyDannyDanny
9f73571f55 fix: restore bootloader config in phantom-ship hardware nix 🥾
Accidentally stripped systemd-boot config when cleaning up duplicate
fileSystems entries.
2026-03-31 15:33:23 +02:00
DannyDannyDanny
420f3881b5 feat: add phantom-ship real hardware config 🖥️
Generated by nixos-generate-config during install; cleaned up
duplicate bind-mount entries from chroot detection.
2026-03-31 14:52:57 +02:00
DannyDannyDanny
92593c7d0a fix: add initialPassword fallback for phantom-ship console login 🔑
No password was set, locking out console access. initialPassword gives
a known fallback until SSH key is installed and password is changed.
2026-03-31 14:46:19 +02:00
DannyDannyDanny
245eb912a9 fix: find git/nix in PATH before cloning dotfiles in provisioning 🔧
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.
2026-03-31 14:30:25 +02:00
DannyDannyDanny
ef6e303a60 fix: run git from live system instead of chroot in provisioning 🔧
chroot had no nix in PATH; clone directly into /mnt/etc/dotfiles
from the live installer environment instead.
2026-03-31 14:28:35 +02:00
DannyDannyDanny
f327b8e868 feat: add post-install provisioning script 🛠️
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.
2026-03-31 14:26:46 +02:00
DannyDannyDanny
c7793b68ea fix: detect already-open LUKS device in post-install 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.
2026-03-31 14:24:58 +02:00
DannyDannyDanny
d4dbd73a8c feat(nixos): add phantom-ship host and streamline server installer
- New host config: phantom-ship.nix (SSH, auto-rebuild, nix-ld, Ethernet)
- Hardware stub: phantom-ship-hardware.nix (replaced by install script)
- Add phantom-ship to flake.nix with home-manager
- Install script now auto-provisions post-install:
  - Clones dotfiles to /etc/dotfiles
  - Installs SSH public key (SSH_PUBKEY_FILE env var)
  - Generates hardware config
  - Supports INSTALLER_HOSTNAME and INSTALLER_DISK env vars
- Fix bootstrap-install.sh default branch to main
- Update CLAUDE.md and server-installer-usb.md
2026-03-31 11:37:15 +02:00
DannyDannyDanny
2c9cf1e8b4 docs: restore USB installer and encryption TODOs 📝
Sunken-ship is not actually encrypted (plain ext4). USB installer
workflow still needs refinement.
2026-03-31 10:10:04 +02:00
DannyDannyDanny
42462f57a2 docs: replace completed TODOs with Tailscale investigation 📝 2026-03-31 10:08:30 +02:00
DannyDannyDanny
33e2e327b5 fix(nixos): increase UxPlay ALSA buffer to reduce audio chop 🐛
WiFi jitter causes underruns with default buffer. Set buffer-time
to 200ms for smoother playback.
2026-03-31 10:01:22 +02:00
DannyDannyDanny
384b84fec2 fix(nixos): enable nix-ld on sunken-ship for Claude Code 🐛
The Claude Code remote CLI is a dynamically linked binary that
fails on NixOS without a standard ld-linux stub. nix-ld provides it.
2026-03-30 23:52:03 +02:00
DannyDannyDanny
81c510ca16 docs: deduplicate AGENTS.md, defer to CLAUDE.md 📝
Remove rebuild protocol, repo rules, SSH key strategy, and server
bootstrap info that was duplicated from CLAUDE.md. Keep only
agent-specific operational details and learnings.
2026-03-30 23:44:38 +02:00
DannyDannyDanny
d7bd99744c docs: update nixos/readme.md with current host targets 📝
Replace stale #macbookair example with current macOS, WSL, and
sunken-ship rebuild commands.
2026-03-30 23:44:18 +02:00
DannyDannyDanny
d9e569d477 docs: remove stale macbookair/tmux refs from CLAUDE.md 📝 2026-03-30 23:44:02 +02:00
DannyDannyDanny
ee4c2db93f refactor: consolidate tmux config into home-manager 🎨
Remove system-level tmux.nix; home.nix is now the single source.
Port resize-pane shortcuts (H/J/K/L) from the old config.
2026-03-30 18:12:41 +02:00
DannyDannyDanny
e997a83c93 refactor(neovim): migrate to extraLuaConfig 🎨
Move Lua config out of VimScript heredoc into proper extraLuaConfig.
Use vim.opt and vim.keymap.set instead of legacy set/nnoremap.
Keep VimScript only for settings that are simpler in vim (colorscheme,
netrw, let g: vars).
2026-03-30 18:03:37 +02:00
DannyDannyDanny
533e5810a9 refactor(wsl): move user packages to home-manager 🎨
Enable home-manager on WSL, importing the shared home.nix config.
Remove duplicate packages and env vars from wsl.nix that are now
provided by home-manager (git, ripgrep, fzf, direnv, etc.).
2026-03-30 18:03:11 +02:00
DannyDannyDanny
6c057d945e chore: gitignore result symlink and openclaw dir 🙈 2026-03-30 18:02:27 +02:00
DannyDannyDanny
e44ef1fdcc chore: remove legacy macbookair host config 🔥
Superseded by daniel-macbook-air.nix (nix-darwin) and wsl.nix.
Also removes its orphaned hardware-configuration.nix.
2026-03-30 18:02:03 +02:00
DannyDannyDanny
69e07dbc14 chore: remove unused uxplay.nix 🔥
AirPlay config is inline in sunken-ship.nix; this file was never
imported.
2026-03-30 18:01:23 +02:00
DannyDannyDanny
657e250f75 fix(nixos): quote UxPlay alsasink GStreamer pipeline arg 🔧 2026-03-30 16:17:14 +02:00
DannyDannyDanny
cea6913cf3 fix(nixos): route UxPlay audio directly to ALSA on sunken-ship 🔊
Drop PipeWire (WirePlumber fails to detect ALSA cards without a
graphical session). Use GStreamer alsasink with plughw:USB,0 to
output directly to the Scarlett Solo.
2026-03-30 16:16:18 +02:00
DannyDannyDanny
84715596f5 feat(nixos): add PipeWire and fix UxPlay audio on sunken-ship 🔊
Enable PipeWire with ALSA/PulseAudio compat so GStreamer can output
audio. Move UxPlay to a user service with linger so it can reach
PipeWire. Add danny to audio group, add alsa-utils for debugging.
2026-03-30 15:49:35 +02:00
DannyDannyDanny
ee2fa1e5f1 feat(nixos): add UxPlay systemd service on sunken-ship 🔊
Audio-only AirPlay receiver that starts at boot, advertises as
"sunken-ship", and auto-restarts on failure.
2026-03-30 15:44:00 +02:00
DannyDannyDanny
e2b820aac0 feat(nixos): add UxPlay AirPlay receiver to sunken-ship 📡
Enable Avahi for mDNS discovery and open firewall ports for
AirPlay mirroring (TCP 7000-7100, UDP 5353/6000-6001/7011).
2026-03-30 15:38:27 +02:00
DannyDannyDanny
d8e5cbe26a fix(nixos): add safe.directory for dotfiles-rebuild service 🔧
Git refuses to operate on /etc/dotfiles owned by danny when the
service runs as root. Pass safe.directory via environment variables.
2026-03-30 14:20:31 +02:00
DannyDannyDanny
afbc87be2b fix(macos): sync Neovim Catppuccin with system appearance
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
2026-03-25 14:51:31 +01:00
DannyDannyDanny
bded1b359d fix(macos): install disk-inventory-x via Homebrew cask
Use the Homebrew cask on Apple Silicon because the nixpkgs package is x86_64-darwin only, and document the reason inline to prevent future regressions.

Made-with: Cursor
2026-03-25 10:54:41 +01:00
DannyDannyDanny
309d97c708 feat(nixos): add scheduled garbage collection and optimization for Nix 🎨
Implement launchd daemons for automatic Nix garbage collection and store optimization on a weekly schedule. The configuration includes intervals for both tasks to ensure efficient management of Nix store resources.
2026-03-25 10:49:37 +01:00
DannyDannyDanny
be4233a53b feat(macos): install Google Chrome via Homebrew cask
Enable declarative Homebrew cask management on the macOS host so Google Chrome is installed during darwin activation and stale Homebrew items are cleaned up with zap.

Made-with: Cursor
2026-03-24 15:17:19 +01:00
DannyDannyDanny
463249961e fix(nixos): replace removed light option and harden char-count script
Restore flake checks by removing deprecated `programs.light` from sunken-ship and switching to brightnessctl guidance. Also clean up flake formatting and make the Raycast char-count script safer for empty input.

Made-with: Cursor
2026-03-24 12:58:40 +01:00
DannyDannyDanny
befe2f8a5b chore: remove unused Alacritty duplicates and dead script
Clean up legacy Alacritty theme files and an unreferenced theme-detection script, and fix README links to existing setup docs.

Made-with: Cursor
2026-03-24 10:20:10 +01:00
DannyDannyDanny
f9edde90e4 fix(macos): make Alacritty system-theme sync robust
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
2026-03-24 10:19:41 +01:00
DannyDannyDanny
82ce5a7fe8 Rename macOS nix-darwin host to daniel-macbook-air.nix
Match hostname Daniel-Macbook-Air; update flake and docs.

Made-with: Cursor
2026-03-23 19:36:39 +01:00
DannyDannyDanny
ca0d38316f docs(agents): link macOS Alacritty system-theme notes from AGENTS.md
Made-with: Cursor
2026-03-23 19:16:22 +01:00
DannyDannyDanny
b311e21d5b feat(macos): Alacritty follows system light/dark appearance
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
2026-03-23 19:16:05 +01:00
DannyDannyDanny
18ccebc109 chore: remove all OpenClaw integration from dotfiles 🔥
OpenClaw is no longer used. Removes flake inputs (nix-openclaw,
openclaw-documents), overlays, home-manager modules, config files,
docs, and related TODO/gitignore entries.
2026-03-22 12:00:32 +01:00
DannyDannyDanny
494bc8a5f4 Fix OpenClaw gateway launch: binary renamed openclaw, add gateway subcommand
The nix-openclaw package renamed the binary from openclaw-gateway to
openclaw, and the gateway now runs as a subcommand. Also adds CLAUDE.md
and openclaw-todo.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 09:36:39 +01:00
DannyDannyDanny
dc8011d880 Update flake.lock
Made-with: Cursor
2026-03-20 08:41:16 +01:00
DannyDannyDanny
bb90cce31c Add claude-code to macbook system packages
Made-with: Cursor
2026-03-20 08:41:14 +01:00
DannyDannyDanny
5e1de21d6c Replace neofetch with fastfetch
Made-with: Cursor
2026-03-20 08:41:13 +01:00
DannyDannyDanny
0eb9d0e8ed OpenClaw: documents from local path, rebuild workaround, forgejo-cli
- Documents (SOUL/TOOLS/AGENTS) from path input to openclaw-documents-repo
- Flake: openclaw-documents.url = path to local clone (no SSH under sudo)
- Remove in-repo openclaw-documents; add docs/openclaw-documents.md
- openclaw.nix: activation backup + force for openclaw.json (TODO to remove)
- home.nix: add forgejo-cli
- .gitignore: openclaw-documents-repo; drop SOUL/TOOLS ignores
- AGENTS.md: OpenClaw docs ref
- TODO: remove OpenClaw activation/force bloat

Made-with: Cursor
2026-03-14 11:48:59 +01:00