Commit graph

734 commits

Author SHA1 Message Date
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
DannyDannyDanny
e4dd491359 OpenClaw: stop tracking SOUL.md and TOOLS.md (private docs)
Made-with: Cursor
2026-03-14 10:53:08 +01:00
DannyDannyDanny
703720da96 OpenClaw: integrate in dotfiles flake, secrets from files
- Add nix-openclaw to flake; OpenClaw config in home/danny/openclaw.nix
- Gateway token from ~/.secrets/openclaw-gateway-token via wrapper script
- Telegram allowFrom from gitignored openclaw-allow-from.nix (example committed)
- openclaw-documents (AGENTS.md, SOUL.md, TOOLS.md) for workspace
- AGENTS.md: note OpenClaw config location and apply command

Made-with: Cursor
2026-03-14 10:51:52 +01:00
DannyDannyDanny
9519804cc6 Set danny password on disk after install (chroot chpasswd) so it always works; re-prompt LUKS once
Made-with: Cursor
2026-03-08 19:05:06 +01:00
DannyDannyDanny
2fad0036ba Install script: prompt for danny password during install so console login works after reboot
Made-with: Cursor
2026-03-08 18:55:13 +01:00
DannyDannyDanny
c9247b8144 Bootstrap: run install script with stdin from /dev/tty so prompts work when piped from curl
Made-with: Cursor
2026-03-08 18:39:51 +01:00
DannyDannyDanny
0fb4fe7d6c Set efiSysMountPoint = /boot so systemd-boot install succeeds with disko
Made-with: Cursor
2026-03-08 18:38:26 +01:00
DannyDannyDanny
52d60b9ce0 Install fixes: bootstrap-install.sh (curl one-liner), nix flags in script, mkDefault hostname, doc typos/verify
Made-with: Cursor
2026-03-08 18:06:54 +01:00
DannyDannyDanny
adae5e49f8 Add write-installer-iso-to-usb-on-server.sh; build script SSH key fix; doc
Made-with: Cursor
2026-03-08 16:49:34 +01:00
DannyDannyDanny
d3b9ffc703 Doc: official ISO from macOS; custom ISO build on Linux only
Made-with: Cursor
2026-03-08 16:21:24 +01:00
DannyDannyDanny
3e07a55f5b Add NixOS server installer USB (disko LUKS + WiFi, hostname prompt)
- disko-server.nix: LUKS + ESP + ext4 root layout for disko-install
- server-install: minimal NixOS config for new servers (hostname/WiFi via --system-config)
- installer-iso: custom minimal ISO with iwlwifi; build with nix build .#installer-iso
- scripts/nixos-server-install.sh: prompt hostname/disk, run disko-install
- docs/server-installer-usb.md: build, write USB, optional live/installed WiFi
- .gitignore: nixos/installer-wifi.nix; AGENTS.md + README.md notes

Made-with: Cursor
2026-03-08 16:16:25 +01:00
DannyDannyDanny
b29d170654 doc: add instructions for running commands on sunken-ship via SSH 📝 2026-03-08 15:59:13 +01:00
DannyDannyDanny
c8e255654c doc: sunken-ship WiFi configuration guide 📝 2026-03-08 15:58:51 +01:00
DannyDannyDanny
9011f8b302 doc: hostname candidates for server naming with Monte Cristo theme 📝 2026-03-08 15:58:24 +01:00
DannyDannyDanny
53feadc69d TODO: reorder - boot USB first, telegram bot last
Made-with: Cursor
2026-03-08 15:35:57 +01:00
DannyDannyDanny
bfc592417c TODO: mark sunken-ship wifi as done, remove from list
Made-with: Cursor
2026-03-08 15:35:53 +01:00
DannyDannyDanny
a114d2fc0c feat(sunken-ship): enable wireless networking support 2026-03-08 12:47:32 +01:00
DannyDannyDanny
4102a919ef doc: TODO list to reflect new tasks and remove completed items 📝
- Changed the first task to connect sunken-ship to the internet via wifi instead of ethernet.
- Updated the second task to host the telegram bot again, clarifying its purpose.
- Removed completed tasks related to SSH key management and server configuration.
2026-03-08 12:09:24 +01:00
DannyDannyDanny
e38640f8ea docs: add server-todo-ssh-key.md with ssh-keygen command (moved from .cursor/plans)
Made-with: Cursor
2026-03-08 12:06:53 +01:00