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
1# name version kind url sha256 license — consumed only by customos-fetch.sh (fail-closed) 19vscodium 1.135.06055 deb https://github.com/VSCodium/vscodium/releases/…/codium_1.135.06055_amd64.deb 5f5c00a9da9d232e4c84e9eee68bbdeb4d8737462022626ce3bdb6948f3d8649 MIT 28element-desktop 1.12.30 deb https://packages.element.io/debian/pool/main/e/element-desktop/…_amd64.deb 8db1b7bb53e96b31f77d3684776efa302cd3c518e54fece603a1f085e2c4cd93 AGPL-3.0-only
1#!/usr/bin/env bash 2# Tests for the IDE + opt-in AI assistants (THREAT_MODEL §2.20), WITHOUT network, 3# root or a real VSCodium: 4# 1) iso/third-party.lock parses: 6 fields, 64-hex sha256, https URL per entry. 5# 2) customos-fetch.sh: a wrong sha256 is REJECTED and the file deleted (mutation 6# test on a file:// fixture); the right one is accepted and cached. 9# 3) build wiring: the .deb goes through fetch/verify before 'apt-get install', 10# a mismatch aborts (fail), the vendor apt source/key are removed.
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
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.
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 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)