Commit Graph

29 Commits

Author SHA1 Message Date
Bastien Chanot
4f03d87a86 docs(memory): add LRN-007 (doc-drift) + BDR-008 (GPL-3.0)
- LRN-007: doc-drift detection by file mtime misses partial doc updates;
  cross-reference feature commits, not the doc timestamp.
- BDR-008: repo licensed GPL-3.0-or-later (copyleft), with rejected
  alternatives and reversibility note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P8QfqokDoggsPVhEp7FnCa
2026-06-25 11:19:21 +02:00
Bastien Chanot
00d88f723f docs(readme): document code-server + RDP, add License section
The feature batch in 0bd936b shipped code-server and gnome-remote-desktop
RDP login, but the later README edit (46512ee) only fixed the package list,
leaving both features undocumented.

- Add install steps for code-server (browser VS Code) and gnome-remote-desktop
  RDP remote login.
- Add a "Remote access" bullet to the apt package list (gnome-remote-desktop,
  openssl, code-server).
- Broaden the install.sh summary row in "What's inside".
- Replace the Lint section with a License section (GPL-3.0-or-later).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P8QfqokDoggsPVhEp7FnCa
2026-06-25 11:19:21 +02:00
Bastien Chanot
40c6524348 chore: add GPL-3.0 license
Add verbatim GPL-3.0 text (copied from /usr/share/common-licenses/GPL-3).
Repo is now licensed GPL-3.0-or-later.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P8QfqokDoggsPVhEp7FnCa
2026-06-25 11:19:21 +02:00
Bastien Chanot
46512ee2de docs(readme): fix stale wkhtmltopdf -> weasyprint in package list
install.sh installs weasyprint (HTML/CSS->PDF), not wkhtmltopdf; the apt package list in README was stale. Mirror the installer verbatim.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CN1KSmsuLG6TxSeN5m8xvM
2026-06-24 18:02:23 +02:00
Bastien Chanot
dafe9ea185 fix(install): source dtach-router at login instead of executing it
Executing dtach-router broke its return-based interactive guard and
errored on /dev/tty in non-interactive login shells (bash -lc, cron,
scp). It is now sourced via a guarded, idempotent ~/.profile block
(case $- in *i*) ... . dtach-router) installed by wire_dtach_profile(),
which migrates the old execute-based block. Also adds cc (create) and
d (re-summon) aliases to bashrc-linux.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CN1KSmsuLG6TxSeN5m8xvM
2026-06-24 18:00:52 +02:00
Bastien Chanot
c0fddc6f94 feat(install): system-wide low-disk login warning via /etc/profile.d
Add etc/profile.d/disk-usage-warning.sh (POSIX sh) that warns in bold
red at login when / or /home cross 85% usage. Deployed system-wide via
install_disk_warning() (sudo install -D -m 0644), gated inside the
apt-get block since df --output=pcent and /etc/profile.d are GNU/Debian
conventions absent on macOS. Idempotent and re-runnable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CN1KSmsuLG6TxSeN5m8xvM
2026-06-24 18:00:17 +02:00
Bastien Chanot
57cdfeaf25 docs(memory): add BDR-005 — gnome-remote-desktop over xrdp on Wayland GNOME
Record the architecture decision (rationale + rejected alternatives) behind
replacing xrdp with gnome-remote-desktop system "Remote Login" on Wayland-only
GNOME. Cross-refs LRN-004 / BLK-004.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JSFhCiEgndbRrMf7s8mmth
2026-06-23 17:55:50 +02:00
Bastien Chanot
75440741b4 docs(memory): record RDP pivot to gnome-remote-desktop (BLK-004, LRN-004)
xrdp was found incompatible with Wayland-only GNOME and replaced by
gnome-remote-desktop system "Remote Login". Add BLK-004 (mstsc 0x904/0x7 root
cause: empty gate credentials) and LRN-004 (g-r-d --system recipe + two-layer
auth), both superseding the now-outdated xrdp entries BLK-003/LRN-003, plus a
journal line. RDP connection confirmed working live.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JSFhCiEgndbRrMf7s8mmth
2026-06-23 17:48:46 +02:00
Bastien Chanot
0bd936bf33 feat(install): gnome-remote-desktop remote login + code-server; drop wkhtmltopdf
Replace the Wayland-incompatible xrdp approach with gnome-remote-desktop system
"Remote Login": idempotent self-signed TLS cert, RDP enable, and an interactive
gate-credential prompt (ensure_rdp_credentials) — skipped when already set, never
hardcoding the secret, with a non-TTY fallback that prints the manual command.
Without gate credentials the RDP server rejects every connection (mstsc 0x904).

Also bundle prior uncommitted installer work: install code-server (skip if
present), swap wkhtmltopdf -> weasyprint for PDF rendering, and append a
login-time dtach auto-router to ~/.profile.

