setup
- hooks/
- auth.sh
Auth service kit (euler-auth): the sign-in service, and the shared /opt/euler venv it builds.
- authoring_env.sh
Shared reader for the authoring env (~/.euler/env) — which may be vault-encrypted
- chrome.sh
Install or remove Google Chrome, plus the /usr/local/bin/browser control script.
- claude_code.sh
Install, update or remove the Claude Code CLI (
claude) the AI commands drive. - ddns.sh
Dynamic DNS kit (euler-ddns): keep the edge's A record on the host's public IP.
- dev_env.sh
Install, uninstall or report the apt toolchains: C, Lua, Python and Ruby.
- egress.sh
Egress proxy kit (euler-proxy): Squid with a domain allowlist, the only way out to the internet.
- euler-ddns.sh
The euler DDNS runtime updater — deployed to /usr/local/bin/euler-ddns
- euler-smtp.py
euler-smtp — loopback SMTP submission relay.
- firewall.sh
Kernel egress firewall kit (nftables): per-uid rules for where each service may connect.
- frontend.sh
Web edge kit (euler-caddy): Caddy, acme.sh, the Caddyfile router and the static web content.
- githooks.sh
Render the git hooks from scripts/setup/hooks/ into .git/hooks/, or remove them.
- msg.sh
Message spool kit (euler-msg): the user↔staff threads service.
- nodejs.sh
Install or remove a standalone Node.js under ~/.local (dev tooling; no sudo, no apt).
- primesieve_numpy_extension.sh
Build and install the optional primesieve.numpy extension from source (NumPy 2.x).
- pycharm_service.sh
Install the PyCharm wrapper script and its systemd user service.
- site.sh
Public site kit (euler-site): what signed-out visitors read, served from the euler-content wheel.
- smtp.sh
Loopback SMTP relay kit (euler-smtp): outbound mail, with its credentials scoped to the relay.
- upgrade_service.sh
Install a systemd timer that runs an unattended apt upgrade every day.
- user.sh
Per-user tier kit (euler-user): the shared layer, and provisioning one collaborator at a time.
- venv.sh
Shared system-venv helpers: the root-owned /opt/euler venv every euler-* service runs from.