From 7dc2b581d3afc4c7e3bb3bae7939a7856354d5a5 Mon Sep 17 00:00:00 2001 From: naps62 Date: Mon, 17 Aug 2026 06:46:15 +0000 Subject: [PATCH] feat: declare aoe config as a shared module Vendors config.toml and moves the package into common/programs/aoe, so any host that wants aoe imports one thing. Co-Authored-By: Claude Opus 5 --- home/common/programs/aoe/config.toml | 123 +++++++++++++++++++++++++++ home/common/programs/aoe/default.nix | 20 +++++ home/yolo/default.nix | 10 +-- 3 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 home/common/programs/aoe/config.toml create mode 100644 home/common/programs/aoe/default.nix diff --git a/home/common/programs/aoe/config.toml b/home/common/programs/aoe/config.toml new file mode 100644 index 0000000..7728162 --- /dev/null +++ b/home/common/programs/aoe/config.toml @@ -0,0 +1,123 @@ +default_profile = "default" + +[acp] +allow_agent_install = false +auto_stop_idle_secs = 0 +default_agent = "claude" +max_concurrent_workers = 5 +node_path = "" +rate_limit_auto_resume = false +replay_events = 0 +show_tool_durations = true +silent_orphan_grace_secs = 120 + +[auth] +persist_sessions = true + +[diff] +context_lines = 3 +split_view = false + +[hooks] + +[host_hooks] + +[logging] +default_level = "info" +file_path = "debug.log" +keep_count = 5 +max_size_mib = 50 +output = "file" +rotation = "size" +show_spans = false + +[logging.targets] + +[sandbox] +auto_cleanup = true +container_runtime = "docker" +default_image = "ghcr.io/agent-of-empires/aoe-sandbox:latest" +default_terminal_mode = "host" +enabled_by_default = false +environment = [ + "TERM", + "COLORTERM", + "FORCE_COLOR", + "NO_COLOR", +] +extra_volumes = [] +mount_ssh = false +selinux_relabel = false +volume_ignores = [] +volume_ignores_strategy = "anonymous" + +[session] +agent_status_hooks = true +auto_stop_idle_secs = 0 +click_action = "live_send" +confirm_before_quit = false +confirm_delete = false +default_attach_mode = "tmux" +delete_to_trash = false +live_send_exit_chord = "C-q" +live_send_leader = "C-b" +merge_hooks_into_selected_agent = true +mouse_capture = true +restart_wake_message = "wake up: pick up what you were doing" +row_tag = "none" +show_tips = true +smart_rename = true +smart_rename_agent = "" +snooze_duration_minutes = 30 +strict_hotkeys = false +tie_workdir_to_name = true +trash_retention_days = 30 +unread_indicator = true +yolo_mode_default = true + +[session.agent_detect_as] +kimiclaude = "claude" +synclaude = "claude" + +[session.custom_agents] +kimiclaude = "kimiclaude" +synclaude = "synclaude" + +[sound] +enabled = false + +[status_hooks] +enabled = false + +[telemetry] +enabled = false + +[theme] +color_mode = "truecolor" +idle_decay_minutes = 0 +name = "" + +[tmux] +clipboard = "auto" +mouse = "auto" +status_bar = "auto" + +[updates] +auto_update_plugins = false +update_check_mode = "notify" + +[web] +notifications_enabled = true +notify_on_error = true +notify_on_idle = false +notify_on_waiting = true +notify_on_wake_fire = true + +[worktree] +auto_cleanup = true +bare_repo_path_template = "./{branch}" +delete_branch_on_cleanup = false +enabled = true +init_submodules = true +path_template = "../{repo-name}-worktrees/{branch}" +workspace_path_template = "../{branch}-workspace-{session-id}" diff --git a/home/common/programs/aoe/default.nix b/home/common/programs/aoe/default.nix new file mode 100644 index 0000000..f981f54 --- /dev/null +++ b/home/common/programs/aoe/default.nix @@ -0,0 +1,20 @@ +{ + pkgs, + inputs, + ... +}: +# Agent of Empires: the agent session manager. Import this on any host that +# wants it — it brings both the package and the shared settings. +{ + home.packages = [ inputs.agent-of-empires.packages.${pkgs.system}.default ]; + + # mutableFiles, not xdg.configFile: aoe rewrites this file itself (it keeps + # .bak- copies), so a read-only store symlink would break it. The copy + # is change-detected — activation aborts and tells you to bring edits back + # here rather than silently reverting them. + # + # Only config.toml. The rest of ~/.config/agent-of-empires is per-machine + # state (state.toml, projects.json, tui-*, locks) or secret + # (serve.saved_passphrase). + home.mutableFiles.".config/agent-of-empires/config.toml".source = ./config.toml; +} diff --git a/home/yolo/default.nix b/home/yolo/default.nix index 34ea86d..54a4c8c 100644 --- a/home/yolo/default.nix +++ b/home/yolo/default.nix @@ -1,6 +1,5 @@ { - pkgs, - inputs, + lib, ... }: { @@ -11,6 +10,7 @@ ../common/programs/hyprland ../common/programs/kitty ../common/programs/gpg.nix + ../common/programs/aoe ../common/features/xdg.nix ../common/features/downloads-cleanup.nix ./monitors.nix @@ -19,9 +19,9 @@ custom.hyprland.cursorSize = 32; - # The agent session manager the hourlog/week-review timers drive. Was a - # hand-installed binary in ~/.local/bin on the Ubuntu box. - home.packages = [ inputs.agent-of-empires.packages.${pkgs.system}.default ]; + # mutable-file change hints print this path; the clone lives under ~/tea here, + # not the ~/projects default in common/programs. + home.mutableFilesRepoPath = lib.mkForce "/home/naps62/tea/naps62/nixos-config"; # Blur and shadow cost a fullscreen pass per frame, and every frame here is # also x264-encoded for the stream — on a virtio-gpu with no VirGL, in software.