Commit graph

5 commits

Author SHA1 Message Date
Brandon Schneider
0e32d2e049 devcontainer: replace Alpine base with nixos/nix; add sagemath
Dockerfile:
- FROM alpine:3.19 → FROM nixos/nix:latest
- Replace all apk add commands with nix profile install, matching the
  devPkgs set in flake.nix (the authoritative build path)
- System packages, LaTeX (texliveFull), math CLI (gnuplot, maxima,
  wxmaxima, octave, sage, typst) all installed via nix profile
- Remove separate typst binary download — nixpkgs#typst used instead
- useradd replaces adduser (nixos/nix base uses shadow-utils not busybox)

flake.nix:
- Add sage (SageMath 10.5) to devPkgs
- Add pkgs.sage/bin to container PATH

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-19 09:40:14 +00:00
Brandon Schneider
b52f79d1b4 devcontainer: add LaTeX, typst, math CLI tools, and Python math packages
flake.nix (authoritative — Nix-built OCI image):
- pythonEnv: add mpmath, matplotlib, seaborn, pandas, polars, scikit-learn
- New rEnv binding: R via rWrapper with tidyverse, ggplot2, dplyr, tidyr,
  readr, purrr, stringr, forcats, lubridate, MASS, Matrix, survival,
  knitr, rmarkdown
- devPkgs: add texliveFull, gnuplot, maxima, wxmaxima, octave, rEnv, typst
- PATH env: expose texliveFull, typst, gnuplot, maxima, octave, rEnv bins

Dockerfile (Alpine reference — kept in sync):
- apk: add texlive-full, gnuplot, maxima, octave, R
- New RUN layer: typst static binary from GitHub releases (musl build)
- uv pip install: add mpmath, matplotlib, seaborn, pandas, polars, scikit-learn

Note: sage is not packaged in nixpkgs 24.11; mpmath covers
arbitrary-precision arithmetic needs. wxmaxima omitted from Dockerfile
(requires display server; headless image).

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-19 09:35:35 +00:00
Brandon Schneider
e2bbb611ea devcontainer: bake Tailscale static binary into Alpine image
- Add iproute2 to apk dependencies (needed by tailscaled)
- Download latest Tailscale stable release at build time via pkgs.tailscale.com
  and install tailscale + tailscaled to /usr/local/bin
- Write a _ts_start() shell function into /home/researcher/.bashrc that:
  - starts tailscaled in userspace-networking mode (no TUN device, no root)
  - uses a per-user socket at ~/.local/share/tailscale/tailscaled.sock
  - is a no-op if the daemon is already running

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-19 09:18:40 +00:00
Brandon Schneider
fd863af6fd Expand devcontainer with full Python stack, add MCP servers (Notion/AWS), strengthen Lean theorems
- .devcontainer/Dockerfile: add PostgreSQL client libs, OpenSSL/libffi headers, gfortran/BLAS for scipy, rclone; install full Python dependency set (boto3, psycopg2-binary, fastapi, uvicorn, notion-client, httpx, pytest, numpy, scipy, etc.) in uv-managed venv; add rclone S3 gateway init script as ENTRYPOINT
- .devcontainer/devcontainer.json: switch from build to pre-built image (localhost/research
2026-05-19 01:52:14 -05:00
Brandon Schneider
5a763468c9 integrate infrastructure config, axiom cleanup, and documentation updates
- cupfox-config.nix: add Open WebUI container with chat.researchstack.info proxy,
  gather-metrics service/timer, rclone, and tmpfiles for persistent storage
- Lean semantics: reduce axiom count from 109 to 18 across 10 files;
  FixedPoint now 0 axioms, 0 sorries with 12 theorems
- Documentation: update AGENTS.md with current axiom/sorry counts and
  FixedPoint status; refine bind signature
- Add topology scripts, CGA/FAMM/GeneticOptimizer/MMRFAMM Lean modules,
  devcontainer config, MEMORY.md, and Modelfile
2026-05-17 12:03:19 -05:00