Verified: bash -n + shellcheck clean. Not run live; RDP connection untested.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JSFhCiEgndbRrMf7s8mmth
2026-06-23 17:13:21 +02:00
Bastien Chanot
262862c1b9 fix(bashrc): add ~/.local/bin to PATH in deployed bashrc
The bin/ scripts and pipx CLIs land in ~/.local/bin, which was not on
PATH in either deployed bashrc. Add an idempotent PATH guard to
bashrc-linux and bashrc-osx so dt, claude-provider, pymupdf, etc. are
found after login. Update the install.sh and README notes to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:56:56 +02:00
Bastien Chanot
942aa8b36b docs(memory): record scrubbed OpenRouter key as BLK-002
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:51:19 +02:00
Bastien Chanot
f574554ade feat(install): expand apt packages, Docker, pipx CLIs, deploy bin/
- broaden the apt-get set: git-filter-repo, valgrind, shellcheck, gnupg,
  ca-certificates, apt-transport-https, tree, tmux, fzf, dtach, net-tools,
  openssh-server, cifs-utils, lftp, ftp, nodejs, python3-pip, pipx, php-cli,
  ffmpeg, wkhtmltopdf, poppler-utils, qpdf, webp, libavif-bin
- set up Docker's official Ubuntu repo and install engine + compose plugin
  (idempotent: skipped if docker is already present)
- install pipx CLIs PyMuPDF (pymupdf) and Markdown (markdown_py)
- deploy bin/ scripts to ~/.local/bin
- document the package set and CLI tools in README and CLAUDE.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:51:13 +02:00
Bastien Chanot
6d341f2c9f feat(bin): add dt, dtach-router, claude-provider CLI scripts
- dt: dtach session manager for claude-in-dtach sessions
- dtach-router: SSH-login dashboard to resume sessions (sourced from bashrc)
- claude-provider: switch Claude Code between Anthropic and OpenRouter;
  the OpenRouter API key is read from $OPENROUTER_API_KEY at runtime and
  is never stored in the repo

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:51:04 +02:00
Bastien Chanot
27d47ae866 docs(memory): log commit batch in journal
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:29:41 +02:00
Bastien Chanot
8769eb9bdb docs: add README and project CLAUDE.md
README documents the curl|bash one-liner (with a remote-exec
warning), the manual clone, and OS auto-detection. CLAUDE.md
records the dotfiles-meta archetype, commands, conventions, and
known issues for future sessions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:28:37 +02:00
Bastien Chanot
9162fd2e09 feat(install): add remote-install.sh curl|bash bootstrap
One-liner installer: ensure git is present (apt-get install if
missing), clone the repo to ~/config (or pull if it exists), then
run install.sh. REPO_URL/CLONE_DIR/BRANCH overridable via env.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:28:37 +02:00
Bastien Chanot
6159700714 refactor(install): auto-detect OS, drop target arg, harden script
Rework install.sh:
- detect OS via uname (Darwin -> bashrc-osx, else bashrc-linux);
  remove the {server|linux|arm|osx} argument and bashrc-server
- fix broken /tmp/config paths that made server+osx install no bashrc
- switch #!/bin/sh -> bash, add set -euo pipefail, quote expansions
- clone nerdtree into bundle (was a no-op cp of a dir), drop the
  redundant molokai clone (already tracked in vim/colors)
- guard apt-get behind command -v so macOS skips it
- make re-runnable; drop the no-op trailing 'source ~/.bashrc'

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:28:28 +02:00
Bastien Chanot
0f9b879afb chore(claude): add onboard config — memory, tasks, audit, gitignore
Onboard scaffolding for the dotfiles repo: 5 memory registries,
TODO backlog, onboard audit report, and .gitignore (ignores
Oldconfig, vim swap, .claude/settings.local.json).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:28:18 +02:00
bastien
3085b86828 test hook fix 2026-05-15 22:16:24 +02:00
bastien
2a56874597 test hook fix 2026-05-15 22:14:04 +02:00
bastien
3509b62187 test hook fix 2026-05-15 22:13:21 +02:00
bastien
ac1b733e8a test hook fix 2026-05-15 22:06:07 +02:00
bastien
63e6b61437 test mirror 2026-05-15 21:52:29 +02:00
bastien
5fd27b35f4 added nerdtree to iunstall 2025-12-11 17:03:50 +01:00
bastien
628e6d9aa0 added vim 2025-12-11 16:53:30 +01:00
bastien
f3541a6446 delete pipi 2025-12-11 16:51:30 +01:00
bastien
ecd845d5ef added install.sh 2025-12-11 16:33:12 +01:00
bastien
741612366a add bash 2025-12-11 16:32:41 +01:00
bastien
e7b8acf313 test 2025-12-11 16:30:02 +01:00