Commit graph

284 commits

Author SHA1 Message Date
DannyDannyDanny
af486e8a33 fix: allow unfree claude-code package on phantom-ship 🔓 2026-04-18 16:48:58 +02:00
DannyDannyDanny
7ad82a41b1 fix: permit openclaw 2026.4.12 on phantom-ship 🔓
Nixpkgs bumped openclaw version; keep both permitted so rebuild works
until we fully cut over to channels and remove the input.
2026-04-18 16:48:33 +02:00
DannyDannyDanny
d0d25160c8 feat: add bun + claude-code to phantom-ship for channels migration 🚀
Claude Code Channels will replace OpenClaw for the Telegram bot.
Channels uses claude.ai subscription auth instead of pay-as-you-go
API, sidestepping the rate limits Hara has been hitting.
2026-04-18 16:48:10 +02:00
DannyDannyDanny
a36b90e656 fix(sunken-ship): set fsType=none on /srv/music bind mount
nixos-rebuild was failing with "fsType accessed but has no value
defined" on newer nixpkgs. Bind mounts need fsType=none explicitly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 14:35:27 +02:00
DannyDannyDanny
5db45664ab feat(sunken-ship): auto-pull fitness bot from GitHub every 15 min
New fitness-bot-pull service + timer, modeled on dotfiles-rebuild.
Checks origin/main for new commits, pulls + restarts the service if
the HEAD moved. Offset by 7 min from dotfiles-rebuild to avoid
overlap.

Code now lives at github.com/DannyDannyDanny/bigbiggerbiggestbot
(cloned to /home/danny/tg_fitness_bot). workouts.db is gitignored
so it's preserved across pulls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 14:33:15 +02:00
DannyDannyDanny
b667f7c247 feat: add feishin + disable uhk 2026-04-16 09:46:30 +02:00
DannyDannyDanny
d1b0742f32 chore(disable): UHK - x86_64-linux only 2026-04-16 09:45:05 +02:00
DannyDannyDanny
72d8714e51 feat(neovim): add markdown folding by heading via Treesitter 📝 2026-04-10 12:05:34 +02:00
DannyDannyDanny
be6dde6f0a feat(sunken-ship): add cloudflare tunnel for external access 🌐
Exposes navidrome via music.dannydannydanny.me.
Bypasses CGNAT — no port forwarding needed.
Token stored outside repo at ~/.secrets/cloudflare-tunnel-token.
2026-04-06 21:19:38 +02:00
DannyDannyDanny
76f63f0ae3 fix(sunken-ship): move navidrome music folder to /srv/music — ProtectHome bypass 🎵 2026-04-06 15:36:07 +02:00
DannyDannyDanny
c31ca7d473 feat(sunken-ship): add navidrome user to users group for music dir access 🎵 2026-04-06 14:46:24 +02:00
DannyDannyDanny
f0d52aed04 feat(darwin): add uhk-agent to homebrew casks 🎹 2026-04-06 13:40:37 +02:00
DannyDannyDanny
300849b8c6 fix: neovim extraLuaConfig→initLua, remove uhk-agent (linux-only) 🔧
- programs.neovim.extraLuaConfig renamed to initLua in nixpkgs unstable
- uhk-agent is x86_64-linux only, removed from darwin home config;
  macOS: download .dmg from ultimatehackingkeyboard.com
2026-04-06 12:15:10 +02:00
DannyDannyDanny
4bccb6e6a8 fix(sunken-ship): add audioconvert to uxplay pipeline — fixes ALAC format error 🎵
feat(home): add uhk-agent for UHK keyboard configuration 🎹
2026-04-06 11:55:06 +02:00
DannyDannyDanny
74eb3a9c40 feat: rusty-anchor WoL, auto dark/light VT theme, wakeonlan on phantom-ship 🦀
- 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)
2026-04-04 21:18:44 +02:00
OpenClaw Bot
0985503002 phantom-ship: add openai-whisper to openclaw service path 2026-04-04 14:14:12 +02:00
DannyDannyDanny
3813206a3e feat: add nodejs and python3 to phantom-ship for openclaw plugins 📦 2026-04-04 13:38:04 +02:00
DannyDannyDanny
52649f500a feat: add git/nodejs to openclaw, configure GitHub PAT credential helper 🔑
Adds git and nodejs to openclaw-gateway service PATH. Configures a
git credential helper that reads a fine-grained PAT from
/etc/openclaw/github-token. Creates /var/lib/openclaw/repos for
repo clones.
2026-04-04 12:06:08 +02:00
DannyDannyDanny
369e96cbd7 security: harden openclaw-gateway systemd service 🛡️
ProtectSystem=strict, ProtectHome=read-only, PrivateTmp,
NoNewPrivileges. Only /var/lib/openclaw and /etc/openclaw
are writable.
2026-04-04 11:27:05 +02:00
DannyDannyDanny
4544635ad6 security: remove initialPassword from phantom-ship config 🔒
Password is locked in shadow and SSH is key-only, so the
initialPassword served no purpose and was a minor security concern.
2026-04-04 11:26:54 +02:00
DannyDannyDanny
4d6b64dee9 fix: add nixos-rebuild to dotfiles-rebuild PATH on sunken-ship 🔧 2026-04-04 11:26:09 +02:00
DannyDannyDanny
8ce36f8726 feat: add Flipper Zero tools (dfu-util + qFlipper) 🐬 2026-04-04 11:25:54 +02:00
DannyDannyDanny
f3854af82a fix: grant openclaw write access to config dir 🔧 2026-04-03 14:38:03 +02:00
DannyDannyDanny
0de86837df fix: set gateway.mode=local for openclaw on phantom-ship 🔧 2026-04-03 14:36:57 +02:00
DannyDannyDanny
49165590a6 feat: add fitness bot systemd service to sunken-ship
Code deployed separately via rsync (private repo, not referenced here).
Expects code at /home/danny/tg_fitness_bot/ and token at
~/.secrets/bigbiggerbiggestbot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:15:51 +02:00
DannyDannyDanny
cfa2834516 fix: permit insecure openclaw package on phantom-ship 🔓 2026-04-03 12:05:42 +02:00
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
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
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
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
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
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
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