CustomOS CustomOS3.1 OBSIDIAN
FIREWALL VERITY VPN OFF
SIGN INACCOUNT
CustomOS Code · customos
EXPLORER
CUSTOMOS
iso
build-full-iso.sh
third-party.lock
scripts/security
customos-uki.sh
customos-verity-block.sh
customos-ai.sh
tests/security
test_ide.sh
docs
themes
733cmd_rollback() {
734    need_root rollback
735    out_dir="$CUSTOMOS_VB_DIR"
736    img=$(img_of "$out_dir"); hashdev=$(hash_of "$out_dir"); rhfile=$(rh_of "$out_dir")
737    [ -f "$img.prev" ] && [ -f "$hashdev.prev" ] && [ -f "$rhfile.prev" ] \
738        || die "no complete previous slot in $out_dir -- nothing to roll back to"
739    # Swap current <-> prev file by file (rename only). If the current slot is
740    # incomplete (an interrupted rebuild), prev simply becomes current.
741    for _f in "$img" "$hashdev" "$rhfile"; do
742        if [ -f "$_f" ]; then
743            mv -f "$_f" "$_f.swap.$$"       || die "could not stage $_f for the swap"
744            mv -f "$_f.prev" "$_f"          || die "could not promote $_f.prev"
745            mv -f "$_f.swap.$$" "$_f.prev"  || die "could not demote the old $_f"
746        else
747            mv -f "$_f.prev" "$_f"          || die "could not promote $_f.prev"
748        fi
749    done
TERMINALCLAUDE CODECOPILOT CLIOLLAMABASH
❯ claude ╭ Claude Code 2.1 · repo customos (master) ╮ > explain why rollback must restore the dpkg database too /var/lib/dpkg lives outside /usr, so a slot swap alone leaves dpkg listing packages whose files are gone — restore_dpkg_db() fixes that. (example session — Claude Code is installed only after customos-ai install claude)
masterLn 742, Col 9 · UTF-8 · LF · Shell ScriptObsidian · telemetry off · updates via customos-update
AI assistants
Example state after an explicit opt-in. A fresh install has none.
Claude Code
CLI 2.1.288 · code leaves the machine
Copilot CLI
not installed · customos-ai install copilot
Ollama
127.0.0.1:11434 · stays local
Continue
→ local Ollama · Apache-2.0
Claude and Copilot send code to third-party services. Only Ollama stays on this machine. Copilot is CLI only: there is no Copilot extension on Open VSX.
Extensions
Obsidian themebuilt in · generated from themes/obsidian.css
ContinueOpen VSX · pinned version
ClineOpen VSX · pinned version
Claude Codeproprietary · terms shown and accepted first
Extensions run unsandboxed with your privileges. Open VSX is not curated like Debian (§2.20).
customos-ai install
$ customos-ai install all (first login, after your explicit [y/N]) [ OK ] codium 1.135.06055 — pinned in iso/third-party.lock, sha256 verified at build time; its apt repo removed (customos-update owns updates) [ OK ] Claude Code 2.1.288 (native binary, sha256 OK) · Anthropic terms shown and accepted [ OK ] ollama 0.35.1 (GitHub release, sha256 OK) · bound to 127.0.0.1 only · no model downloaded: run ollama pull qwen2.5-coder:7b [ OK ] Continue → http://127.0.0.1:11434 · telemetry off · theme Obsidian · font JetBrains Mono [ -- ] Copilot CLI skipped (needs a GitHub account; install later: customos-ai install copilot) (sample run)
DEMO mode · no persistence · read-only sandbox · no real actions · © Copyright Ferran Suils