auto-sync: 2026-10-18 22:21:16

This commit is contained in:
deytenit committed 2026-10-18 22:21:16 +03:00
1 parent f144665d31
commit 9fd683144a
6 files changed
+135 -1

No files matched your search

+65
View File
@@ -0,0 +1,65 @@
model = "gpt-6-astra"
model_reasoning_effort = "high"
service_tier = "priority"
approval_policy = "on-request"
approvals_reviewer = "auto_review"
sandbox_mode = "workspace-write"
web_search = "live"
[tui]
theme = "coldark-dark"
status_line = ["model-with-reasoning", "project-name", "context-remaining", "total-input-tokens", "total-output-tokens", "five-hour-limit", "weekly-limit"]
notifications = ["agent-turn-complete", "approval-requested"]
notification_method = "auto"
[desktop]
followUpQueueMode = "steer"
conversationDetailMode = "STEPS_COMMANDS"
ambient-suggestions-enabled = false
[features]
apps = false
worktrees = false
[mcp_servers.joplin]
command = "/bin/sh"
args = ["-c", 'exec "$HOME/.local/share/joplin-agent/runtime/bin/python" -I "$HOME/.local/share/joplin-agent/app/agent.py" serve']
enabled = true
startup_timeout_sec = 30
tool_timeout_sec = 60
[plugins."codex-app-tools@openai-bundled"]
enabled = true
[plugins."codex-app-tools@openai-bundled".mcp_servers.codex_app]
enabled = false
[plugins."browser@openai-bundled"]
enabled = true
[plugins."unified-computer-use@openai-bundled"]
enabled = true
[plugins."unified-computer-use@openai-bundled".mcp_servers.cua_repl]
enabled = false
[plugins."visualize@openai-bundled"]
enabled = true
[plugins."documents@openai-primary-runtime"]
enabled = true
[plugins."pdf@openai-primary-runtime"]
enabled = true
[plugins."spreadsheets@openai-primary-runtime"]
enabled = true
[plugins."presentations@openai-primary-runtime"]
enabled = true
[plugins."template-creator@openai-primary-runtime"]
enabled = true
[plugins."code-review@openai-bundled"]
enabled = true
[plugins."code-review@openai-bundled".mcp_servers.code-review]
enabled = false
+7
View File
@@ -0,0 +1,7 @@
name: Codex configuration
category: Agent Harness
description: Copy portable defaults while preserving existing local configuration
platforms:
generic:
copy:
- [config.base.toml, ~/.codex/config.toml]
@@ -0,0 +1,33 @@
import json
import os
from pathlib import Path
import subprocess
import sys
import tempfile
import tomllib
import unittest
ROOT = Path(__file__).resolve().parents[3]
BASE = ROOT / ".codex/config.base.toml"
def recorder(path):
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text("#!" + sys.executable + "\nimport json,sys\nprint(json.dumps(sys.argv[1:]))\n")
path.chmod(0o755)
class CodexConfigTest(unittest.TestCase):
def test_portable_joplin_launch_uses_home_with_spaces_without_path_lookup(self):
config = tomllib.loads(BASE.read_text())["mcp_servers"]["joplin"]
with tempfile.TemporaryDirectory(prefix="codex home ") as directory:
home = Path(directory)
recorder(home / ".local/share/joplin-agent/runtime/bin/python")
result = subprocess.run([config["command"], *config["args"]],
env={"HOME": str(home), "PATH": "/nonexistent"},
capture_output=True, text=True, check=True, timeout=10)
self.assertEqual(json.loads(result.stdout), ["-I", str(home / ".local/share/joplin-agent/app/agent.py"), "serve"])
if __name__ == "__main__":
unittest.main()
+2
View File
@@ -128,6 +128,8 @@ assets/**
!.codex
.codex/**
!.codex/strap.yaml
!.codex/config.base.toml
!.codex/config.strap.yaml
!.codex/status.strap.yaml
!.codex/hooks.json
!.codex/agents/
@@ -7,9 +7,35 @@ from pathlib import Path
ROOT = Path(__file__).resolve().parents[4]
sys.path.insert(0, str(ROOT / ".local/share"))
from dotfiles.strap.discovery import discover_straps
from dotfiles.strap.executor import execute_plan
from dotfiles.strap.planner import combine_plans, plan_strap
from dotfiles.strap.models import TargetState
class RepositoryStrapsTest(unittest.TestCase):
def test_codex_configuration_is_copied_and_later_local_edits_are_preserved(self):
class NoCron:
def read(self): return "\n"
def install(self, content):
if content != "\n":
raise AssertionError("Config deployment must not change cron")
for platform in ("linux", "darwin"):
with self.subTest(platform=platform), tempfile.TemporaryDirectory() as directory:
home = Path(directory) / "home"
home.mkdir()
strap = next(s for s in discover_straps(ROOT, home=home, platform_name=platform) if s.name == "Codex configuration")
plan = combine_plans((plan_strap(strap, home=home),), home=home, reconcile_all_cron=False)
execute_plan(plan, cron_backend=NoCron())
target = home / ".codex/config.toml"
self.assertFalse(target.is_symlink())
self.assertEqual(target.read_bytes(), (ROOT / ".codex/config.base.toml").read_bytes())
target.write_text('model = "machine-specific"\n')
replanned = plan_strap(strap, home=home)
self.assertEqual(replanned.actions[0].state, TargetState.SKIP)
execute_plan(combine_plans((replanned,), home=home, reconcile_all_cron=False), cron_backend=NoCron())
self.assertEqual(target.read_text(), 'model = "machine-specific"\n')
def test_repository_validates_on_linux_and_darwin_without_legacy_names(self):
with tempfile.TemporaryDirectory() as directory:
home = Path(directory) / "home"; home.mkdir()
@@ -20,7 +46,7 @@ class RepositoryStrapsTest(unittest.TestCase):
self.assertNotIn("Rofi", {item.name for item in darwin})
self.assertFalse(any(re.search(r"strap@|\.strap$", path.name) for path in ROOT.rglob("*")))
harness = {item.name: item for item in linux if item.category == "Agent Harness"}
self.assertEqual(set(harness), {"OpenCode", "Shared skills", "Shared instructions", "Codex agents", "Codex status hooks", "Gemini agents", "Joplin integration"})
self.assertEqual(set(harness), {"OpenCode", "Shared skills", "Shared instructions", "Codex agents", "Codex status hooks", "Gemini agents", "Joplin integration", "Codex configuration"})
skills = ROOT / ".config/opencode/skills"
skill_entries = {
Path("_shared/artifact-policy.md"),
+1
View File
@@ -23,6 +23,7 @@ python@3.13
rclone
restic
ripgrep
ruby@3.3
shadowsocks-rust
tree
tree-sitter-cli