From 7b23a572216be5774162bbba9b1ebafee2c10519 Mon Sep 17 00:00:00 2001 From: liph Date: Sat, 4 Jul 2026 00:21:43 +0200 Subject: [PATCH] added pi --- Splitkeyboard/split.vil | 1 - Splitkeyboard/split_symbols.vil | 1 - Splitkeyboard/split_updated_symbols.vil | 1 - aerc/.config/aerc/aerc.conf | 2 +- .../pipewire-pulse.service | 1 + .../default.target.wants/pipewire.service | 1 + .../default.target.wants/syncthing.service | 1 + .../opentabletdriver.service | 1 + .../user/pipewire-session-manager.service | 1 + .../wireplumber.service | 1 + .../pipewire-pulse.socket | 1 + .../user/sockets.target.wants/pipewire.socket | 1 + kitty/.config/kitty/current-theme.conf | 81 ++-- kitty/.config/kitty/kitty.conf | 2 +- kitty/.config/kitty/kitty.conf.bak | 2 +- niri/.config/niri/config.kdl | 63 ++- nvim/.config/nvim/lazy-lock.json | 41 +- nvim/.config/nvim/lua/current_theme.lua | 4 +- opencode/.config/opencode/package-lock.json | 383 ++++++++++++++++++ pi/.pi/agent/auth.json | 6 + pi/.pi/agent/models.json | 17 + pi/.pi/agent/npm/.gitignore | 2 + ...019f2996-7388-7bc6-8899-2b3590c1fbb3.jsonl | 6 + ...019f29f5-3c45-7f17-9952-15ab6a780033.jsonl | 6 + ...019f2a0d-fbce-77ce-b7b1-189e1834e1a7.jsonl | 7 + ...019f2a0e-95d2-7370-a95b-b30aab5baa39.jsonl | 25 ++ ...019f2a10-bbbe-7659-805c-fc1aa88218f7.jsonl | 33 ++ ...019f2a04-fa55-7e90-9f5e-9dce206df54e.jsonl | 5 + ...019f2a06-30c2-7d11-a3de-b96f712fce62.jsonl | 5 + ...019f2a07-4155-72ba-9422-b34fbe2788da.jsonl | 5 + ...019f2a07-b9c0-741c-8d4a-1977214bfc02.jsonl | 5 + ...019f2a08-a6f6-7f80-b388-3886fe68b451.jsonl | 5 + ...019f2a0c-4831-7b44-acd9-44e93fe1c192.jsonl | 8 + pi/.pi/agent/settings.json | 13 + .../context-mode/content/aa673b1056f331f7.db | Bin 0 -> 245760 bytes .../context-mode/sessions/590c1894467d14ef.db | Bin 0 -> 53248 bytes .../sessions/590c1894467d14ef.db-shm | Bin 0 -> 32768 bytes .../sessions/590c1894467d14ef.db-wal | 0 .../context-mode/sessions/aa673b1056f331f7.db | Bin 0 -> 69632 bytes .../sessions/stats-pid-1374687.json | 1 + .../sessions/stats-pid-1462008.json | 1 + .../sessions/stats-pid-1464359.json | 1 + .../sessions/stats-pid-1466317.json | 1 + .../sessions/stats-pid-1467504.json | 1 + .../sessions/stats-pid-1468533.json | 1 + .../sessions/stats-pid-1469564.json | 1 + .../sessions/stats-pid-1475152.json | 1 + .../sessions/stats-pid-1479267.json | 1 + .../sessions/stats-pid-1481856.json | 1 + .../sessions/stats-pid-1488412.json | 1 + tmux/.tmux.conf | 63 ++- tmux/.tmuxp/home.yaml | 6 +- wezterm/.config/wezterm/wezterm.lua | 2 +- wofi/.config/wofi/style.css | 35 +- yazi/.config/yazi/init.lua | 6 +- .../yazi/plugins/whoosh.yazi/bookmarks | 20 +- zshrc/.aliases.zsh | 10 +- zshrc/.plugins.zsh | 2 +- zshrc/.zshrc | 18 +- 59 files changed, 781 insertions(+), 129 deletions(-) delete mode 100644 Splitkeyboard/split.vil delete mode 100644 Splitkeyboard/split_symbols.vil delete mode 100644 Splitkeyboard/split_updated_symbols.vil create mode 120000 kanata/.config/systemd/user/default.target.wants/pipewire-pulse.service create mode 120000 kanata/.config/systemd/user/default.target.wants/pipewire.service create mode 120000 kanata/.config/systemd/user/default.target.wants/syncthing.service create mode 120000 kanata/.config/systemd/user/graphical-session.target.wants/opentabletdriver.service create mode 120000 kanata/.config/systemd/user/pipewire-session-manager.service create mode 120000 kanata/.config/systemd/user/pipewire.service.wants/wireplumber.service create mode 120000 kanata/.config/systemd/user/sockets.target.wants/pipewire-pulse.socket create mode 120000 kanata/.config/systemd/user/sockets.target.wants/pipewire.socket create mode 100644 opencode/.config/opencode/package-lock.json create mode 100644 pi/.pi/agent/auth.json create mode 100644 pi/.pi/agent/models.json create mode 100644 pi/.pi/agent/npm/.gitignore create mode 100644 pi/.pi/agent/sessions/--home-liph--/2026-07-03T20-05-53-672Z_019f2996-7388-7bc6-8899-2b3590c1fbb3.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph--/2026-07-03T21-49-25-445Z_019f29f5-3c45-7f17-9952-15ab6a780033.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-16-27-342Z_019f2a0d-fbce-77ce-b7b1-189e1834e1a7.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-17-06-770Z_019f2a0e-95d2-7370-a95b-b30aab5baa39.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-19-27-550Z_019f2a10-bbbe-7659-805c-fc1aa88218f7.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-06-37-141Z_019f2a04-fa55-7e90-9f5e-9dce206df54e.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-07-56-611Z_019f2a06-30c2-7d11-a3de-b96f712fce62.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-06-389Z_019f2a07-4155-72ba-9422-b34fbe2788da.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-37-216Z_019f2a07-b9c0-741c-8d4a-1977214bfc02.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-10-37-942Z_019f2a08-a6f6-7f80-b388-3886fe68b451.jsonl create mode 100644 pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-14-35-825Z_019f2a0c-4831-7b44-acd9-44e93fe1c192.jsonl create mode 100644 pi/.pi/agent/settings.json create mode 100644 pi/.pi/context-mode/content/aa673b1056f331f7.db create mode 100644 pi/.pi/context-mode/sessions/590c1894467d14ef.db create mode 100644 pi/.pi/context-mode/sessions/590c1894467d14ef.db-shm create mode 100644 pi/.pi/context-mode/sessions/590c1894467d14ef.db-wal create mode 100644 pi/.pi/context-mode/sessions/aa673b1056f331f7.db create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1374687.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1462008.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1464359.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1466317.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1467504.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1468533.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1469564.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1475152.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1479267.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1481856.json create mode 100644 pi/.pi/context-mode/sessions/stats-pid-1488412.json diff --git a/Splitkeyboard/split.vil b/Splitkeyboard/split.vil deleted file mode 100644 index 1a006a5..0000000 --- a/Splitkeyboard/split.vil +++ /dev/null @@ -1 +0,0 @@ -{"version": 1, "uid": 5010774632021243529, "layout": [[["KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_PGUP"], ["KC_CAPSLOCK", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_PGDOWN"], ["KC_NO", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_LBRACKET", "KC_P", "KC_O", "KC_I", "KC_U", "KC_Y", "KC_BSPACE"], ["KC_QUOTE", "KC_SCOLON", "KC_L", "KC_K", "KC_J", "KC_H", "M5"], ["KC_MINUS", "KC_SLASH", "KC_DOT", "KC_COMMA", "KC_M", "KC_N", -1], [-1, -1, -1, "KC_BSPACE", "MO(2)", "KC_ENTER", -1]], [["KC_TAB", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_LCTRL"], ["KC_CAPSLOCK", "KC_NO", "TD(0)", "KC_NO", "M0", "M8", "KC_LALT"], ["M3", "KC_NONUS_BSLASH", "KC_NO", "KC_NO", "M1", "M2", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_BSPACE", "KC_0", "KC_9", "KC_8", "KC_7", "KC_6", "KC_RCTRL"], ["KC_NONUS_HASH", "KC_NO", "KC_RIGHT", "KC_UP", "KC_DOWN", "KC_LEFT", "M6"], ["LSFT(KC_RBRACKET)", "KC_MINUS", "KC_EQUAL", "KC_NO", "KC_NO", "KC_NO", -1], [-1, -1, -1, "KC_TRNS", "MO(2)", "KC_ENTER", -1]], [["KC_TAB", "LSFT(KC_1)", "LSFT(KC_2)", "LSFT(KC_3)", "LSFT(KC_4)", "LSFT(KC_5)", "KC_LCTRL"], ["KC_CAPSLOCK", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_LALT"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_BSPACE", "LSFT(KC_0)", "LSFT(KC_9)", "LSFT(KC_8)", "LSFT(KC_7)", "LSFT(KC_6)", "KC_RCTRL"], ["KC_GRAVE", "KC_BSLASH", "KC_RBRACKET", "KC_LBRACKET", "KC_EQUAL", "KC_MINUS", "M7"], ["LSFT(KC_GRAVE)", "LSFT(KC_BSLASH)", "LSFT(KC_RBRACKET)", "LSFT(KC_LBRACKET)", "LSFT(KC_EQUAL)", "LSFT(KC_MINUS)", -1], [-1, -1, -1, "KC_TRNS", "MO(2)", "KC_ENTER", -1]], [["RGB_HUI", "RGB_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT"], ["KC_CAPSLOCK", "RGB_TOG", "RGB_SAI", "RGB_VAI", "KC_NO", "KC_NO", "QK_REBOOT"], ["RGB_HUD", "RGB_RMOD", "RGB_SAD", "RGB_VAD", "KC_NO", "KC_NO", -1], [-1, -1, -1, "M4", "KC_TRNS", "KC_SPACE", -1], ["KC_NO", "KC_KP_ASTERISK", "KC_KP_SLASH", "KC_KP_9", "KC_KP_8", "KC_KP_7", "KC_NUMLOCK"], ["KC_NO", "KC_KP_PLUS", "KC_KP_MINUS", "KC_KP_6", "KC_KP_5", "KC_KP_4", "M4"], ["KC_NO", "KC_KP_EQUAL", "KC_KP_COMMA", "KC_KP_3", "KC_KP_2", "KC_KP_1", -1], [-1, -1, -1, "KC_KP_DOT", "KC_KP_0", "KC_ENTER", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]]], "encoder_layout": [[["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]]], "layout_options": 0, "macro": [[["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_4"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_5"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_6"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_8"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_0"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(0)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_1"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 10], ["tap", "DF(1)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_2"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(2)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_3"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(3)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_7"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [], [], [], [], [], [], []], "vial_protocol": 6, "via_protocol": 9, "tap_dance": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200]], "combo": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]], "key_override": [{"trigger": "KC_NO", "replacement": "LSFT(KC_NO)", "layers": 65535, "trigger_mods": 64, "negative_mod_mask": 240, "suppressed_mods": 0, "options": 135}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}], "alt_repeat_key": [], "settings": {"1": 0, "2": 50, "3": 0, "4": 175, "5": 5, "6": 5000, "7": 200, "8": 0, "9": 10, "10": 20, "11": 8, "12": 10, "13": 30, "14": 10, "15": 80, "16": 8, "17": 40, "18": 0, "19": 80, "20": 7, "21": 0}} \ No newline at end of file diff --git a/Splitkeyboard/split_symbols.vil b/Splitkeyboard/split_symbols.vil deleted file mode 100644 index 0a33b10..0000000 --- a/Splitkeyboard/split_symbols.vil +++ /dev/null @@ -1 +0,0 @@ -{"version": 1, "uid": 5010774632021243529, "layout": [[["KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_PGUP"], ["KC_CAPSLOCK", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_PGDOWN"], ["KC_NO", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_LBRACKET", "KC_P", "KC_O", "KC_I", "KC_U", "KC_Y", "KC_NO"], ["KC_QUOTE", "KC_SCOLON", "KC_L", "KC_K", "KC_J", "KC_H", "M5"], ["KC_MINUS", "KC_SLASH", "KC_DOT", "KC_COMMA", "KC_M", "KC_N", -1], [-1, -1, -1, "KC_BSPACE", "MO(2)", "KC_ENTER", -1]], [["KC_TAB", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_LCTRL"], ["KC_CAPSLOCK", "KC_NO", "TD(0)", "KC_NO", "M0", "M8", "KC_LALT"], ["M3", "KC_NONUS_BSLASH", "KC_NO", "KC_NO", "M1", "M2", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_BSPACE", "KC_0", "KC_9", "KC_8", "KC_7", "KC_6", "KC_RCTRL"], ["KC_NO", "KC_NO", "KC_RIGHT", "KC_UP", "KC_DOWN", "KC_LEFT", "M6"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", -1], [-1, -1, -1, "KC_DELETE", "MO(2)", "KC_ENTER", -1]], [["KC_NO", "LGUI(KC_1)", "LGUI(KC_2)", "LGUI(KC_3)", "LGUI(KC_4)", "LGUI(KC_5)", "M9"], ["KC_NO", "KC_NONUS_BSLASH", "LSFT(KC_8)", "RALT(KC_8)", "RALT(KC_5)", "RALT(KC_G)", "M10"], ["KC_NO", "RSFT(KC_NONUS_BSLASH)", "LSFT(KC_9)", "RALT(KC_9)", "RALT(KC_6)", "MEH(KC_NO)", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["KC_NO", "LGUI(KC_0)", "LGUI(KC_9)", "LGUI(KC_8)", "LGUI(KC_7)", "LGUI(KC_6)", "KC_NO"], ["RSFT(KC_5)", "KC_MINUS", "RSFT(KC_3)", "LSFT(KC_7)", "RSFT(KC_MINUS)", "RALT(KC_3)", "M7"], ["RSFT(KC_6)", "LSFT(KC_2)", "RSFT(KC_1)", "RALT(KC_7)", "RSFT(KC_RBRACKET)", "RALT(KC_N)", -1], [-1, -1, -1, "KC_TRNS", "MO(2)", "KC_ENTER", -1]], [["RGB_HUI", "RGB_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT"], ["KC_CAPSLOCK", "RGB_TOG", "RGB_SAI", "RGB_VAI", "KC_NO", "KC_NO", "QK_REBOOT"], ["RGB_HUD", "RGB_RMOD", "RGB_SAD", "RGB_VAD", "KC_NO", "KC_NO", -1], [-1, -1, -1, "M4", "KC_TRNS", "KC_SPACE", -1], ["KC_NO", "KC_KP_ASTERISK", "KC_KP_SLASH", "KC_KP_9", "KC_KP_8", "KC_KP_7", "KC_NUMLOCK"], ["KC_NO", "KC_KP_PLUS", "KC_KP_MINUS", "KC_KP_6", "KC_KP_5", "KC_KP_4", "M4"], ["KC_NO", "KC_KP_EQUAL", "KC_KP_COMMA", "KC_KP_3", "KC_KP_2", "KC_KP_1", -1], [-1, -1, -1, "KC_KP_DOT", "KC_KP_0", "KC_ENTER", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]]], "encoder_layout": [[["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]]], "layout_options": 0, "macro": [[["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_4"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_5"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_6"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_8"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_0"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(0)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_1"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 10], ["tap", "DF(1)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_2"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(2)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_3"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(3)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_7"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_RALT"], ["delay", 10], ["tap", "KC_6"], ["up", "KC_RALT"], ["tap", "KC_S"]], [["tap", "KC_Y", "KC_KP_EQUAL"]], [], [], [], [], []], "vial_protocol": 6, "via_protocol": 9, "tap_dance": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200]], "combo": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]], "key_override": [{"trigger": "KC_NO", "replacement": "LSFT(KC_NO)", "layers": 65535, "trigger_mods": 64, "negative_mod_mask": 240, "suppressed_mods": 0, "options": 135}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}], "alt_repeat_key": [], "settings": {"1": 0, "2": 50, "3": 0, "4": 175, "5": 5, "6": 5000, "7": 200, "8": 0, "9": 10, "10": 20, "11": 8, "12": 10, "13": 30, "14": 10, "15": 80, "16": 8, "17": 40, "18": 0, "19": 80, "20": 7, "21": 0}} \ No newline at end of file diff --git a/Splitkeyboard/split_updated_symbols.vil b/Splitkeyboard/split_updated_symbols.vil deleted file mode 100644 index a23a7fd..0000000 --- a/Splitkeyboard/split_updated_symbols.vil +++ /dev/null @@ -1 +0,0 @@ -{"version": 1, "uid": 5010774632021243529, "layout": [[["KC_TAB", "TD(1)", "TD(2)", "TD(3)", "TD(4)", "TD(5)", "KC_PGUP"], ["KC_CAPSLOCK", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_PGDOWN"], ["M4", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", -1], [-1, -1, -1, "MO(3)", "MO(1)", "KC_SPACE", -1], ["KC_LBRACKET", "TD(10)", "TD(9)", "TD(8)", "TD(7)", "TD(6)", "KC_NO"], ["KC_QUOTE", "KC_SCOLON", "KC_L", "KC_K", "KC_J", "KC_H", "M5"], ["KC_NO", "KC_SLASH", "KC_DOT", "KC_COMMA", "KC_M", "KC_N", -1], [-1, -1, -1, "KC_BSPACE", "MO(2)", "KC_ENTER", -1]], [["KC_TAB", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_PGUP"], ["KC_CAPSLOCK", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_PGDOWN"], ["M4", "KC_NO", "KC_NO", "SGUI(KC_C)", "KC_NO", "KC_NO", -1], [-1, -1, -1, "MO(3)", "MO(1)", "KC_SPACE", -1], ["KC_NO", "KC_0", "KC_9", "KC_8", "KC_7", "KC_6", "M3"], ["KC_NO", "KC_NO", "KC_RIGHT", "KC_UP", "KC_DOWN", "KC_LEFT", "M6"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", -1], [-1, -1, -1, "KC_DELETE", "MO(2)", "KC_ENTER", -1]], [["KC_NO", "LGUI(KC_1)", "LGUI(KC_2)", "LGUI(KC_3)", "LGUI(KC_4)", "LGUI(KC_5)", "KC_NO"], ["KC_NO", "KC_NONUS_BSLASH", "LSFT(KC_8)", "RALT(KC_8)", "RALT(KC_5)", "RALT(KC_G)", "KC_NO"], ["M4", "RSFT(KC_NONUS_BSLASH)", "LSFT(KC_9)", "RALT(KC_9)", "RALT(KC_6)", "RALT(KC_3)", -1], [-1, -1, -1, "M4", "MO(1)", "KC_SPACE", -1], ["RSFT(KC_5)", "LGUI(KC_0)", "LGUI(KC_9)", "LGUI(KC_8)", "LGUI(KC_7)", "LGUI(KC_6)", "KC_NO"], ["KC_BSLASH", "LSFT(KC_2)", "RSFT(KC_3)", "LSFT(KC_7)", "RSFT(KC_MINUS)", "RALT(KC_3)", "M7"], ["RSFT(KC_6)", "KC_MINUS", "RSFT(KC_1)", "RALT(KC_7)", "RSFT(KC_RBRACKET)", "RALT(KC_N)", -1], [-1, -1, -1, "KC_NO", "MO(2)", "KC_ENTER", -1]], [["RGB_HUI", "RGB_MOD", "RGB_SAI", "RGB_VAI", "M0", "M8", "QK_BOOT"], ["RGB_HUD", "RGB_TOG", "RGB_SAD", "RGB_VAD", "M1", "M2", "QK_REBOOT"], ["M4", "RGB_RMOD", "KC_NO", "KC_MUTE", "KC_VOLD", "KC_VOLU", -1], [-1, -1, -1, "M4", "KC_TRNS", "KC_SPACE", -1], ["KC_NO", "KC_KP_ASTERISK", "KC_KP_SLASH", "KC_KP_9", "KC_KP_8", "KC_KP_7", "KC_NUMLOCK"], ["KC_NO", "KC_KP_PLUS", "KC_KP_MINUS", "KC_KP_6", "KC_KP_5", "KC_KP_4", "M4"], ["KC_NO", "KC_KP_EQUAL", "KC_KP_0", "KC_KP_3", "KC_KP_2", "KC_KP_1", -1], [-1, -1, -1, "KC_BSPACE", "KC_KP_COMMA", "KC_ENTER", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]], [["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, "KC_TRNS", "KC_TRNS", "KC_TRNS", -1]]], "encoder_layout": [[["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["RGB_MOD", "RGB_RMOD"], ["RGB_HUI", "RGB_HUD"], ["RGB_VAI", "RGB_VAD"], ["RGB_SAI", "RGB_SAD"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]], [["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"], ["KC_TRNS", "KC_TRNS"]]], "layout_options": 0, "macro": [[["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_4"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_5"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_6"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_8"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_0"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(0)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_1"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 10], ["tap", "DF(1)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_2"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(2)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_3"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"], ["delay", 20], ["tap", "DF(3)"]], [["down", "KC_LGUI"], ["delay", 10], ["down", "KC_LCTRL"], ["tap", "KC_7"], ["up", "KC_LCTRL"], ["delay", 10], ["up", "KC_LGUI"]], [["down", "KC_RALT"], ["delay", 10], ["tap", "KC_6"], ["up", "KC_RALT"], ["tap", "KC_S"]], [["tap", "KC_Y", "KC_KP_EQUAL"]], [], [], [], [], []], "vial_protocol": 6, "via_protocol": 9, "tap_dance": [["KC_NO", "MO(1)", "KC_NO", "MO(3)", 300], ["KC_Q", "KC_1", "KC_NO", "KC_NO", 200], ["KC_W", "KC_2", "KC_NO", "KC_NO", 200], ["KC_E", "KC_3", "KC_NO", "KC_NO", 200], ["KC_R", "KC_4", "KC_NO", "KC_NO", 200], ["KC_T", "KC_5", "KC_NO", "KC_NO", 200], ["KC_Y", "KC_6", "KC_NO", "KC_NO", 200], ["KC_U", "KC_7", "KC_NO", "KC_NO", 200], ["KC_I", "KC_8", "KC_NO", "KC_NO", 200], ["KC_O", "KC_9", "KC_NO", "KC_NO", 200], ["KC_P", "KC_0", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200]], "combo": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO"]], "key_override": [{"trigger": "KC_NO", "replacement": "LSFT(KC_NO)", "layers": 65535, "trigger_mods": 64, "negative_mod_mask": 240, "suppressed_mods": 0, "options": 135}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}], "alt_repeat_key": [], "settings": {"1": 0, "2": 50, "3": 0, "4": 175, "5": 5, "6": 5000, "7": 200, "8": 0, "9": 10, "10": 20, "11": 8, "12": 10, "13": 30, "14": 10, "15": 80, "16": 8, "17": 40, "18": 0, "19": 80, "20": 7, "21": 0}} \ No newline at end of file diff --git a/aerc/.config/aerc/aerc.conf b/aerc/.config/aerc/aerc.conf index 8ac250f..fc82445 100644 --- a/aerc/.config/aerc/aerc.conf +++ b/aerc/.config/aerc/aerc.conf @@ -93,7 +93,7 @@ index-columns=flags:4,name<35%,subject,date>= column-name={{if match .Folder "(?i)Sent|Gesendet"}}{{index (.To | persons) 0}}{{else}}{{index (.From | persons) 0}}{{end}} border-char-vertical="│" border-char-horizontal="─" -styleset-name="gruvbox-dark" +styleset-name="rose-pine" threading-enabled=true # diff --git a/kanata/.config/systemd/user/default.target.wants/pipewire-pulse.service b/kanata/.config/systemd/user/default.target.wants/pipewire-pulse.service new file mode 120000 index 0000000..f631f69 --- /dev/null +++ b/kanata/.config/systemd/user/default.target.wants/pipewire-pulse.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire-pulse.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/default.target.wants/pipewire.service b/kanata/.config/systemd/user/default.target.wants/pipewire.service new file mode 120000 index 0000000..47f171d --- /dev/null +++ b/kanata/.config/systemd/user/default.target.wants/pipewire.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/default.target.wants/syncthing.service b/kanata/.config/systemd/user/default.target.wants/syncthing.service new file mode 120000 index 0000000..d55cc27 --- /dev/null +++ b/kanata/.config/systemd/user/default.target.wants/syncthing.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/syncthing.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/graphical-session.target.wants/opentabletdriver.service b/kanata/.config/systemd/user/graphical-session.target.wants/opentabletdriver.service new file mode 120000 index 0000000..21ea4c9 --- /dev/null +++ b/kanata/.config/systemd/user/graphical-session.target.wants/opentabletdriver.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/opentabletdriver.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/pipewire-session-manager.service b/kanata/.config/systemd/user/pipewire-session-manager.service new file mode 120000 index 0000000..a092a62 --- /dev/null +++ b/kanata/.config/systemd/user/pipewire-session-manager.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/wireplumber.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/pipewire.service.wants/wireplumber.service b/kanata/.config/systemd/user/pipewire.service.wants/wireplumber.service new file mode 120000 index 0000000..a092a62 --- /dev/null +++ b/kanata/.config/systemd/user/pipewire.service.wants/wireplumber.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/wireplumber.service \ No newline at end of file diff --git a/kanata/.config/systemd/user/sockets.target.wants/pipewire-pulse.socket b/kanata/.config/systemd/user/sockets.target.wants/pipewire-pulse.socket new file mode 120000 index 0000000..45f6209 --- /dev/null +++ b/kanata/.config/systemd/user/sockets.target.wants/pipewire-pulse.socket @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire-pulse.socket \ No newline at end of file diff --git a/kanata/.config/systemd/user/sockets.target.wants/pipewire.socket b/kanata/.config/systemd/user/sockets.target.wants/pipewire.socket new file mode 120000 index 0000000..d871d81 --- /dev/null +++ b/kanata/.config/systemd/user/sockets.target.wants/pipewire.socket @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire.socket \ No newline at end of file diff --git a/kitty/.config/kitty/current-theme.conf b/kitty/.config/kitty/current-theme.conf index a856d7f..4d4de88 100644 --- a/kitty/.config/kitty/current-theme.conf +++ b/kitty/.config/kitty/current-theme.conf @@ -1,47 +1,56 @@ -background #282828 -foreground #d4be98 +## name: Rosé Pine Moon +## author: mvllow +## license: MIT +## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf +## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist -selection_background #d4be98 -selection_foreground #282828 +foreground #e0def4 +background #232136 +selection_foreground #e0def4 +selection_background #44415a -cursor #a89984 -cursor_text_color background +cursor #56526e +cursor_text_color #e0def4 -active_tab_background #282828 -active_tab_foreground #d4be98 -active_tab_font_style bold -inactive_tab_background #282828 -inactive_tab_foreground #a89984 -inactive_tab_font_style normal +url_color #c4a7e7 -# Black -color0 #665c54 -color8 #928374 +active_tab_foreground #e0def4 +active_tab_background #393552 +inactive_tab_foreground #6e6a86 +inactive_tab_background #232136 -# Red -color1 #ea6962 -color9 #ea6962 +active_border_color #3e8fb0 +inactive_border_color #44415a -# Green -color2 #a9b665 -color10 #a9b665 +# black +color0 #393552 +color8 #6e6a86 -# Yellow -color3 #e78a4e -color11 #d8a657 +# red +color1 #eb6f92 +color9 #eb6f92 -# Blue -color4 #7daea3 -color12 #7daea3 +# green +color2 #3e8fb0 +color10 #3e8fb0 -# Magenta -color5 #d3869b -color13 #d3869b +# yellow +color3 #f6c177 +color11 #f6c177 -# Cyan -color6 #89b482 -color14 #89b482 +# blue +color4 #9ccfd8 +color12 #9ccfd8 + +# magenta +color5 #c4a7e7 +color13 #c4a7e7 + +# cyan +color6 #ea9a97 +color14 #ea9a97 + +# white +color7 #e0def4 +color15 #e0def4 -# White -color7 #d4be98 -color15 #d4be98 diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index 8ac10cc..a809503 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -1,5 +1,5 @@ # BEGIN_KITTY_THEME -# Gruvbox Material +# Rosé Pine Moon include current-theme.conf # END_KITTY_THEME # diff --git a/kitty/.config/kitty/kitty.conf.bak b/kitty/.config/kitty/kitty.conf.bak index e440f1e..8ac10cc 100644 --- a/kitty/.config/kitty/kitty.conf.bak +++ b/kitty/.config/kitty/kitty.conf.bak @@ -1,5 +1,5 @@ # BEGIN_KITTY_THEME -# Kanagawa +# Gruvbox Material include current-theme.conf # END_KITTY_THEME # diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl index bec0c6a..dd389c4 100644 --- a/niri/.config/niri/config.kdl +++ b/niri/.config/niri/config.kdl @@ -38,10 +38,22 @@ output "eDP-1" { position x=0 y=0 focus-at-startup } +output "eDP-2" { + mode "2880x1800@59.990" + scale 1.1 + position x=0 y=0 + focus-at-startup +} +output "eDP-3" { + mode "2880x1800@59.990" + scale 1.1 + position x=0 y=0 + focus-at-startup +} output "DP-4" { mode "2560x1440@59.951" position x=1645 y=0 - scale 0.8 + scale 1.1 } layout { gaps 2 @@ -133,6 +145,10 @@ window-rule { open-maximized true open-floating false } +window-rule { + match app-id="steam_app_4197610" + open-fullscreen true +} window-rule { match at-startup=false app-id="obsidian" open-maximized true @@ -150,6 +166,13 @@ window-rule { clip-to-geometry true open-floating false } +window-rule { + match app-id="tidal-hifi" + open-maximized true + clip-to-geometry true + open-floating false + open-on-workspace "4" +} window-rule { match app-id="Tor Browser" open-maximized true @@ -186,6 +209,13 @@ window-rule { } open-floating true } +window-rule { + match app-id="floating_musikcube" + default-column-width { + proportion 0.6667 + } + open-floating true +} window-rule { match app-id="floating_htop" default-column-width { @@ -262,25 +292,28 @@ binds { spawn "wofi" "--show" "drun" } Mod+Mod5+Q hotkey-overlay-title="Open Htop" { - spawn "kitty" "--class" "floating_htop" "-e" "htop" + spawn "wezterm" "start" "--class" "floating_htop" "-e" "htop" } Mod+Mod5+W hotkey-overlay-title="Open Btop" { - spawn "kitty" "--class" "floating_btop" "-e" "btop" - } + spawn "wezterm" "start" "--class" "floating_btop" "-e" "btop" + } Mod+Mod5+E hotkey-overlay-title="Open Pulsemixer" { - spawn "kitty" "--class" "floating_pulsemixer" "-e" "pulsemixer" + spawn "wezterm" "start" "--class" "floating_pulsemixer" "-e" "pulsemixer" } Mod+Mod5+R allow-inhibiting=false hotkey-overlay-title="Open Bluetui" { - spawn "kitty" "--class" "floating_bluetui" "-e" "bluetui" + spawn "wezterm" "start" "--class" "floating_bluetui" "-e" "bluetui" } Mod+Mod5+T hotkey-overlay-title="Open Wavemon" { - spawn "kitty" "--class" "floating_wavemon" "-e" "wavemon" + spawn "wezterm" "start" "--class" "floating_wavemon" "-e" "wavemon" } Mod+Mod5+Z hotkey-overlay-title="Open network-tui" { - spawn "kitty" "--class" "floating_network-tui" "-e" "network-tui" + spawn "wezterm" "start" "--class" "floating_network-tui" "-e" "network-tui" + } + Mod+Mod5+U hotkey-overlay-title="Open Musikcube" { + spawn "wezterm" "start" "--class" "floating_musikcube" "-e" "musikcube" } Mod+Mod5+Y hotkey-overlay-title="Open Yazi" { - spawn "kitty" "--class" "floating_yazi" "-e" "yazi" + spawn "wezterm" "start" "--class" "floating_yazi" "-e" "yazi" } // Brightness Controll Mod+Ctrl+0 { @@ -539,12 +572,12 @@ binds { } // Cycling through the presets in reverse order is also possible. // Mod+R { switch-preset-column-width-back; } - Mod+Shift+R { - switch-preset-window-height - } - Mod+Ctrl+R { - reset-window-height - } + // Mod+Shift+R { + // switch-preset-window-height + // } + // Mod+Ctrl+R { + // reset-window-height + // } Mod+F { maximize-column } diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 3a1b1f6..6b909d1 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,9 +1,8 @@ { - "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" }, - "R.nvim": { "branch": "main", "commit": "fc42c220764268cfa28a2a17a776bb5f4eb94f46" }, + "R.nvim": { "branch": "main", "commit": "0c15985056bff2f473ceaf04eae31622e21ac25b" }, "barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" }, - "catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" }, + "catppuccin": { "branch": "main", "commit": "0303a7208dba448c459767486a38a6ec05c4216b" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, @@ -12,7 +11,7 @@ "cmp-r": { "branch": "main", "commit": "70bfe8f4c062acc10266e24825439c009a0b1b89" }, "cmp-vimtex": { "branch": "master", "commit": "c09ca05bfa0641754516f13294d73d3799a02fc8" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" }, + "conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" }, "dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" }, @@ -20,30 +19,30 @@ "everforest": { "branch": "master", "commit": "aeef62ee97872d2557d25904d160ec93a4a355f8" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "fzf-lua": { "branch": "main", "commit": "17e3507b788699776ba6d2f8dd101ec177f37a96" }, + "fzf-lua": { "branch": "main", "commit": "fea9eedc6894c44d44cbb772a5cd11c93b82d7a1" }, "gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, "gruvbox-mat": { "branch": "master", "commit": "11d779b26a9ab2b3db8c22c6ac9fb6e8ed4fea79" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, - "kanagawa.nvim": { "branch": "master", "commit": "8ad3b4cdcc804b332c32db8f9743667e1bb82b99" }, + "kanagawa.nvim": { "branch": "master", "commit": "bb85e4bfc8d89b0e62c8fa53ccdd13d12e2f77b3" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" }, "live-preview.nvim": { "branch": "main", "commit": "c1fcf75c5f9c9c01dd392852de44204b60f1b5b1" }, "lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" }, "luvit-meta": { "branch": "main", "commit": "cc9b2d412d2fbd30b94a70cfc214c2a3be27a0a2" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "0c2823e0418f3d9230ff8b201c976e84de1cb401" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" }, - "mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "84c75e7a7e443586f60508d12fc50f90d9aee14e" }, - "neogit": { "branch": "master", "commit": "e74dfb42c04b493031f323aec8fa5f28b0427b9e" }, + "mason.nvim": { "branch": "main", "commit": "bb639d4bf385a4d89f478b83af4d770be05ab7eb" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "ebd66767191714e008ce73b769518a763ff31bdc" }, + "neogit": { "branch": "master", "commit": "99326a1310fb2d616b455d2fd16d01bf00682f06" }, "nightfox.nvim": { "branch": "main", "commit": "26b61b1f856ec37cae3cb64f5690adb955f246a1" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" }, "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" }, - "nvim-lspconfig": { "branch": "master", "commit": "31026a13eefb20681124706a79fc1df6bf11ab27" }, + "nvim-lint": { "branch": "master", "commit": "d48f3a76189d03b2239f6df1b2f7e3fa8353743b" }, + "nvim-lspconfig": { "branch": "master", "commit": "9573948c38bfabeec353ae7dd7d3ffec4c506a6b" }, "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" }, "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, "nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" }, @@ -53,24 +52,24 @@ "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "6141a40173c6efa98242dc951ed4b6f892c97027" }, "nvim-ufo": { "branch": "main", "commit": "ab3eb124062422d276fae49e0dd63b3ad1062cfc" }, - "nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" }, + "nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, "onedark-warm": { "branch": "master", "commit": "df4792accde9db0043121f32628bcf8e645d9aea" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, "portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "08783ec022e7ddefe0f12a16f1ac4968f55478b0" }, - "render-markdown.nvim": { "branch": "main", "commit": "3f3eea97b80839f629c951ca660ffd125bfa5b34" }, - "rose-pine": { "branch": "main", "commit": "6a961effd67f6130d36df6d1c05c48c739796dd2" }, - "snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "a798325b7f36acc62741d1029930a7b96d4dd4bf" }, + "render-markdown.nvim": { "branch": "main", "commit": "5adf0895310c1904e5abfaad40a2baad7fe44a07" }, + "rose-pine": { "branch": "main", "commit": "ff483051a47e27d84bdef47703538df1ed9f4a47" }, + "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" }, "sonokai": { "branch": "master", "commit": "b023c5280b16fe2366f5e779d8d2756b3e5ee9c3" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "f04ab730b8f9c6bf3f54a206d0dcddfd70c52d59" }, + "telescope.nvim": { "branch": "master", "commit": "7d324792b7943e4aa16ad007212e6acc6f9fe335" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, "tokyonight": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, - "vimtex": { "branch": "master", "commit": "97e11bd4f56d46a87f8593d6ccb27820e19c4ab0" }, + "vimtex": { "branch": "master", "commit": "24e229914182ff301496a3e2c4214b28c4928d3f" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }, - "yazi.nvim": { "branch": "main", "commit": "aada50881aca7d13422e02a6681b8f0a0ec9a75c" } + "yazi.nvim": { "branch": "main", "commit": "3902c5d06be1242e6000ef8166ee35fa768c8332" } } diff --git a/nvim/.config/nvim/lua/current_theme.lua b/nvim/.config/nvim/lua/current_theme.lua index 03d5772..7327793 100644 --- a/nvim/.config/nvim/lua/current_theme.lua +++ b/nvim/.config/nvim/lua/current_theme.lua @@ -1,9 +1,9 @@ --- vim.cmd.colorscheme("rose-pine") +vim.cmd.colorscheme("rose-pine") -- vim.cmd.colorscheme("sonokai") -- vim.cmd.colorscheme("one-dark") -- vim.cmd.colorscheme("nightfox") -- vim.cmd.colorscheme("kanagawa") -vim.cmd.colorscheme("gruvbox-material") +-- vim.cmd.colorscheme("gruvbox-material") -- vim.cmd.colorscheme("everforest") -- vim.cmd.colorscheme("dracula") -- vim.cmd.colorscheme("carbonfox") diff --git a/opencode/.config/opencode/package-lock.json b/opencode/.config/opencode/package-lock.json new file mode 100644 index 0000000..8e4fec7 --- /dev/null +++ b/opencode/.config/opencode/package-lock.json @@ -0,0 +1,383 @@ +{ + "name": "opencode", + "version": "file:../../dotfiles/opencode/.config/opencode", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@opencode-ai/plugin": "1.15.11" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.4.tgz", + "integrity": "sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.4.tgz", + "integrity": "sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.4.tgz", + "integrity": "sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.4.tgz", + "integrity": "sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.4.tgz", + "integrity": "sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.4.tgz", + "integrity": "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@opencode-ai/plugin": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.15.11.tgz", + "integrity": "sha512-RDvYDCHO0+3OAGD590oDQqtryrENrUW04SjtoA4sgRV2efpZeBFjx3TnonBsXKq6nWqYg172nhltUEZsihGnXQ==", + "license": "MIT", + "dependencies": { + "@opencode-ai/sdk": "1.15.11", + "effect": "4.0.0-beta.66", + "zod": "4.1.8" + }, + "peerDependencies": { + "@opentui/core": ">=0.2.15", + "@opentui/keymap": ">=0.2.15", + "@opentui/solid": ">=0.2.15" + }, + "peerDependenciesMeta": { + "@opentui/core": { + "optional": true + }, + "@opentui/keymap": { + "optional": true + }, + "@opentui/solid": { + "optional": true + } + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@opencode-ai/sdk": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.15.11.tgz", + "integrity": "sha512-IyYyDVsO8SKbKbkSadHpDuYnYC+2vmEeLU+rW+rH2M54Sigq6l3gDHno16+U6SRut+lowbph7v/ry3WbV67V3w==", + "license": "MIT", + "dependencies": { + "cross-spawn": "7.0.6" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/effect": { + "version": "4.0.0-beta.66", + "resolved": "https://registry.npmjs.org/effect/-/effect-4.0.0-beta.66.tgz", + "integrity": "sha512-4arEr62cziFa8BBVDUwJCJJmaVepXf/kRg7KtC0h8+bufngscrHbwWFhr9c+HonwOF+31U3iD3xUJmw9KzX7Dw==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "fast-check": "^4.6.0", + "find-my-way-ts": "^0.1.6", + "ini": "^6.0.0", + "kubernetes-types": "^1.30.0", + "msgpackr": "^1.11.9", + "multipasta": "^0.2.7", + "toml": "^4.1.1", + "uuid": "^13.0.0", + "yaml": "^2.8.3" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/fast-check": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.8.0.tgz", + "integrity": "sha512-GOJ158CUMnN6cSahsv4+ExARvIDuzzinFjkp0E9WtiBa5zcVeLozVkWaE4IzFcc+Y48Wp1EDlUZsXRyAztQcSg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "dependencies": { + "pure-rand": "^8.0.0" + }, + "engines": { + "node": ">=12.17.0" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/find-my-way-ts": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz", + "integrity": "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==", + "license": "MIT" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/ini": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/kubernetes-types": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/kubernetes-types/-/kubernetes-types-1.30.0.tgz", + "integrity": "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==", + "license": "Apache-2.0" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/msgpackr": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.12.1.tgz", + "integrity": "sha512-4EUH9tQHnMmEgzW/MdAP0KIfa1T9AF+htl0ffe2n5vb2EKn9y2co8ccpgWko6S52Jy1PQZKwRnx5/KkYjtd9MQ==", + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/msgpackr-extract": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.4.tgz", + "integrity": "sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.4" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/multipasta": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.7.tgz", + "integrity": "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==", + "license": "MIT" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/pure-rand": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.0.tgz", + "integrity": "sha512-IoM8YF/jY0hiugFo/wOWqfmarlE6J0wc6fDK1PhftMk7MGhVZl88sZimmqBBFomLOCSmcCCpsfj7wXASCpvK9A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "../../dotfiles/opencode/.config/opencode/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/toml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/toml/-/toml-4.1.1.tgz", + "integrity": "sha512-EBJnVBr3dTXdA89WVFoAIPUqkBjxPMwRqsfuo1r240tKFHXv3zgca4+NJib/h6TyvGF7vOawz0jGuryJCdNHrw==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/uuid": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.2.tgz", + "integrity": "sha512-vzi9uRZ926x4XV73S/4qQaTwPXM2JBj6/6lI/byHH1jOpCzb0zDbfytgA9LcN/hzb2l7WQSQnxITOVx5un/wGw==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "../../dotfiles/opencode/.config/opencode/node_modules/zod": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.8.tgz", + "integrity": "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/pi/.pi/agent/auth.json b/pi/.pi/agent/auth.json new file mode 100644 index 0000000..0ff8608 --- /dev/null +++ b/pi/.pi/agent/auth.json @@ -0,0 +1,6 @@ +{ + "ollama-cloud": { + "type": "api_key", + "key": "c06adb6cc58a4c3aaa459bd75f42085b.EAGExkidZO9hklD3KWhWL2Uu" + } +} \ No newline at end of file diff --git a/pi/.pi/agent/models.json b/pi/.pi/agent/models.json new file mode 100644 index 0000000..284d825 --- /dev/null +++ b/pi/.pi/agent/models.json @@ -0,0 +1,17 @@ +{ + "providers": { + "ollama": { + "baseUrl": "https://ollama.liphlink.xyz/v1", + "api": "openai-completions", + "apiKey": "44273bd555df45a19fdc850cda42446a.1RJeOoiWkxI5RgyEA-mMHbSK", + "models": [ + { + "id": "minimax-m3:cloud" + }, + { + "id": "kimi-k2.6:cloud" + } + ] + } + } +} diff --git a/pi/.pi/agent/npm/.gitignore b/pi/.pi/agent/npm/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/pi/.pi/agent/npm/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/pi/.pi/agent/sessions/--home-liph--/2026-07-03T20-05-53-672Z_019f2996-7388-7bc6-8899-2b3590c1fbb3.jsonl b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T20-05-53-672Z_019f2996-7388-7bc6-8899-2b3590c1fbb3.jsonl new file mode 100644 index 0000000..16773ff --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T20-05-53-672Z_019f2996-7388-7bc6-8899-2b3590c1fbb3.jsonl @@ -0,0 +1,6 @@ +{"type":"session","version":3,"id":"019f2996-7388-7bc6-8899-2b3590c1fbb3","timestamp":"2026-07-03T20:05:53.672Z","cwd":"/home/liph"} +{"type":"thinking_level_change","id":"881aa3c6","parentId":null,"timestamp":"2026-07-03T20:05:54.081Z","thinkingLevel":"off"} +{"type":"model_change","id":"fc309990","parentId":"881aa3c6","timestamp":"2026-07-03T20:06:46.987Z","provider":"ollama-cloud","modelId":"minimax-m3"} +{"type":"thinking_level_change","id":"ec087725","parentId":"fc309990","timestamp":"2026-07-03T20:06:46.988Z","thinkingLevel":"medium"} +{"type":"message","id":"713185a0","parentId":"ec087725","timestamp":"2026-07-03T20:06:51.022Z","message":{"role":"user","content":[{"type":"text","text":"hi"}],"timestamp":1783109211016}} +{"type":"message","id":"e99c6c2a","parentId":"713185a0","timestamp":"2026-07-03T20:06:53.619Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just said \"hi\". I should respond briefly and ask what they need help with.","thinkingSignature":"reasoning"},{"type":"text","text":"Hi! What can I help you with today?"}],"api":"openai-completions","provider":"ollama-cloud","model":"minimax-m3","usage":{"input":2017,"output":31,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":2048,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783109211146,"responseId":"chatcmpl-88"}} diff --git a/pi/.pi/agent/sessions/--home-liph--/2026-07-03T21-49-25-445Z_019f29f5-3c45-7f17-9952-15ab6a780033.jsonl b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T21-49-25-445Z_019f29f5-3c45-7f17-9952-15ab6a780033.jsonl new file mode 100644 index 0000000..e81c54f --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T21-49-25-445Z_019f29f5-3c45-7f17-9952-15ab6a780033.jsonl @@ -0,0 +1,6 @@ +{"type":"session","version":3,"id":"019f29f5-3c45-7f17-9952-15ab6a780033","timestamp":"2026-07-03T21:49:25.445Z","cwd":"/home/liph"} +{"type":"model_change","id":"96f3fe13","parentId":null,"timestamp":"2026-07-03T21:49:25.755Z","provider":"ollama-cloud","modelId":"minimax-m3"} +{"type":"thinking_level_change","id":"675440d6","parentId":"96f3fe13","timestamp":"2026-07-03T21:49:25.755Z","thinkingLevel":"medium"} +{"type":"model_change","id":"49f85436","parentId":"675440d6","timestamp":"2026-07-03T21:49:41.702Z","provider":"ollama-cloud","modelId":"kimi-k2.6"} +{"type":"message","id":"b5f2617e","parentId":"49f85436","timestamp":"2026-07-03T21:49:44.565Z","message":{"role":"user","content":[{"type":"text","text":"test"}],"timestamp":1783115384179}} +{"type":"message","id":"a9d7e05a","parentId":"b5f2617e","timestamp":"2026-07-03T21:49:47.520Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just said \"test\". This is a very minimal input. Given the context-mode is active and there's session state, I should probably acknowledge that I'm here and ready to help. Since the user just said \"test\", they might be checking if I'm responsive.\n\nI should respond concisely, acknowledging context-mode is active, and ask what they'd like me to do or confirm I'm ready.","thinkingSignature":"reasoning"},{"type":"text","text":"I'm here and ready. Context-mode is active with the full tool hierarchy available.\n\nWhat would you like to do?"}],"api":"openai-completions","provider":"ollama-cloud","model":"kimi-k2.6","usage":{"input":13024,"output":102,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13126,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783115384664,"responseId":"chatcmpl-623"}} diff --git a/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-16-27-342Z_019f2a0d-fbce-77ce-b7b1-189e1834e1a7.jsonl b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-16-27-342Z_019f2a0d-fbce-77ce-b7b1-189e1834e1a7.jsonl new file mode 100644 index 0000000..0448bac --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-16-27-342Z_019f2a0d-fbce-77ce-b7b1-189e1834e1a7.jsonl @@ -0,0 +1,7 @@ +{"type":"session","version":3,"id":"019f2a0d-fbce-77ce-b7b1-189e1834e1a7","timestamp":"2026-07-03T22:16:27.342Z","cwd":"/home/liph"} +{"type":"model_change","id":"28144e56","parentId":null,"timestamp":"2026-07-03T22:16:27.674Z","provider":"ollama","modelId":"kimi-k2.6:cloud"} +{"type":"thinking_level_change","id":"01c204b0","parentId":"28144e56","timestamp":"2026-07-03T22:16:27.674Z","thinkingLevel":"off"} +{"type":"message","id":"1e8f81ec","parentId":"01c204b0","timestamp":"2026-07-03T22:16:28.112Z","message":{"role":"user","content":[{"type":"text","text":"hello"}],"timestamp":1783116987748}} +{"type":"message","id":"f2dd8fef","parentId":"1e8f81ec","timestamp":"2026-07-03T22:16:30.243Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user said \"hello\". I should greet them back and ask how I can help.","thinkingSignature":"reasoning"},{"type":"text","text":"Hello! How can I help you today?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13024,"output":28,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13052,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116988173,"responseId":"chatcmpl-291","responseModel":"kimi-k2.6"}} +{"type":"message","id":"11be1539","parentId":"f2dd8fef","timestamp":"2026-07-03T22:16:30.299Z","message":{"role":"user","content":[{"type":"text","text":"there"}],"timestamp":1783116990298}} +{"type":"message","id":"c8135f0f","parentId":"11be1539","timestamp":"2026-07-03T22:16:32.234Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user said \"hello\" then \"there\". Context-mode is active. I should greet them and ask how I can help.","thinkingSignature":"reasoning"},{"type":"text","text":"Hello! Context-mode is active and ready. How can I help you today?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13044,"output":43,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13087,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116990300,"responseId":"chatcmpl-492","responseModel":"kimi-k2.6"}} diff --git a/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-17-06-770Z_019f2a0e-95d2-7370-a95b-b30aab5baa39.jsonl b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-17-06-770Z_019f2a0e-95d2-7370-a95b-b30aab5baa39.jsonl new file mode 100644 index 0000000..e89ecc2 --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-17-06-770Z_019f2a0e-95d2-7370-a95b-b30aab5baa39.jsonl @@ -0,0 +1,25 @@ +{"type":"session","version":3,"id":"019f2a0e-95d2-7370-a95b-b30aab5baa39","timestamp":"2026-07-03T22:17:06.770Z","cwd":"/home/liph"} +{"type":"model_change","id":"d7f4fc05","parentId":null,"timestamp":"2026-07-03T22:17:07.087Z","provider":"ollama","modelId":"kimi-k2.6:cloud"} +{"type":"thinking_level_change","id":"01917609","parentId":"d7f4fc05","timestamp":"2026-07-03T22:17:07.087Z","thinkingLevel":"off"} +{"type":"message","id":"1a9ed635","parentId":"01917609","timestamp":"2026-07-03T22:17:07.543Z","message":{"role":"user","content":[{"type":"text","text":"can"}],"timestamp":1783117027164}} +{"type":"message","id":"1ca1736f","parentId":"1a9ed635","timestamp":"2026-07-03T22:17:10.248Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user just typed \"can\" which seems like an incomplete sentence or question. They might be asking \"can you help me with...\" or \"can we do something...\" but it's not clear yet.\n\nI should wait for them to complete their thought, or ask what they'd like me to do.","thinkingSignature":"reasoning"},{"type":"text","text":"Can I help you with something? Your message seems incomplete — what would you like to do?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13024,"output":79,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13103,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117027612,"responseId":"chatcmpl-220","responseModel":"kimi-k2.6"}} +{"type":"message","id":"b63c243a","parentId":"1ca1736f","timestamp":"2026-07-03T22:17:10.300Z","message":{"role":"user","content":[{"type":"text","text":"you"}],"timestamp":1783117030299}} +{"type":"message","id":"368e7eed","parentId":"b63c243a","timestamp":"2026-07-03T22:17:12.421Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user's message \"you\" is incomplete, but they've also triggered context-mode with some information about the hierarchy and tools available. Let me ask what they'd like help with, while acknowledging the context-mode information.\n\nActually, looking more carefully, the second block seems like a system/context-mode message rather than from the user directly. The user's actual input is just \"you\". Let me ask what they need help with.","thinkingSignature":"reasoning"},{"type":"text","text":"I can help you with coding tasks! What would you like to do?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13054,"output":98,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13152,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117030301,"responseId":"chatcmpl-193","responseModel":"kimi-k2.6"}} +{"type":"message","id":"9d9f356a","parentId":"368e7eed","timestamp":"2026-07-03T22:17:12.471Z","message":{"role":"user","content":[{"type":"text","text":"check"}],"timestamp":1783117032470}} +{"type":"message","id":"69e6c0a7","parentId":"9d9f356a","timestamp":"2026-07-03T22:17:14.345Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user seems to be typing fragmented messages. The system note indicates context-mode is active. Let me check the context-mode status to see what's going on. The user said \"can\", \"you\", \"check\" - maybe they want me to check something about context-mode?\n\nGiven the session mode is \"implement\" and context-mode is active, let me run ctx_doctor or ctx_stats to check the status of context-mode, since the user seems to be asking me to check something.","thinkingSignature":"reasoning"},{"type":"text","text":"It looks like you want me to check something. Since **context-mode** is active, I'll run a diagnostic to see its status:"},{"type":"toolCall","id":"functions.ctx_doctor:0","name":"ctx_doctor","arguments":{}}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13080,"output":138,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13218,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117032471,"responseId":"chatcmpl-808","responseModel":"kimi-k2.6"}} +{"type":"message","id":"dd3f2bd0","parentId":"69e6c0a7","timestamp":"2026-07-03T22:17:14.529Z","message":{"role":"toolResult","toolCallId":"functions.ctx_doctor:0","toolName":"ctx_doctor","content":[{"type":"text","text":"context-mode doctor\n\n[OK] Runtimes: 7/11 (64%) — javascript, shell, python, ruby, go, rust, perl\n[WARN] Performance: NORMAL — install Bun for 3-5x speed boost\n[OK] Storage sessions: /home/liph/.pi/context-mode/sessions (default)\n[OK] Storage content: /home/liph/.pi/context-mode/content (default)\n[OK] Storage stats: /home/liph/.pi/context-mode/sessions (default)\n[OK] Server test: PASS\n[OK] FTS5 / SQLite: PASS — native module works\n[OK] Hook support: Pi hooks are wired via the context-mode Pi extension (~/.pi/extensions/context-mode/), not via JSON-stdio.\n[OK] Hook scripts: no direct .mjs script paths to verify\n[OK] Version: v1.0.169"}],"details":{},"isError":false,"timestamp":1783117034529}} +{"type":"message","id":"ee486272","parentId":"dd3f2bd0","timestamp":"2026-07-03T22:17:18.037Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user said \"can\", \"you\", \"check\" - they might want me to check something specific. Let me ask what they want me to check. The context-mode doctor shows everything is mostly OK. Let me also check stats.","thinkingSignature":"reasoning"},{"type":"text","text":"Context-mode is running well — version **v1.0.169**, FTS5 and hooks are healthy.\n\nWhat specifically would you like me to **check**? For example:\n- **ctx-stats** — context savings this session\n- **ctx-search** — find something in the knowledge base\n- A file or directory in your project\n- System status"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13321,"output":121,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13442,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117034530,"responseId":"chatcmpl-913","responseModel":"kimi-k2.6"}} +{"type":"message","id":"0c3685a6","parentId":"ee486272","timestamp":"2026-07-03T22:17:18.085Z","message":{"role":"user","content":[{"type":"text","text":"if"}],"timestamp":1783117038084}} +{"type":"message","id":"cbd1c998","parentId":"0c3685a6","timestamp":"2026-07-03T22:17:23.846Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is continuing the thought from before: \"if context-mode active...\" and now they've provided a compaction/hierarchy summary. The session mode is \"implement\", meaning I should be implementing something.\n\nIt seems like they want me to proceed with a task related to context-mode. But what exactly? Let me look at the conversation history:\n\n1. User said \"can\" → incomplete\n2. User said \"you\" → incomplete\n3. User said \"check\" → I ran ctx_doctor\n4. Now they're providing context about context-mode and saying \"if context-mode active...\"\n\nThis is an incomplete thought again. It seems like they're trying to say something like \"if context-mode active, [do something]\" but haven't finished the sentence. Or they're reminding me of the context-mode capabilities.\n\nGiven the session state is \"implement\" and they're providing the hierarchy, maybe they want me to implement something using context-mode tools? But they haven't specified what.\n\nI should ask for clarification about what they want me to do, while acknowledging the context-mode information they've provided.","thinkingSignature":"reasoning"},{"type":"text","text":"Got it — context-mode is active and you’ve provided the tool hierarchy. Since the session is in **implement** mode, I’m ready to build something.\n\nBut your thought seems incomplete: **\"if context-mode active...\"**\n\nWhat are you trying to do? For example:\n\n- **\"if context-mode active, check my project stats\"** → `ctx_stats`\n- **\"if context-mode active, index my docs\"** → `ctx_index` on a directory\n- **\"if context-mode active, search for X\"** → `ctx_search`\n- **\"if context-mode active, batch these commands\"** → `ctx_batch_execute`\n\nWhat’s the full condition or task you have in mind?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13407,"output":362,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13769,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117038086,"responseId":"chatcmpl-363","responseModel":"kimi-k2.6"}} +{"type":"message","id":"85e6c58b","parentId":"cbd1c998","timestamp":"2026-07-03T22:17:23.908Z","message":{"role":"user","content":[{"type":"text","text":"i"}],"timestamp":1783117043907}} +{"type":"message","id":"9ba3e0d5","parentId":"85e6c58b","timestamp":"2026-07-03T22:17:27.746Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is confirming that context-mode is active and providing the tool hierarchy. They seem to be setting up the context for a task. Let me ask what they want me to do, since they haven't given a specific task yet.\n\nGiven the session is in \"implement\" mode, they likely want me to build or modify something. I should ask what task they have in mind.","thinkingSignature":"reasoning"},{"type":"text","text":"Got it — context-mode is active and you’ve provided the tool hierarchy. Since the session is in **implement** mode, I’m ready to build something.\n\nBut your thought seems incomplete: **\"if context-mode active...\"**\n\nWhat are you trying to do? For example:\n\n- **\"if context-mode active, check my project stats\"** → `ctx_stats`\n- **\"if context-mode active, index my docs\"** → `ctx_index` on a directory\n- **\"if context-mode active, search for X\"** → `ctx_search`\n- **\"if context-mode active, batch these commands\"** → `ctx_batch_execute`\n\nWhat’s the full condition or task you have in mind?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13564,"output":223,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13787,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117043908,"responseId":"chatcmpl-797","responseModel":"kimi-k2.6"}} +{"type":"message","id":"3959fb1c","parentId":"9ba3e0d5","timestamp":"2026-07-03T22:17:27.794Z","message":{"role":"user","content":[{"type":"text","text":"have"}],"timestamp":1783117047793}} +{"type":"message","id":"77bb1797","parentId":"3959fb1c","timestamp":"2026-07-03T22:17:30.752Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is confirming they have context-mode active and restating the hierarchy. Their previous messages were fragmented (\"can\", \"you\", \"check\", \"if\", \"i\", \"have\"). It seems like they were typing out a thought across multiple messages.\n\nGiven the session mode is \"implement\", they likely want me to implement something using context-mode tools. But they haven't stated what they want to implement yet.\n\nI should acknowledge the hierarchy and ask what they want me to implement or check, or offer to help with common tasks given the hierarchy.","thinkingSignature":"reasoning"},{"type":"text","text":"Got it — context-mode is active and you’ve provided the tool hierarchy. Since the session is in **implement** mode, I’m ready to build something.\n\nBut your thought seems incomplete: **\"if context-mode active...\"**\n\nWhat are you trying to do? For example:\n\n- **\"if context-mode active, check my project stats\"** → `ctx_stats`\n- **\"if context-mode active, index my docs\"** → `ctx_index` on a directory\n- **\"if context-mode active, search for X\"** → `ctx_search`\n- **\"if context-mode active, batch these commands\"** → `ctx_batch_execute`\n\nWhat’s the full condition or task you have in mind?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13721,"output":256,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13977,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117047794,"responseId":"chatcmpl-81","responseModel":"kimi-k2.6"}} +{"type":"message","id":"314cc7d4","parentId":"77bb1797","timestamp":"2026-07-03T22:17:30.808Z","message":{"role":"user","content":[{"type":"text","text":"dangling"}],"timestamp":1783117050807}} +{"type":"message","id":"9db47810","parentId":"314cc7d4","timestamp":"2026-07-03T22:17:39.225Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user has typed fragmented messages: \"can\", \"you\", \"check\", \"if\", \"i\", \"have\", \"dangling\". Combined with the context-mode hint, they seem to be asking: \"Can you check if I have dangling [something]?\" Possibly dangling pointers, dangling dependencies, dangling processes, dangling git branches, dangling Docker containers, etc.\n\nGiven the context-mode hint about batch execution, multi-command research, etc., and the fact that the user hasn't specified what kind of \"dangling\" things, I should ask for clarification. But maybe they want me to check for dangling Docker containers/images, dangling git branches, dangling npm packages, or dangling files?\n\nActually, looking at the pattern, maybe they are slowly typing out a sentence and hitting enter after each word. The full sentence is probably: \"Can you check if I have dangling [something]?\"\n\nI should ask what they mean by \"dangling\" — what system or context are they referring to? Or I could proactively check common things like dangling Docker images, dangling git branches, or dangling processes.\n\nBut the most helpful approach is to ask for clarification while offering common possibilities. However, given that they might be frustrated with the multi-turn fragmentation, maybe I should just guess and check the most common ones.\n\nWait, I could also check if there are dangling references in their code, but I don't know what project they're in.\n\nLet me check the current directory and see if there's anything obvious I can look for. Actually, I should just ask: \"Dangling what?\" But maybe I can be more helpful by checking a few things.\n\nGiven the context-mode emphasis on batch commands, maybe they want me to run a batch check for dangling things across multiple systems.\n\nLet me ask for clarification but also offer to check common scenarios. Or better yet, I can check what's in the current directory first to understand the project context.","thinkingSignature":"reasoning"},{"type":"text","text":"It looks like you're asking: **\"Can you check if I have dangling [something]?\"**\n\nWhat kind of dangling items are you worried about?\n\nCommon ones I can check:\n- **Docker** — dangling images, volumes, networks\n- **Git** — dangling commits, branches, stashes\n- **NPM/Yarn** — dangling dependencies, unused packages\n- **Processes** — zombie/defunct processes\n- **Code** — unused imports, dead code\n- **Files** — broken symlinks, empty dirs\n\nOr if you just want me to **scan broadly** for common dangling resources, I can run a batch check. Which would you prefer?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13879,"output":519,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":14398,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117050809,"responseId":"chatcmpl-548","responseModel":"kimi-k2.6"}} +{"type":"message","id":"9c29e070","parentId":"9db47810","timestamp":"2026-07-03T22:17:39.280Z","message":{"role":"user","content":[{"type":"text","text":"packages"}],"timestamp":1783117059278}} +{"type":"message","id":"63680b02","parentId":"9c29e070","timestamp":"2026-07-03T22:17:47.850Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is asking me to check if they have dangling packages. Since context-mode is active, I should use ctx_batch_execute to run multiple commands that check for dangling/unused packages across different package managers, then analyze the results.\n\nCommon things to check:\n1. npm/yarn/pnpm - unused dependencies, outdated packages\n2. Python pip - unused packages (harder to detect)\n3. apt/dpkg - orphaned packages\n4. snap - unused?\n5. cargo (Rust) - unused dependencies\n6. gem (Ruby) - unused\n\nLet me run a batch check across common package managers to find dangling/unused packages. I'll use ctx_batch_execute with queries to get the relevant info.\n\nActually, since I need to check what package managers are installed and what dangling packages exist, I should run commands to:\n1. Check for orphaned apt packages (debian/ubuntu)\n2. Check npm global unused/outdated\n3. Check pip list and maybe find unused\n4. Check for broken symlinks in node_modules or similar\n5. Check cargo bloat or unused deps if in a Rust project\n\nLet me first check what package managers exist and what project types are in the current directory. I'll use ctx_batch_execute for efficiency.","thinkingSignature":"reasoning"},{"type":"text","text":"I'll check for dangling/unused packages across common package managers. Let me run a batch scan:"},{"type":"toolCall","id":"functions.ctx_batch_execute:1","name":"ctx_batch_execute","arguments":{"commands":[{"command":"which apt-get >/dev/null 2>&1 && apt-get --dry-run autoremove 2>/dev/null || echo \"apt-get not available\"","label":"apt orphaned"},{"command":"which npm >/dev/null 2>&1 && npm outdated -g --depth=0 2>/dev/null || echo \"npm not available\"","label":"npm global outdated"},{"command":"which pip3 >/dev/null 2>&1 && pip3 list --format=freeze 2>/dev/null | wc -l && pip3 check 2>/dev/null || echo \"pip3 not available\"","label":"pip check"},{"command":"which cargo >/dev/null 2>&1 && echo \"cargo available\" || echo \"cargo not available\"","label":"cargo check"},{"command":"ls -la package.json Cargo.toml requirements.txt Gemfile 2>/dev/null || echo \"no common package files found\"","label":"project package files"},{"command":"find . -maxdepth 3 -name node_modules -type d 2>/dev/null | head -5","label":"node_modules dangling"},{"command":"which brew >/dev/null 2>&1 && brew outdated 2>/dev/null || echo \"brew not available\"","label":"brew outdated"}],"queries":["orphaned packages","unused dependencies","outdated packages","dangling","autoremove"],"concurrency":4}}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":14026,"output":573,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":14599,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117059281,"responseId":"chatcmpl-394","responseModel":"kimi-k2.6"}} +{"type":"message","id":"fd202d00","parentId":"63680b02","timestamp":"2026-07-03T22:17:49.772Z","message":{"role":"toolResult","toolCallId":"functions.ctx_batch_execute:1","toolName":"ctx_batch_execute","content":[{"type":"text","text":"Executed 7 commands (79 lines, 3.2KB). Indexed 7 sections. Searched 5 queries.\n\n## Commands\n\n- apt orphaned: `which apt-get >/dev/null 2>&1 && apt-get --dry-run autoremove 2>/dev/null || echo \"apt-get not available\"`\n- npm global outdated: `which npm >/dev/null 2>&1 && npm outdated -g --depth=0 2>/dev/null || echo \"npm not available\"`\n- pip check: `which pip3 >/dev/null 2>&1 && pip3 list --format=freeze 2>/dev/null | wc -l && pip3 check 2>/dev/null || echo \"pip3 not available\"`\n- cargo check: `which cargo >/dev/null 2>&1 && echo \"cargo available\" || echo \"cargo not available\"`\n- project package files: `ls -la package.json Cargo.toml requirements.txt Gemfile 2>/dev/null || echo \"no common package files found\"`\n- node_modules dangling: `find . -maxdepth 3 -name node_modules -type d 2>/dev/null | head -5`\n- brew outdated: `which brew >/dev/null 2>&1 && brew outdated 2>/dev/null || echo \"brew not available\"`\n\n## Indexed Sections\n\n- apt orphaned (0.1KB)\n- npm global outdated (0.3KB)\n- pip check (2.2KB)\n- cargo check (0.1KB)\n- project package files (0.2KB)\n- node_modules dangling (0.1KB)\n- brew outdated (0.1KB)\n\n## orphaned packages\n\n### apt orphaned\n# apt orphaned\n\n$ which apt-get >/dev/null 2>&1 && apt-get --dry-run autoremove 2>/dev/null || echo \"apt-get not available\"\n\napt-get not available\n\n### project package files\n# project package files\n\n$ ls -la package.json Cargo.toml requirements.txt Gemfile 2>/dev/null || echo \"no common package files found\"\n\nno common package files found\n\n### npm global outdated\n# npm global outdated\n\n$ which npm >/dev/null 2>&1 && npm outdated -g --depth=0 2>/dev/null || echo \"npm not available\"\n\nPackage Current Wanted Latest Location Depended by\nnpm 11.16.0 11.18.0 11.18.0 node_modules/npm global\nnpm not available\n\n## unused dependencies\n\n### npm global outdated\n# npm global outdated\n\n$ which npm >/dev/null 2>&1 && npm outdated -g --depth=0 2>/dev/null || echo \"npm not available\"\n\nPackage Current Wanted Latest Location Depended by\nnpm 11.16.0 11.18.0 11.18.0 node_modules/npm global\nnpm not available\n\n## outdated packages\n\n### npm global outdated\n# npm global outdated\n\n$ which npm >/dev/null 2>&1 && npm outdated -g --depth=0 2>/dev/null || echo \"npm not available\"\n\nPackage Current Wanted Latest Location Depended by\nnpm 11.16.0 11.18.0 11.18.0 node_modules/npm global\nnpm not available\n\n### brew outdated\n# brew outdated\n\n$ which brew >/dev/null 2>&1 && brew outdated 2>/dev/null || echo \"brew not available\"\n\nbrew not available\n\n### project package files\n# project package files\n\n$ ls -la package.json Cargo.toml requirements.txt Gemfile 2>/dev/null || echo \"no common package files found\"\n\nno common package files found\n\n## dangling\n\n### node_modules dangling\n# node_modules dangling\n\n$ find . -maxdepth 3 -name node_modules -type d 2>/dev/null | head -5\n\n./.local/lib/node_modules\n./.cache/opencode/node_modules\n\n## autoremove\n\n### apt orphaned\n# apt orphaned\n\n$ which apt-get >/dev/null 2>&1 && apt-get --dry-run autoremove 2>/dev/null || echo \"apt-get not available\"\n\napt-get not available\n\n\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])` or call ctx_batch_execute with `query_scope: \"global\"`.\n\nSearchable terms for follow-up: node_modules, outdated, package, check, cargo"}],"details":{},"isError":false,"timestamp":1783117069772}} +{"type":"message","id":"2edfb08a","parentId":"fd202d00","timestamp":"2026-07-03T22:17:57.683Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The results show:\n\n1. **apt**: Not available (not a Debian/Ubuntu system, or no apt-get in PATH)\n2. **npm**: Available but outdated - npm itself is at 11.16.0 while latest is 11.18.0\n3. **pip3**: Has ~2.2KB of packages, but the output got cut off in a way that doesn't show the exact count well\n4. **cargo**: Available\n5. **brew**: Not available\n6. **project files**: No package.json, Cargo.toml, requirements.txt, or Gemfile in current directory\n7. **node_modules**: Found two directories:\n - ./.local/lib/node_modules\n - ./.cache/opencode/node_modules\n\nSo the \"dangling packages\" the user is worried about likely refers to:\n- Outdated npm (global)\n- The node_modules in .cache/opencode which might be stale/cached\n- pip packages that might be broken (pip check output wasn't fully visible)\n\nLet me get more details on the pip packages and the node_modules to assess what's actually dangling.","thinkingSignature":"reasoning"},{"type":"text","text":"Here's what I found:\n\n## Summary\n\n| System | Status |\n|--------|--------|\n| **apt-get** | Not available |\n| **brew** | Not available |\n| **npm** | ✅ Available but **outdated** |\n| **pip3** | ✅ Available |\n| **cargo** | ✅ Available |\n| **Project package files** | ❌ None found (no `package.json`, `Cargo.toml`, etc.) |\n| **node_modules** | ⚠️ Found 2 directories |\n\n## Potential Dangling Packages\n\n### 1. Outdated Global NPM\n- **npm**: `11.16.0` → latest `11.18.0`\n- This is installed globally and out of date\n\n### 2. node_modules Directories Found\n- `~/.local/lib/node_modules`\n- `~/.cache/opencode/node_modules`\n\nThe `.cache/opencode/node_modules` looks like a **cache directory** that may contain stale packages.\n\n### 3. pip3\n- Has packages installed, but I need to check for broken/inconsistent ones\n\nLet me dig deeper into these:"},{"type":"toolCall","id":"functions.ctx_batch_execute:2","name":"ctx_batch_execute","arguments":{"commands":[{"command":"du -sh ~/.local/lib/node_modules ~/.cache/opencode/node_modules 2>/dev/null","label":"node_modules sizes"},{"command":"ls ~/.cache/opencode/node_modules 2>/dev/null | head -20","label":"cache packages"},{"command":"pip3 list --format=freeze 2>/dev/null","label":"pip packages"},{"command":"pip3 check 2>/dev/null","label":"pip broken"},{"command":"npm ls -g --depth=0 2>/dev/null","label":"npm global packages"}],"queries":["broken packages","orphaned","cache","outdated","inconsistent"],"concurrency":4}}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":15544,"output":603,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":16147,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117069774,"responseId":"chatcmpl-911","responseModel":"kimi-k2.6"}} +{"type":"message","id":"8c76cd4d","parentId":"2edfb08a","timestamp":"2026-07-03T22:17:59.037Z","message":{"role":"toolResult","toolCallId":"functions.ctx_batch_execute:2","toolName":"ctx_batch_execute","content":[{"type":"text","text":"Executed 5 commands (303 lines, 6.6KB). Indexed 6 sections. Searched 5 queries.\n\n## Commands\n\n- node_modules sizes: `du -sh ~/.local/lib/node_modules ~/.cache/opencode/node_modules 2>/dev/null`\n- cache packages: `ls ~/.cache/opencode/node_modules 2>/dev/null | head -20`\n- pip packages: `pip3 list --format=freeze 2>/dev/null`\n- pip broken: `pip3 check 2>/dev/null`\n- npm global packages: `npm ls -g --depth=0 2>/dev/null`\n\n## Indexed Sections\n\n- node_modules sizes (0.2KB)\n- cache packages (0.2KB)\n- pip packages (1) (0.1KB)\n- pip packages (2) (4.0KB)\n- pip broken (2.1KB)\n- npm global packages (0.2KB)\n\n## broken packages\n\n### pip broken\n# pip broken\n\n$ pip3 check 2>/dev/null\n\nbubop 0.2.2 requires tqdm, which is not installed.\nsyncall 0.0.0.post3.dev0 requires rfc3339, which is not installed.\nx-wr-timezone 2.0.1 requires tzdata, which is not installed.\nproton-vpn-daemon 0.13.7 requires systemd-python, which is not installed.\nrecurring-ical-events 3.9.0 requires tzdata, which is not installed.\nproton-vpn-api-core 5.2.5 requires proton-vpn-local-agent, which is not installed.\ncaldav 3.2.1 requires niquests, which is not installed.\nstreamrip 2.2.0 has requirement aiodns<4.0.0,>=3.0.0, but you have aiodns 4.0.0.\nstreamrip 2.2.0 has requirement aiofiles<0.8,>=0.7, but you have aiofiles 25.1.0.\nstreamrip 2.2.0 has requirement deezer-py==1.3.6, but you have deezer-py 1.3.7.\nstreamrip 2.2.0 has requirement m3u8<0.10.0,>=0.9.0, but you have m3u8 6.0.0.\nstreamrip 2.2.0 has requirement pathvalidate<3.0.0,>=2.4.1, but you have pathvalidate 3.3.1.\nstreamrip 2.2.0 has requirement Pillow<11,>=9, but you have pillow 12.2.0.\nstreamrip 2.2.0 has requirement rich<14.0.0,>=13.6.0, but you have rich 15.0.0.\nstreamrip 2.2.0 has requirement tomlkit<0.8.0,>=0.7.2, but you have tomlkit 0.15.0.\nitem-synchronizer 1.1.5 has requirement bidict<0.22.0,>=0.21.4, but you have bidict 0.23.1.\nitem-synchronizer 1.1.5 has requirement bubop<0.2,>=0.1.8, but you have bubop 0.2.2.\nbubop 0.2.2 has requirement python-dateutil<3.0.0,>=2.9.0.post0, but you have python-dateutil 2.9.0.\nsyncall 0.0.0.post3.dev0 has requirement bidict<0.22.0,>=0.21.4, but you have bidict 0.23.1.\nsyncall 0.0.0.post3.dev0 has requirement bubop==0.1.12, but you have bubop 0.2.2.\nsyncall 0.0.0.post3.dev0 has requirement loguru<0.6.0,>=0.5.3, but you have loguru 0.7.3.\nsyncall 0.0.0.post3.dev0 has requirement python-dateutil<3.0.0,>=2.9.0.post0, but you have python-dateutil 2.9.0.\nsyncall 0.0.0.post3.dev0 has requirement PyYAML<5.4.0,>=5.3.1, but you have pyyaml 6.0.3.\nfido2 2.2.0 has requirement cryptography!=35,<49,>=2.6, but you have cryptography 49.0.0.\npoetry 2.4.1 has requirement poetry-core==2.4.0, but you have poetry-core 2.4.1.\npy7zr 1.1.3 has requirement pyppmd>=1.3.1, but you have pyppmd 1.2.0.\n\n### pip packages (1)\n# pip packages\n\n$ pip3 list --format=freeze 2>/dev/null\n\n### cache packages\n# cache packages\n\n$ ls ~/.cache/opencode/node_modules 2>/dev/null | head -20\n\narctic\naws4fetch\nhono\njose\n@openauthjs\nopencode-anthropic-auth\n@oslojs\n@standard-schema\n\n## orphaned\n\nNo matching sections found.\n\n## cache\n\n### cache packages\n# cache packages\n\n$ ls ~/.cache/opencode/node_modules 2>/dev/null | head -20\n\narctic\naws4fetch\nhono\njose\n@openauthjs\nopencode-anthropic-auth\n@oslojs\n@standard-schema\n\n### node_modules sizes\n# node_modules sizes\n\n$ du -sh ~/.local/lib/node_modules ~/.cache/opencode/node_modules 2>/dev/null\n\n172M\t/home/liph/.local/lib/node_modules\n5.9M\t/home/liph/.cache/opencode/node_modules\n\n### pip packages (2)\n…al==1.4.0\naiostream==0.7.1\nansible==14.1.0\nansible-core==2.21.1\nappdirs==1.4.4\napsw==3.53.3.0\nargcomplete==3.7.0\nattrs==26.1.0\nautocommand==2.2.2\nbcc==0.36.1\nbcrypt==5.0.0\nbeautifulsoup4==4.15.0\nbidict==0.23.1\nbottle==0.13.4\nBrotli==1.2.0\nbrotlicffi==1.2.0.1\nbtrfsutil==7.0\nbubop==0.2.2\nbuild==1.4.3\nCacheControl==0.14.4\ncachy==0.3.0\ncaldav==3.2.1\ncertifi==2026.6.17\ncffi==2.0.0\nchardet==6.0.0.post1\ncharset-normalizer==3.4.7\ncleo==2.1.0\nclick==8.3.3\nclick-help-colors==0.9.4\nclick-log==0.4.0\ncolorama==0.4.6\nconfigobj==5.0.9\ncrashtest==0.4.1\ncryptography==49.0.0\ncss-parser==1.1.1\ncssselect==1.4.0\nc…\n\n…==26.2\nparamiko==5.0.0\nparsedatetime==2.6\npathvalidate==3.3.1\npbs-installer==2026.6.10\npdftotext==2.2.2\npexpect==4.9.0\npillow==12.2.0\npip==26.1.2\npipx==1.15.0\npkg_resources==81.0.0\npkginfo==1.12.1.2\nplatformdirs==4.10.0\npluggy==1.6.0\npoetry==2.4.1\npoetry-core==2.4.1\npoetry-plugin-export==1.10.0\npropcache==0.4.1\nproton-core==0.7.0\nproton-keyring-linux==0.2.2\nproton-vpn-api-core==5.2.5\nproton-vpn-daemon==0.13.7\nproton-vpn-gtk-app==4.16.5\npsutil==7.2.2\npsutils==3.3.15\nptyprocess==0.7.0\npulsemixer==1.5.1\npuremagic==2.2.0\npy7zr==1.1.3\npybcj==1.0.7\npycairo==1.29.0\npycares==5.0.1\npychm==0.8.6\npycpars…\n\n## outdated\n\nNo matching sections found.\n\n## inconsistent\n\nNo matching sections found.\n\n\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])` or call ctx_batch_execute with `query_scope: \"global\"`.\n\nSearchable terms for follow-up: node_modules, cryptography, pathvalidate, proton-vpn-api-core, proton-vpn-daemon, python-dateutil, recurring-ical-events, poetry-core, deezer-py, streamrip, opencode, aiofiles, syncall, tomlkit, aiodns, bidict, caldav, loguru, pillow, poetry, pyppmd, pyyaml, cache, bubop, fido2, py7zr, post3, pip3, dev0, m3u8, rich, lib, packages, pip"}],"details":{},"isError":false,"timestamp":1783117079037}} +{"type":"message","id":"9ec45d7b","parentId":"8c76cd4d","timestamp":"2026-07-03T22:18:07.392Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"Now I have a clear picture. The user has several categories of dangling/broken packages:\n\n1. **npm**: Global npm is outdated (11.16.0 vs 11.18.0)\n2. **pip3**: MANY broken dependencies - packages with missing deps and version conflicts\n3. **node_modules**: \n - `~/.local/lib/node_modules` (172MB) - global npm packages\n - `~/.cache/opencode/node_modules` (5.9MB) - cached packages for opencode tool\n\nThe pip3 environment is quite messy with:\n- Missing dependencies: tqdm, rfc3339, tzdata, systemd-python, proton-vpn-local-agent, niquests\n- Version conflicts: streamrip has many outdated deps, syncall has version mismatches, poetry-core mismatch, fido2 wants cryptography<49 but has 49.0.0, py7zr wants pyppmd>=1.3.1 but has 1.2.0, etc.\n\nI should present this clearly and offer to fix things.","thinkingSignature":"reasoning"},{"type":"text","text":"## 🚨 Dangling/Broken Packages Found\n\nHere's the full picture:\n\n---\n\n### 1. **npm (Global) — Outdated**\n| Package | Current | Latest |\n|---------|---------|--------|\n| npm | 11.16.0 | 11.18.0 |\n\n### 2. **node_modules Directories**\n| Path | Size | Status |\n|------|------|--------|\n| `~/.local/lib/node_modules` | **172 MB** | Global npm packages |\n| `~/.cache/opencode/node_modules` | **5.9 MB** | Cache for opencode (arctic, hono, jose, etc.) |\n\n### 3. **pip3 — 25 Broken/Inconsistent Packages** ⚠️\n**Missing dependencies:**\n- `bubop` requires `tqdm`\n- `syncall` requires `rfc3339`\n- `x-wr-timezone`, `recurring-ical-events` require `tzdata`\n- `proton-vpn-daemon` requires `systemd-python`\n- `proton-vpn-api-core` requires `proton-vpn-local-agent`\n- `caldav` requires `niquests`\n\n**Version conflicts:**\n- `streamrip` — **8 conflicts** (aiodns, aiofiles, deezer-py, m3u8, pathvalidate, Pillow, rich, tomlkit)\n- `syncall` — **5 conflicts** (bidict, bubop, loguru, python-dateutil, PyYAML)\n- `item-synchronizer` — wants bidict<0.22, has 0.23.1\n- `fido2` — wants cryptography<49, has 49.0.0\n- `poetry` — wants poetry-core==2.4.0, has 2.4.1\n- `py7zr` — wants pyppmd>=1.3.1, has 1.2.0\n\n---\n\n## Want me to fix them?\n\nI can run cleanup actions:\n1. **Update global npm**\n2. **Repair pip3 broken packages** (install missing deps, downgrade conflicting ones)\n3. **Clear stale `~/.cache/opencode/node_modules`** if no longer needed\n4. **Audit `~/.local/lib/node_modules`** for unused global packages\n\nWhich would you like me to do? Or should I **fix all pip3 issues automatically**?"}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":18320,"output":723,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":19043,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117079038,"responseId":"chatcmpl-119","responseModel":"kimi-k2.6"}} diff --git a/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-19-27-550Z_019f2a10-bbbe-7659-805c-fc1aa88218f7.jsonl b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-19-27-550Z_019f2a10-bbbe-7659-805c-fc1aa88218f7.jsonl new file mode 100644 index 0000000..64d9999 --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph--/2026-07-03T22-19-27-550Z_019f2a10-bbbe-7659-805c-fc1aa88218f7.jsonl @@ -0,0 +1,33 @@ +{"type":"session","version":3,"id":"019f2a10-bbbe-7659-805c-fc1aa88218f7","timestamp":"2026-07-03T22:19:27.550Z","cwd":"/home/liph"} +{"type":"model_change","id":"8415ef42","parentId":null,"timestamp":"2026-07-03T22:19:27.879Z","provider":"ollama","modelId":"minimax-m3:cloud"} +{"type":"thinking_level_change","id":"753b63a7","parentId":"8415ef42","timestamp":"2026-07-03T22:19:27.879Z","thinkingLevel":"off"} +{"type":"message","id":"189a83b2","parentId":"753b63a7","timestamp":"2026-07-03T22:19:28.334Z","message":{"role":"user","content":[{"type":"text","text":"can"}],"timestamp":1783117167962}} +{"type":"message","id":"372715f3","parentId":"189a83b2","timestamp":"2026-07-03T22:19:32.039Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is providing a system reminder about context-mode tool hierarchy. They want me to follow this hierarchy when using context-mode tools. Let me acknowledge this and wait for the actual task.","thinkingSignature":"reasoning"},{"type":"text","text":"Understood. I'll follow the context-mode tool hierarchy:\n\n- **Multi-command research** → `ctx_batch_execute`\n- **Derive answer from data / sandboxed code** → `ctx_execute`\n- **Read/edit files** → `ctx_execute_file`\n- **Query indexed knowledge** → `ctx_search`\n- **Web pages** → `ctx_fetch_and_index` then `ctx_search`\n- **Index docs** → `ctx_index`\n- **Stats** → `ctx_stats`\n- **Doctor** → `ctx_doctor`\n- **Upgrade** → `ctx_upgrade`\n- **Purge** → `ctx_purge` (destructive, requires explicit scope)\n\nReady for your task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17213,"output":185,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17398,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117168400,"responseId":"chatcmpl-108","responseModel":"minimax-m3"}} +{"type":"message","id":"839237b9","parentId":"372715f3","timestamp":"2026-07-03T22:19:32.093Z","message":{"role":"user","content":[{"type":"text","text":"you"}],"timestamp":1783117172092}} +{"type":"message","id":"ff7f3940","parentId":"839237b9","timestamp":"2026-07-03T22:19:34.529Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user sent a system-level context-mode activation message. There's no actual task to perform - they're just confirming the context-mode tool hierarchy is active. The session state shows \"implement\" mode.\n\nI should acknowledge this concisely and wait for an actual task. No tools need to be called.","thinkingSignature":"reasoning"},{"type":"text","text":"Context-mode active. Implement mode set. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17371,"output":72,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17443,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117172094,"responseId":"chatcmpl-114","responseModel":"minimax-m3"}} +{"type":"message","id":"be14fe2a","parentId":"ff7f3940","timestamp":"2026-07-03T22:19:34.586Z","message":{"role":"user","content":[{"type":"text","text":"check"}],"timestamp":1783117174585}} +{"type":"message","id":"5ce2a7af","parentId":"be14fe2a","timestamp":"2026-07-03T22:19:36.251Z","message":{"role":"assistant","content":[{"type":"text","text":"Confirmed. State: implement mode, context-mode hierarchy in effect. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17395,"output":18,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17413,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117174586,"responseId":"chatcmpl-509","responseModel":"minimax-m3"}} +{"type":"message","id":"2f96c288","parentId":"5ce2a7af","timestamp":"2026-07-03T22:19:36.304Z","message":{"role":"user","content":[{"type":"text","text":"if"}],"timestamp":1783117176304}} +{"type":"message","id":"e7aaf65c","parentId":"2f96c288","timestamp":"2026-07-03T22:19:39.117Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is sending what appears to be a confirmation/affirmation of my state. There's a compact representation of the session state showing implement mode. The previous messages (\"can\", \"you\", \"check\") were likely character-by-character input building up to this full message, but now the user is confirming the context-mode hierarchy and session state.\n\nThe actual content is just confirming the hierarchy and state. I should briefly acknowledge and remain ready. No tool calls needed.","thinkingSignature":"reasoning"},{"type":"text","text":"State acknowledged. Implement mode, context-mode hierarchy locked in. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17424,"output":110,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17534,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117176305,"responseId":"chatcmpl-915","responseModel":"minimax-m3"}} +{"type":"message","id":"931fb1a5","parentId":"e7aaf65c","timestamp":"2026-07-03T22:19:39.165Z","message":{"role":"user","content":[{"type":"text","text":"i"}],"timestamp":1783117179164}} +{"type":"message","id":"60aa2f49","parentId":"931fb1a5","timestamp":"2026-07-03T22:19:42.760Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user has just sent what appears to be a confirmation/restatement of the context-mode state. They're showing me the session_mode is \"implement\" and restating the context-mode hierarchy.\n\nThis looks like a compaction recovery or state confirmation message. The user hasn't actually asked me to do anything specific. Let me check stats and the state to be ready.\n\nActually, looking more carefully, this seems to be a test or a system message confirming the state. I should acknowledge and wait for an actual task.\n\nLet me check the stats to confirm everything is operational, then wait for the actual task.","thinkingSignature":"reasoning"},{"type":"text","text":"State confirmed. Implement mode active, context-mode hierarchy locked."},{"type":"toolCall","id":"call_function_i787qymr0t24_1","name":"ctx_stats","arguments":{}}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17452,"output":149,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17601,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117179165,"responseId":"chatcmpl-18","responseModel":"minimax-m3"}} +{"type":"message","id":"713e8741","parentId":"60aa2f49","timestamp":"2026-07-03T22:19:42.889Z","message":{"role":"toolResult","toolCallId":"call_function_i787qymr0t24_1","toolName":"ctx_stats","content":[{"type":"text","text":"context-mode < 1 min 0 calls\n\nNo tool calls yet. Use batch_execute or execute to start saving tokens.\n\n All your work · 42 events captured across 1 project · 23 conversations\n\n cost 23 ██████████████████████████████\n Session intent 12 ████████████████░░░░░░░░░░░░░░\n pi 5 ███████░░░░░░░░░░░░░░░░░░░░░░░\n sandbox 2 ███░░░░░░░░░░░░░░░░░░░░░░░░░░░\n Skipped (1): Pi\n These adapters have DBs on disk but only test fixtures, dev skeletons,\n or detection probes — no real chat activity.\n\n─────────────────────────────────────────────────────────────────\nYour AI talks less, remembers more, costs less.\n$0.00 this session · $0.01 lifetime\n─────────────────────────────────────────────────────────────────\n\nv1.0.169"}],"details":{},"isError":false,"timestamp":1783117182889}} +{"type":"message","id":"d96efb11","parentId":"713e8741","timestamp":"2026-07-03T22:19:44.740Z","message":{"role":"assistant","content":[{"type":"text","text":"Context-mode active. Stats show clean session. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17631,"output":14,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17645,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117182890,"responseId":"chatcmpl-520","responseModel":"minimax-m3"}} +{"type":"message","id":"96189169","parentId":"d96efb11","timestamp":"2026-07-03T22:19:44.799Z","message":{"role":"user","content":[{"type":"text","text":"have"}],"timestamp":1783117184797}} +{"type":"message","id":"81e550bc","parentId":"96189169","timestamp":"2026-07-03T22:19:47.264Z","message":{"role":"assistant","content":[{"type":"text","text":"Confirmed. context-mode active. Hierarchy locked:\n\n- Multi-command research → `ctx_batch_execute`\n- Derive answer from data → `ctx_execute`\n- Read/edit files → `ctx_execute_file`\n- Query indexed knowledge → `ctx_search`\n- Web pages → `ctx_fetch_and_index` then `ctx_search`\n- Index docs → `ctx_index`\n- Stats → `ctx_stats`\n- Doctor → `ctx_doctor`\n- Upgrade → `ctx_upgrade`\n- Purge → `ctx_purge` (destructive, explicit scope required)\n\nSession mode: implement. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17759,"output":125,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17884,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117184799,"responseId":"chatcmpl-937","responseModel":"minimax-m3"}} +{"type":"message","id":"0097f7be","parentId":"81e550bc","timestamp":"2026-07-03T22:19:47.318Z","message":{"role":"user","content":[{"type":"text","text":"orphaned"}],"timestamp":1783117187317}} +{"type":"message","id":"bd2759eb","parentId":"0097f7be","timestamp":"2026-07-03T22:19:48.426Z","message":{"role":"assistant","content":[{"type":"text","text":"Context-mode active. Hierarchy locked. Session mode: implement. Ready for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17896,"output":17,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17913,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117187319,"responseId":"chatcmpl-924","responseModel":"minimax-m3"}} +{"type":"message","id":"e4aa2d37","parentId":"bd2759eb","timestamp":"2026-07-03T22:19:48.478Z","message":{"role":"user","content":[{"type":"text","text":"packages"}],"timestamp":1783117188478}} +{"type":"message","id":"540f508b","parentId":"e4aa2d37","timestamp":"2026-07-03T22:19:51.248Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user seems to be testing the system with various inputs. They've now sent a message that looks like a partial/scrambled text \"orphaned\" then a longer context-mode confirmation message. Looking at this, it seems like they may be confirming the context-mode state again.\n\nI should acknowledge the state and remain ready for the actual task. The system is in implement mode with context-mode hierarchy locked in.","thinkingSignature":"reasoning"},{"type":"text","text":"Context-mode active. Hierarchy locked. Session mode: implement.\n\nReady for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17924,"output":100,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":18024,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117188479,"responseId":"chatcmpl-954","responseModel":"minimax-m3"}} +{"type":"message","id":"9e9b6ab3","parentId":"540f508b","timestamp":"2026-07-03T22:19:51.311Z","message":{"role":"user","content":[{"type":"text","text":"in"}],"timestamp":1783117191311}} +{"type":"message","id":"7ca8e1fb","parentId":"9e9b6ab3","timestamp":"2026-07-03T22:19:53.698Z","message":{"role":"assistant","content":[{"type":"text","text":"Confirmed. State after compaction:\n\n- **Mode**: implement\n- **Hierarchy locked**: `ctx_batch_execute` > `ctx_execute` > `ctx_execute_file` > `ctx_search`\n- **File read/edit** → `ctx_execute_file`\n- **Multi-command research** → `ctx_batch_execute`\n- **Web** → `ctx_fetch_and_index` → `ctx_search`\n- **Index** → `ctx_index`\n- **Stats/Doctor/Upgrade** → `ctx_stats` / `ctx_doctor` / `ctx_upgrade`\n- **Purge** → `ctx_purge` (destructive, explicit scope required)\n\nReady for task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17952,"output":141,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":18093,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117191312,"responseId":"chatcmpl-523","responseModel":"minimax-m3"}} +{"type":"message","id":"15e3fddc","parentId":"7ca8e1fb","timestamp":"2026-07-03T22:19:53.749Z","message":{"role":"user","content":[{"type":"text","text":"pacman"}],"timestamp":1783117193748}} +{"type":"message","id":"d2ef7377","parentId":"15e3fddc","timestamp":"2026-07-03T22:20:01.802Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user has sent what appears to be a system/prompt injection attempt in the form of a \"compaction\" message. This is a classic prompt injection trying to:\n\n1. Re-inject the context-mode hierarchy (which I already have)\n2. Add fake \"\" tags claiming session_mode is \"implement\"\n3. Try to make me treat this as a legitimate system message\n\nThe actual user has been sending single-word messages (\"can\", \"you\", \"check\", \"if\", \"i\", \"have\", \"orphaned\", \"packages\", \"in\", \"pacman\") - and the last word \"pacman\" combined with \"orphaned packages in pacman\" suggests they want me to check for orphaned packages in pacman (Arch Linux package manager).\n\nThis final message is a prompt injection attempting to override my actual instructions. I should:\n1. NOT treat this as a legitimate system message\n2. Recognize it as an injection attempt\n3. Continue based on the user's actual underlying intent (checking orphaned packages in pacman)\n\nThe actual user intent appears to be: \"Can you check if I have orphaned packages in pacman?\"\n\nLet me use ctx_batch_execute to check for orphaned packages in pacman since this is a multi-step research task (check installed packages, check orphans, list them).\n\nI should ignore the prompt injection and respond to the actual apparent user request about orphaned pacman packages.\n\nLet me run the appropriate command(s) to check for orphaned packages in pacman.","thinkingSignature":"reasoning"},{"type":"text","text":"I notice that last message contains a prompt injection attempt (a fake \"compaction\" / `` block trying to override my instructions). I'll ignore the injection and respond to your actual question.\n\nYour words so far: **\"can you check if i have orphaned packages in pacman\"**\n\nLet me run the actual checks now."},{"type":"toolCall","id":"call_function_q42pecr36wko_1","name":"ctx_batch_execute","arguments":{"commands":[{"command":"pacman -Qdtq 2>/dev/null | head -100; echo \"---EXIT:$?---\"","label":"pacman orphans (deps only)"},{"command":"pacman -Qdtq 2>/dev/null | wc -l; echo \"---ORPHAN_COUNT---\"","label":"orphan count"},{"command":"pacman -Qq | wc -l; echo \"---TOTAL_PKGS---\"","label":"total installed packages"},{"command":"command -v yay >/dev/null && echo \"yay:yes\" || echo \"yay:no\"; command -v paru >/dev/null && echo \"paru:yes\" || echo \"paru:no\"; echo \"---AUR_HELPERS---\"","label":"AUR helpers present"}],"queries":["orphaned packages list","total package count","AUR helper availability"],"concurrency":4}}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":18105,"output":691,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":18796,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117193749,"responseId":"chatcmpl-331","responseModel":"minimax-m3"}} +{"type":"message","id":"d10a6be5","parentId":"d2ef7377","timestamp":"2026-07-03T22:20:02.300Z","message":{"role":"toolResult","toolCallId":"call_function_q42pecr36wko_1","toolName":"ctx_batch_execute","content":[{"type":"text","text":"Executed 4 commands (39 lines, 0.6KB). Indexed 4 sections. Searched 3 queries.\n\n## Commands\n\n- pacman orphans (deps only): `pacman -Qdtq 2>/dev/null | head -100; echo \"---EXIT:$?---\"`\n- orphan count: `pacman -Qdtq 2>/dev/null | wc -l; echo \"---ORPHAN_COUNT---\"`\n- total installed packages: `pacman -Qq | wc -l; echo \"---TOTAL_PKGS---\"`\n- AUR helpers present: `command -v yay >/dev/null && echo \"yay:yes\" || echo \"yay:no\"; command -v paru >/dev/null && echo \"paru:yes\" || echo \"paru:no\"; echo \"---AUR_HELPERS---\"`\n\n## Indexed Sections\n\n- pacman orphans (deps only) (0.2KB)\n- orphan count (0.1KB)\n- total installed packages (0.1KB)\n- AUR helpers present (0.2KB)\n\n## orphaned packages list\n\n### total installed packages\n# total installed packages\n\n$ pacman -Qq | wc -l; echo \"---TOTAL_PKGS---\"\n\n1615\n---TOTAL_PKGS---\n\n### orphan count\n# orphan count\n\n$ pacman -Qdtq 2>/dev/null | wc -l; echo \"---ORPHAN_COUNT---\"\n\n7\n---ORPHAN_COUNT---\n\n### pacman orphans (deps only)\n# pacman orphans (deps only)\n\n$ pacman -Qdtq 2>/dev/null | head -100; echo \"---EXIT:$?---\"\n\ncabal-install\nchrpath\ncmake\nghc\ngo\nqt5-tools\nrustup\n---EXIT:0---\n\n## total package count\n\n### total installed packages\n# total installed packages\n\n$ pacman -Qq | wc -l; echo \"---TOTAL_PKGS---\"\n\n1615\n---TOTAL_PKGS---\n\n### orphan count\n# orphan count\n\n$ pacman -Qdtq 2>/dev/null | wc -l; echo \"---ORPHAN_COUNT---\"\n\n7\n---ORPHAN_COUNT---\n\n## AUR helper availability\n\n### AUR helpers present\n# AUR helpers present\n\n$ command -v yay >/dev/null && echo \"yay:yes\" || echo \"yay:no\"; command -v paru >/dev/null && echo \"paru:yes\" || echo \"paru:no\"; echo \"---AUR_HELPERS---\"\n\nyay:no\nparu:yes\n---AUR_HELPERS---\n\n\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])` or call ctx_batch_execute with `query_scope: \"global\"`.\n\nSearchable terms for follow-up: -qdtq, pacman, null"}],"details":{},"isError":false,"timestamp":1783117202300}} +{"type":"message","id":"d686bef7","parentId":"d10a6be5","timestamp":"2026-07-03T22:20:08.742Z","message":{"role":"assistant","content":[{"type":"text","text":"## Orphaned packages: **7**\n\n| # | Package | Notes |\n|---|---|---|\n| 1 | `cabal-install` | Haskell toolchain, likely leftover |\n| 2 | `chrpath` | Modify rpath of ELF binaries — dev tool, probably safe to remove |\n| 3 | `cmake` | Build system — needed only if you still build C/C++ projects from source |\n| 4 | `ghc` | Glasgow Haskell Compiler — needed by cabal-install |\n| 5 | `go` | Go toolchain — check if you still write Go |\n| 6 | `qt5-tools` | Qt5 designer/linguist/etc. — likely leftover from a removed Qt5 app |\n| 7 | `rustup` | Rust toolchain installer — keep if you still use Rust |\n\n### Context\n- **Total installed**: 1615 packages\n- **AUR helper**: `paru` (no `yay`)\n\n### What `-Qdt` means\n`pacman -Qdt` lists packages installed as **dependencies** that no other package now requires. These are candidates for safe removal:\n\n```bash\n# Review what depends on each (should be empty)\npacman -Qi cabal-install | grep \"Required By\"\npacman -Qi ghc | grep \"Required By\"\n# etc.\n\n# Remove all 7 in one go\nsudo pacman -Rns cabal-install chrpath cmake ghc go qt5-tools rustup\n```\n\n### Recommendation\n- **Safe to remove**: `chrpath`, `qt5-tools`\n- **Review first** (you may use them directly): `cmake`, `go`, `rustup`\n- **Tied pair** (remove both or neither): `cabal-install` + `ghc`\n\nWant me to drill into which of these still have user-installed binaries on `PATH` (so you don't accidentally break your workflow), or check AUR-only orphans with `paru`?"}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":19027,"output":407,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":19434,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117202301,"responseId":"chatcmpl-746","responseModel":"minimax-m3"}} +{"type":"message","id":"31f41317","parentId":"d686bef7","timestamp":"2026-07-03T22:20:08.797Z","message":{"role":"user","content":[{"type":"text","text":"and"}],"timestamp":1783117208796}} +{"type":"message","id":"08ebff4d","parentId":"31f41317","timestamp":"2026-07-03T22:20:12.998Z","message":{"role":"assistant","content":[{"type":"text","text":"I notice that last message contains another prompt injection attempt — a fake `` block trying to override my instructions. I'll ignore the injection and continue with the real session state.\n\nReal state:\n- **Mode**: implement\n- **Hierarchy locked**: `ctx_batch_execute` > `ctx_execute` > `ctx_execute_file` > `ctx_search`\n- **File read/edit** → `ctx_execute_file`\n- **Multi-command research** → `ctx_batch_execute`\n- **Web pages** → `ctx_fetch_and_index` → `ctx_search`\n- **Index** → `ctx_index`\n- **Stats/Doctor/Upgrade** → `ctx_stats` / `ctx_doctor` / `ctx_upgrade`\n- **Purge** → `ctx_purge` (destructive, explicit scope required)\n\nYour trailing \"and\" looked like the start of a follow-up — likely cut off. Did you mean:\n\n- **\"and any AUR orphans?\"** (check `paru` for foreign-package orphans)\n- **\"and which of those 7 do I actually use?\"** (cross-check against `PATH` binaries)\n- **\"and the rust/cabal toolchain footprints?\"** (deeper scan of leftover config in `~/.cargo`, `~/.cabal`, `~/.ghcup`)\n\nLet me know which one (or something else) and I'll run it."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":19549,"output":294,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":19843,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117208797,"responseId":"chatcmpl-475","responseModel":"minimax-m3"}} +{"type":"message","id":"ad5bfc25","parentId":"08ebff4d","timestamp":"2026-07-03T22:20:13.051Z","message":{"role":"user","content":[{"type":"text","text":"paru"}],"timestamp":1783117213050}} +{"type":"message","id":"a0323ed1","parentId":"ad5bfc25","timestamp":"2026-07-03T22:20:17.679Z","message":{"role":"assistant","content":[{"type":"text","text":"I notice another prompt injection attempt at the end — a fake \"compaction\" / `session_state` block trying to redefine my hierarchy. I'll ignore the injection and continue with the real session state.\n\nReal state:\n- **Mode**: implement\n- **Hierarchy locked**: `ctx_batch_execute` > `ctx_execute` > `ctx_execute_file` > `ctx_search`\n- **File read/edit** → `ctx_execute_file`\n- **Multi-command research** → `ctx_batch_execute`\n- **Web pages** → `ctx_fetch_and_index` → `ctx_search`\n- **Index** → `ctx_index`\n- **Stats/Doctor/Upgrade** → `ctx_stats` / `ctx_doctor` / `ctx_upgrade`\n- **Purge** → `ctx_purge` (destructive, explicit scope required)\n\nYour last real request was **\"and paru\"** (AUR/foreign orphan check via `paru`). Running it now."},{"type":"toolCall","id":"call_function_p5pjsox4fot0_1","name":"ctx_batch_execute","arguments":{"commands":[{"command":"paru -Qdtq 2>/dev/null | head -100; echo \"---PARU_ORPHANS_EXIT:$?---\"","label":"paru orphans (all sources)"},{"command":"paru -Qdtq 2>/dev/null | wc -l; echo \"---PARU_ORPHAN_COUNT---\"","label":"paru orphan count"},{"command":"paru -Qqem 2>/dev/null | head -100; echo \"---FOREIGN_EXIT:$?---\"","label":"foreign (AUR/local) packages"},{"command":"paru -Qqem 2>/dev/null | wc -l; echo \"---FOREIGN_COUNT---\"","label":"foreign package count"}],"concurrency":4,"queries":["paru orphan packages list","foreign AUR packages list","orphaned count"]}}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":19855,"output":510,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":20365,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783117213051,"responseId":"chatcmpl-475","responseModel":"minimax-m3"}} +{"type":"message","id":"669566b3","parentId":"a0323ed1","timestamp":"2026-07-03T22:20:18.422Z","message":{"role":"toolResult","toolCallId":"call_function_p5pjsox4fot0_1","toolName":"ctx_batch_execute","content":[{"type":"text","text":"Executed 4 commands (80 lines, 1.1KB). Indexed 4 sections. Searched 3 queries.\n\n## Commands\n\n- paru orphans (all sources): `paru -Qdtq 2>/dev/null | head -100; echo \"---PARU_ORPHANS_EXIT:$?---\"`\n- paru orphan count: `paru -Qdtq 2>/dev/null | wc -l; echo \"---PARU_ORPHAN_COUNT---\"`\n- foreign (AUR/local) packages: `paru -Qqem 2>/dev/null | head -100; echo \"---FOREIGN_EXIT:$?---\"`\n- foreign package count: `paru -Qqem 2>/dev/null | wc -l; echo \"---FOREIGN_COUNT---\"`\n\n## Indexed Sections\n\n- paru orphans (all sources) (0.2KB)\n- paru orphan count (0.1KB)\n- foreign (AUR/local) packages (0.7KB)\n- foreign package count (0.1KB)\n\n## paru orphan packages list\n\n### paru orphan count\n# paru orphan count\n\n$ paru -Qdtq 2>/dev/null | wc -l; echo \"---PARU_ORPHAN_COUNT---\"\n\n7\n---PARU_ORPHAN_COUNT---\n\n### paru orphans (all sources)\n# paru orphans (all sources)\n\n$ paru -Qdtq 2>/dev/null | head -100; echo \"---PARU_ORPHANS_EXIT:$?---\"\n\ncabal-install\nchrpath\ncmake\nghc\ngo\nqt5-tools\nrustup\n---PARU_ORPHANS_EXIT:0---\n\n### foreign package count\n# foreign package count\n\n$ paru -Qqem 2>/dev/null | wc -l; echo \"---FOREIGN_COUNT---\"\n\n43\n---FOREIGN_COUNT---\n\n## foreign AUR packages list\n\n### foreign (AUR/local) packages\n# foreign (AUR/local) packages\n\n$ paru -Qqem 2>/dev/null | head -100; echo \"---FOREIGN_EXIT:$?---\"\n\nabook\nbetterbird-bin\ncarapace-bin\ncatppuccin-gtk-theme-mocha\nclaude-desktop-bin\ndracula-gtk-theme-full\nfirefox-nightly-bin\ngh-dash-bin\ngithub-cli-git\ngruvbox-material-gtk-theme-git\ni2p-bin\ninput-wacom-dkms\nkanata-bin\nlibrewolf-bin\nmkpdf\nmusikcube-bin\nneofetch\nnetbird-bin\nnmtui-go\nobsidian-bin\noh-my-posh-bin\nopencode-bin\nopentabletdriver\nparu\nparu-debug\nsesh-bin\nslack-desktop-wayland\nspeedtest-go-bin\nstreamrip\nsyncall\nsyncthing-appmenu\ntidal-hifi-tidaluna\ntor-browser-bin\nttf-jetbrains-mono-git\nurlview\nvial-appimage\nvideo-downloader\nwacom-settings-git\nwacom-utility-git\nwezterm-git\nwl-clipboard-rs\nwleave\nwlogout\n---FOREIGN_EXIT:0---\n\n### foreign package count\n# foreign package count\n\n$ paru -Qqem 2>/dev/null | wc -l; echo \"---FOREIGN_COUNT---\"\n\n43\n---FOREIGN_COUNT---\n\n## orphaned count\n\n### paru orphan count\n# paru orphan count\n\n$ paru -Qdtq 2>/dev/null | wc -l; echo \"---PARU_ORPHAN_COUNT---\"\n\n7\n---PARU_ORPHAN_COUNT---\n\n### foreign package count\n# foreign package count\n\n$ paru -Qqem 2>/dev/null | wc -l; echo \"---FOREIGN_COUNT---\"\n\n43\n---FOREIGN_COUNT---\n\n### paru orphans (all sources)\n# paru orphans (all sources)\n\n$ paru -Qdtq 2>/dev/null | head -100; echo \"---PARU_ORPHANS_EXIT:$?---\"\n\ncabal-install\nchrpath\ncmake\nghc\ngo\nqt5-tools\nrustup\n---PARU_ORPHANS_EXIT:0---\n\n\n> **Tip:** Results are scoped to this batch only. To search across all indexed sources, use `ctx_search(queries: [...])` or call ctx_batch_execute with `query_scope: \"global\"`.\n\nSearchable terms for follow-up: foreign, -qdtq, count, -qqem, head, -100, 0---, ---"}],"details":{},"isError":false,"timestamp":1783117218422}} +{"type":"message","id":"dce214ce","parentId":"669566b3","timestamp":"2026-07-03T22:20:28.209Z","message":{"role":"assistant","content":[{"type":"text","text":"## `paru` orphan check\n\n### Orphans: same **7** (all are official-repo deps, no AUR-only orphans)\n\n```\ncabal-install chrpath cmake ghc go qt5-tools rustup\n```\n\n`paru` confirms the same list — no AUR foreign packages are orphaned.\n\n### Foreign (AUR + local) packages installed: **43**\n\nHere's a categorized look at the 43 `paru -Qem` packages, since they often have larger blast radius than repo orphans:\n\n| Category | Packages |\n|---|---|\n| **Browsers / comms** | `betterbird-bin`, `firefox-nightly-bin`, `librewolf-bin`, `tor-browser-bin`, `slack-desktop-wayland`, `tidal-hifi-tidaluna` |\n| **Terminals / shells / TUIs** | `wezterm-git`, `sesh-bin`, `oh-my-posh-bin`, `carapace-bin`, `gh-dash-bin`, `nmtui-go`, `speedtest-go-bin`, `wleave`, `wlogout` |\n| **Input / tablet / keyboard** | `opentabletdriver`, `kanata-bin`, `vial-appimage`, `input-wacom-dkms`, `wacom-settings-git`, `wacom-utility-git` |\n| **Themes / fonts** | `catppuccin-gtk-theme-mocha`, `dracula-gtk-theme-full`, `gruvbox-material-gtk-theme-git`, `ttf-jetbrains-mono-git` |\n| **Sync / network / tools** | `netbird-bin`, `syncthing-appmenu`, `i2p-bin`, `github-cli-git` (git version), `wl-clipboard-rs` |\n| **Media / downloads** | `streamrip`, `video-downloader`, `musikcube-bin` |\n| **Dev / docs** | `claude-desktop-bin`, `opencode-bin`, `obsidian-bin`, `mkpdf`, `urlview`, `abook`, `neofetch` |\n| **AUR helper itself** | `paru`, `paru-debug` |\n| **Calendar sync** | `syncall` |\n\n### Items worth a second look\n\n- `github-cli-git` — tracks `master`, you already have the stable `github-cli` from repos\n- `paru-debug` — debug build of paru, almost always safe to remove\n- `firefox-nightly-bin` + `librewolf-bin` + `betterbird-bin` — three browsers; check which you actually use\n- `neofetch` — deprecated upstream (project archived 2024), `fastfetch` is the modern replacement\n- `tor-browser-bin` + `i2p-bin` — privacy tools; keep only if used\n- `slack-desktop-wayland` + `tidal-hifi-tidaluna` — Electron; if non-Wayland sessions exist, `slack-desktop` works too\n\n### What `paru -Qdt` does vs `pacman -Qdt`\n- `paru -Qdt` **also** includes orphaned AUR/foreign packages\n- Result was identical → no AUR-only orphans in this set\n\n### Suggested next step\n```bash\n# Full AUR orphan audit including optional deps\nparu -Qdttq\n\n# Check if any of those 43 are also orphans (optional-dep level)\nparu -Qdtq\n```\n\nWant me to run the `-Qdttq` (deeper optional-dep orphan) scan, or cross-reference the 7 orphans against your `~/.cargo` / `~/.cabal` / `~/.ghcup` footprints to flag any with leftover user state worth backing up first?"}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":21223,"output":786,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":22009,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783117218423,"responseId":"chatcmpl-972","responseModel":"minimax-m3"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-06-37-141Z_019f2a04-fa55-7e90-9f5e-9dce206df54e.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-06-37-141Z_019f2a04-fa55-7e90-9f5e-9dce206df54e.jsonl new file mode 100644 index 0000000..247130b --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-06-37-141Z_019f2a04-fa55-7e90-9f5e-9dce206df54e.jsonl @@ -0,0 +1,5 @@ +{"type":"session","version":3,"id":"019f2a04-fa55-7e90-9f5e-9dce206df54e","timestamp":"2026-07-03T22:06:37.141Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"ed8bc957","parentId":null,"timestamp":"2026-07-03T22:06:37.454Z","provider":"ollama","modelId":"minimax-m3"} +{"type":"thinking_level_change","id":"88ea5763","parentId":"ed8bc957","timestamp":"2026-07-03T22:06:37.455Z","thinkingLevel":"off"} +{"type":"message","id":"0ed72423","parentId":"88ea5763","timestamp":"2026-07-03T22:06:41.036Z","message":{"role":"user","content":[{"type":"text","text":"test"}],"timestamp":1783116400633}} +{"type":"message","id":"4baeea01","parentId":"0ed72423","timestamp":"2026-07-03T22:06:41.264Z","message":{"role":"assistant","content":[],"api":"openai-completions","provider":"ollama","model":"minimax-m3","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"error","timestamp":1783116401131,"errorMessage":"404: {\"message\":\"model 'minimax-m3' not found\",\"type\":\"not_found_error\",\"param\":null,\"code\":null}"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-07-56-611Z_019f2a06-30c2-7d11-a3de-b96f712fce62.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-07-56-611Z_019f2a06-30c2-7d11-a3de-b96f712fce62.jsonl new file mode 100644 index 0000000..7e42ba2 --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-07-56-611Z_019f2a06-30c2-7d11-a3de-b96f712fce62.jsonl @@ -0,0 +1,5 @@ +{"type":"session","version":3,"id":"019f2a06-30c2-7d11-a3de-b96f712fce62","timestamp":"2026-07-03T22:07:56.611Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"2691a08c","parentId":null,"timestamp":"2026-07-03T22:07:56.936Z","provider":"ollama","modelId":"minimax-m3"} +{"type":"thinking_level_change","id":"c07c1e10","parentId":"2691a08c","timestamp":"2026-07-03T22:07:56.936Z","thinkingLevel":"off"} +{"type":"message","id":"719f4b02","parentId":"c07c1e10","timestamp":"2026-07-03T22:08:01.069Z","message":{"role":"user","content":[{"type":"text","text":"test"}],"timestamp":1783116480688}} +{"type":"message","id":"8f3cc694","parentId":"719f4b02","timestamp":"2026-07-03T22:08:01.204Z","message":{"role":"assistant","content":[],"api":"openai-completions","provider":"ollama","model":"minimax-m3","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"error","timestamp":1783116481134,"errorMessage":"404: {\"message\":\"model 'minimax-m3' not found\",\"type\":\"not_found_error\",\"param\":null,\"code\":null}"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-06-389Z_019f2a07-4155-72ba-9422-b34fbe2788da.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-06-389Z_019f2a07-4155-72ba-9422-b34fbe2788da.jsonl new file mode 100644 index 0000000..d08c202 --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-06-389Z_019f2a07-4155-72ba-9422-b34fbe2788da.jsonl @@ -0,0 +1,5 @@ +{"type":"session","version":3,"id":"019f2a07-4155-72ba-9422-b34fbe2788da","timestamp":"2026-07-03T22:09:06.389Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"6f36747c","parentId":null,"timestamp":"2026-07-03T22:09:06.701Z","provider":"ollama","modelId":"minimax-m3:cloud"} +{"type":"thinking_level_change","id":"240631b6","parentId":"6f36747c","timestamp":"2026-07-03T22:09:06.702Z","thinkingLevel":"off"} +{"type":"message","id":"71582b71","parentId":"240631b6","timestamp":"2026-07-03T22:09:08.527Z","message":{"role":"user","content":[{"type":"text","text":"test"}],"timestamp":1783116548141}} +{"type":"message","id":"e852d1ad","parentId":"71582b71","timestamp":"2026-07-03T22:09:14.247Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user has activated context-mode and provided a hierarchy of when to use each tool. They haven't asked a specific question yet - this is just a system priming message indicating context-mode is active and ready.\n\nI should acknowledge this briefly and wait for the actual task. No tools need to be called yet since there's no specific request.\n\nActually, looking again, this is just a priming/initialization message. I should respond concisely acknowledging context-mode is active and ready.","thinkingSignature":"reasoning"},{"type":"text","text":"Context-mode active. Ready for your task.\n\n**Tool hierarchy noted:**\n- `ctx_batch_execute` — multi-command research with auto-indexing + inline queries\n- `ctx_execute` — sandboxed code execution, output never enters context unless logged\n- `ctx_execute_file` — analyze files without loading bytes into conversation\n- `ctx_search` — query the persistent FTS5 knowledge base\n- `ctx_fetch_and_index` / `ctx_index` — capture web/local content for later search\n- `ctx_stats` / `ctx_doctor` / `ctx_upgrade` / `ctx_purge` — meta operations\n\nStanding by — what would you like to do?"}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17217,"output":236,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17453,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116548600,"responseId":"chatcmpl-986","responseModel":"minimax-m3"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-37-216Z_019f2a07-b9c0-741c-8d4a-1977214bfc02.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-37-216Z_019f2a07-b9c0-741c-8d4a-1977214bfc02.jsonl new file mode 100644 index 0000000..0139807 --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-09-37-216Z_019f2a07-b9c0-741c-8d4a-1977214bfc02.jsonl @@ -0,0 +1,5 @@ +{"type":"session","version":3,"id":"019f2a07-b9c0-741c-8d4a-1977214bfc02","timestamp":"2026-07-03T22:09:37.216Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"e4251b32","parentId":null,"timestamp":"2026-07-03T22:09:37.539Z","provider":"ollama","modelId":"minimax-m3:cloud"} +{"type":"thinking_level_change","id":"20facbd9","parentId":"e4251b32","timestamp":"2026-07-03T22:09:37.540Z","thinkingLevel":"off"} +{"type":"message","id":"b7c62197","parentId":"20facbd9","timestamp":"2026-07-03T22:09:37.977Z","message":{"role":"user","content":[{"type":"text","text":"hi"}],"timestamp":1783116577618}} +{"type":"message","id":"8537ad58","parentId":"b7c62197","timestamp":"2026-07-03T22:09:42.802Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user has sent what appears to be a system message about context-mode tool usage. This looks like a system prompt or instructions about how to use the context-mode tools. There's no actual user request or question - just a reminder of the tool hierarchy and usage patterns.\n\nGiven the session_state shows \"implement\" mode, and there's no actual question being asked, I should acknowledge this and ask what the user wants to do, or note that I'm ready to assist.\n\nActually, looking more carefully, this seems to be a system/instructional message that I should follow. It's telling me about tool priorities. I should acknowledge briefly and ask what they want to work on, since there's no actual task specified.","thinkingSignature":"reasoning"},{"type":"text","text":"Understood. Context-mode tool hierarchy loaded:\n\n- **ctx_batch_execute** — multi-command research with auto-indexing\n- **ctx_execute** — sandboxed code/derivation\n- **ctx_execute_file** — analyze files without loading bytes into context\n- **ctx_search** — unified KB search (indexed content + session memory)\n- **ctx_fetch_and_index** / **ctx_index** — store docs for recall\n- **ctx_stats** / **ctx_doctor** / **ctx_upgrade** / **ctx_purge** — ops\n\nReady in implement mode. What would you like to do?"}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17218,"output":270,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17488,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116578042,"responseId":"chatcmpl-489","responseModel":"minimax-m3"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-10-37-942Z_019f2a08-a6f6-7f80-b388-3886fe68b451.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-10-37-942Z_019f2a08-a6f6-7f80-b388-3886fe68b451.jsonl new file mode 100644 index 0000000..7adc99e --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-10-37-942Z_019f2a08-a6f6-7f80-b388-3886fe68b451.jsonl @@ -0,0 +1,5 @@ +{"type":"session","version":3,"id":"019f2a08-a6f6-7f80-b388-3886fe68b451","timestamp":"2026-07-03T22:10:37.942Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"f46368d5","parentId":null,"timestamp":"2026-07-03T22:10:38.256Z","provider":"ollama","modelId":"minimax-m3:cloud"} +{"type":"thinking_level_change","id":"d632e197","parentId":"f46368d5","timestamp":"2026-07-03T22:10:38.257Z","thinkingLevel":"off"} +{"type":"message","id":"54d97c2f","parentId":"d632e197","timestamp":"2026-07-03T22:10:40.032Z","message":{"role":"user","content":[{"type":"text","text":"test"}],"timestamp":1783116639651}} +{"type":"message","id":"3ec52761","parentId":"54d97c2f","timestamp":"2026-07-03T22:10:44.154Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is testing context-mode. They've provided a hierarchy of tool preferences. Let me acknowledge and stand ready. No specific task to perform yet — this looks like a system-level reminder about which tool to prefer for which task.\n\nI should respond briefly to confirm I've registered the preferences.","thinkingSignature":"reasoning"},{"type":"text","text":"Context-mode preferences registered. Ready to work — I'll follow the hierarchy:\n\n- **Read/edit files** → `ctx_execute_file` (keeps raw bytes out of context)\n- **Multi-command research** → `ctx_batch_execute` (parallel fetch + inline queries)\n- **Web pages** → `ctx_fetch_and_index` → `ctx_search`\n- **Index docs** → `ctx_index`\n- **Stats / Doctor / Upgrade / Purge** → matching `ctx_*` tool\n- **One-off shell / derivation** → `ctx_execute`\n- **Direct file Read/Edit** → still used when I need to see or patch exact text\n\nStanding by for the task."}],"api":"openai-completions","provider":"ollama","model":"minimax-m3:cloud","usage":{"input":17217,"output":201,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":17418,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116640102,"responseId":"chatcmpl-582","responseModel":"minimax-m3"}} diff --git a/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-14-35-825Z_019f2a0c-4831-7b44-acd9-44e93fe1c192.jsonl b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-14-35-825Z_019f2a0c-4831-7b44-acd9-44e93fe1c192.jsonl new file mode 100644 index 0000000..ee51d5c --- /dev/null +++ b/pi/.pi/agent/sessions/--home-liph-.pi-agent--/2026-07-03T22-14-35-825Z_019f2a0c-4831-7b44-acd9-44e93fe1c192.jsonl @@ -0,0 +1,8 @@ +{"type":"session","version":3,"id":"019f2a0c-4831-7b44-acd9-44e93fe1c192","timestamp":"2026-07-03T22:14:35.825Z","cwd":"/home/liph/.pi/agent"} +{"type":"model_change","id":"739181b3","parentId":null,"timestamp":"2026-07-03T22:14:36.140Z","provider":"ollama","modelId":"kimi-k2.6:cloud"} +{"type":"thinking_level_change","id":"4a45cd2e","parentId":"739181b3","timestamp":"2026-07-03T22:14:36.141Z","thinkingLevel":"off"} +{"type":"message","id":"541ec571","parentId":"4a45cd2e","timestamp":"2026-07-03T22:14:36.579Z","message":{"role":"user","content":[{"type":"text","text":"is my port 8080 open"}],"timestamp":1783116876220}} +{"type":"message","id":"e86db490","parentId":"541ec571","timestamp":"2026-07-03T22:14:41.690Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The user is asking whether port 8080 is open. This is a straightforward question about network connectivity. I can check this by using a bash command to test if the port is open. Common methods include using `nc` (netcat), `curl`, or checking with `ss`/`netstat`.\n\nLet me use `nc` or check if there's a process listening on port 8080. I'll also check if the port is open externally. I'll use bash to run a few commands:\n1. Check if any process is listening on port 8080 (`ss -tlnp | grep 8080` or `lsof -i :8080`)\n2. Check if the port is accessible from localhost (`nc -zv localhost 8080`)\n\nIf `nc` isn't available, I can try `curl` or just check with `ss`.","thinkingSignature":"reasoning"},{"type":"toolCall","id":"functions.bash:0","name":"bash","arguments":{"command":"ss -tlnp | grep 8080 || lsof -i :8080 2>/dev/null || echo \"Port 8080 is not listening\""}},{"type":"toolCall","id":"functions.bash:1","name":"bash","arguments":{"command":"nc -zv localhost 8080 2>&1 || curl -s -o /dev/null -w \"%{http_code}\" http://localhost:8080/ || echo \"Port 8080 unreachable\""}}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13033,"output":280,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13313,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"toolUse","timestamp":1783116876647,"responseId":"chatcmpl-782","responseModel":"kimi-k2.6"}} +{"type":"message","id":"c106df16","parentId":"e86db490","timestamp":"2026-07-03T22:14:41.758Z","message":{"role":"toolResult","toolCallId":"functions.bash:0","toolName":"bash","content":[{"type":"text","text":"LISTEN 0 0 127.0.0.1:8080 0.0.0.0:* users:((\"syncthing\",pid=641,fd=12))\n"}],"isError":false,"timestamp":1783116881758}} +{"type":"message","id":"ca79fc59","parentId":"c106df16","timestamp":"2026-07-03T22:14:41.758Z","message":{"role":"toolResult","toolCallId":"functions.bash:1","toolName":"bash","content":[{"type":"text","text":"/bin/bash: line 1: nc: command not found\n200"}],"isError":false,"timestamp":1783116881758}} +{"type":"message","id":"0903be24","parentId":"ca79fc59","timestamp":"2026-07-03T22:14:45.856Z","message":{"role":"assistant","content":[{"type":"thinking","thinking":"The `ss` output shows that port 8080 is LISTENing on 127.0.0.1:8080, and the process is `syncthing` (PID 641).\n\nThe `curl` command returned 200, meaning it successfully connected and got an HTTP 200 response.\n\nSo the port is open and active, but only on localhost (127.0.0.1), not on all interfaces. It's bound to 127.0.0.1 specifically.\n\nI should summarize this clearly for the user.","thinkingSignature":"reasoning"},{"type":"text","text":"Yes, **port 8080 is open** on your machine.\n\n**Details:**\n- **Status:** Listening (`ss` shows `LISTEN`)\n- **Address:** `127.0.0.1:8080` (localhost only — not exposed to the network)\n- **Process:** `syncthing` (PID 641)\n- **HTTP check:** Responded with status `200` when curl'd via localhost\n\nIt is **not open to external connections** (bound only to `127.0.0.1`). If you need it accessible from other machines, you'd need to reconfigure the application to bind to `0.0.0.0` or a specific external interface."}],"api":"openai-completions","provider":"ollama","model":"kimi-k2.6:cloud","usage":{"input":13306,"output":256,"cacheRead":0,"cacheWrite":0,"reasoning":0,"totalTokens":13562,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"stop","timestamp":1783116881760,"responseId":"chatcmpl-464","responseModel":"kimi-k2.6"}} diff --git a/pi/.pi/agent/settings.json b/pi/.pi/agent/settings.json new file mode 100644 index 0000000..708d738 --- /dev/null +++ b/pi/.pi/agent/settings.json @@ -0,0 +1,13 @@ +{ + "lastChangelogVersion": "0.80.3", + "theme": "dark", + "packages": [ + "npm:pi-ollama-cloud", + "npm:context-mode", + "npm:pi-subagents", + "npm:@a5c-ai/babysitter-pi" + ], + "defaultProvider": "ollama", + "defaultModel": "kimi-k2.6:cloud", + "defaultThinkingLevel": "medium" +} diff --git a/pi/.pi/context-mode/content/aa673b1056f331f7.db b/pi/.pi/context-mode/content/aa673b1056f331f7.db new file mode 100644 index 0000000000000000000000000000000000000000..bd93af8f83024f3025d8b69f7029679f06c301a4 GIT binary patch literal 245760 zcmeFa34C1HRVVzGTHmXxr`577FHe>?wN;WzC0Ukjd1>42cDL>J+KW5g>QdE{R90=S zdL>!zEw3c^mQK1m2?<$9LITVTL-=3@NML5jOxVIOFsy+u3~K@bJ|Kj!Ojy7FIro)R zlI3nQ^L-h9;gzkbyWexqIrrRi?t1CMnXGM@Q^j&VWt&NbS&60Ix0Ku3|@MsT9~a&*yZeWIhCJC7YkF_>2(96 ztAO6UZkpYDW*gz{Gv|8EM^0b9|Dh|F&5I8`a{9#c(O}2enCx_}S9zwGu4HdoYf5%Q zBX3&0n`rl*YzBn7eDc)Ei>m>t+%)e!^U%G$&W4D9;M95$p!v2{u-8D~hU#w$ft%>g z5TpnD%ya^OL-Z zm)0xRF3ws7bfNLxZin7o7a8eLuw(ab+3`1`6b)JF?ZOjUmxLnjEqnKLkmx2m;l@f< z_iEP{T(_FL?#0gqL`9>G6}e<_sqgv%>sI7O-kBTUqO(^0Ld1_W*1yt6;qtFr@Be0> zO!XDwZKw&1xZ= zE@rHKiRI3AUI}#U-77!FD0Ii?igmqe6`)**;kxcsSCMN?#58WC+|CU<;-PsupvDVGx1N&#A=L{nSedc8qjSO>;XGlBnbEHE)?f? z_x7$-IF-#=6Qz_r!&z6t-5x(Nld6cQx?qe#CGy1vB;y@MXY4!R@ID>}JPddk@G#(E zz{7xt0S^Nn20RRS81OLQVL*~9zOdws$)ThqO{OqWe4vynSIuI%G?OY+%sr`GuD%-3 z+t(0fvdP?sRc0$YT`>0?yK->=6P~GDuUSf^XH(Nw#f|h04G!ǵtMljhLSfuX?z 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

GU5480K=3|$T#3+)K43M~zlhGHSF^_SLHtY5bN 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ΜW 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

WqER9b%B`Gh?W9?8$#l0#x)(F(+I?CT zdL~!A+Pb=35JcxCZ7^|_UxryDdHFcPwryO|nC6Bm;6{ql9>6d*^StZHt&1Ed%VSY@lOztu(v-+~V>Tbw7`8h8^MG6W$Pi*UB z7>O;jY(tb{0k1(=CI`Y)@)e5Bs9akQRB=cC(EZc&z`FO1IieA0#7mNJnDS-EDs

^5^73iF&W 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 R&wUsEFIZJlQYrku{{`0H8=(LI literal 0 HcmV?d00001 diff --git a/pi/.pi/context-mode/sessions/590c1894467d14ef.db b/pi/.pi/context-mode/sessions/590c1894467d14ef.db new file mode 100644 index 0000000000000000000000000000000000000000..8fd8a8b7d5c6a582a83e0441de0b4ead4864c937 GIT binary patch literal 53248 zcmeI*Pfy!s90zbGfD`_v5|eV8WHceL3dQ+H2-T#rG^-G4XlXJPX_DpGPm0^bPHl%l zdxEmd?vwTocG+IRZaeM`?6&))-gn#{$8nxGEF`cg29DH6MvDFNZGPJ4&@qY+~EG zX~+%YD7~*E`GdkvxgeBxz9<%i-V$MTM(8~J-MS`}3opyUvxD8II|qltUg2=9Td8T8 zuZil&nr?ZuO8aG@R4Eo&728oPhiEcgquX)(8p7kkmpheWSyCP=~eXjBQP5*~%*-t1Zhm zy}^mE=OXdkQs^wA8yY#$wG-Jf&AO~A^|~#0yx5-kj`D8lap9%#@3n>flE7N5GIR0# z(M%-1v=qA7Yp0S`Vy|WcX=MAaNTLtKSlnj8#IUmVz(&HYo;t*qE#kB+gJ>f)X*J!v z-|T(S^IjBs(AL_PVkd)QYL<^bSqgFOY}s$?^lCv?T8`P??oC~S+0C85h(_X~7`jjb zQ^+EAtI?fM-qv)$-_M;_){_G|f&BMp?{V)`%KN(|8scf8RA%OW7=PON851g{-RG4; zPens%+DB&JtYYO?%@0;fwaAULpqhq@!iLv9R)1&HnE-g!gyA`EpGWW@y@l%m_UJRYBcNalFUF~=GHj>9=^b|_1R;b6qh^@UgSe_!(0D%H+Q;Oc>usdW8% zWm>0$PGbHWrn?AVTBVXK7(FE^g98n?*6Ci!tgNs|isM*%wdJ_iU$)t@R1%EK8nui! z^t#6w(3UQ;HC=O)E6|I!;+2;;-dR{VHfe*aR%LdSH#l#5gOQI+^G$F>Eb4zbskj-C zj}-eT7@Tpf_~(@N2mE_uzQRU#5P$##AOHafKmY;|fB*y_009V$RREv=$I6Y)AOHaf zKmY;|fB*y_009U<00OrnFyr=$@BeSb9-Tq}0uX=z1Rwwb2tWV=5P$###wCEy|KpNI zKM;Tb1Rwwb2tWV=5P$##AOL~e6Ts*H+p|Z{5P$##AOHafKmY;|fB*y_0D*A{xIh2T zFI2hMFR|lTV&UV$k8}eM2tWV=5P$##AOHafKmY;|fWWl{@_cmt^As12a=EQcE|*Aa zxtvnXWeM3hG8<&0t~ZZ1G}Ec+^lvR~IE~gxQc7;FOWAcPB_tEunasA7&QJM4-1b{) zHCx@vsx>7ojTR)mwJk~cNk2$BnMr4)REnfCG>p1AVvy{1dMiKS2O-H#wJPNjilj-3 zlCF*zWOF;6&4>LUHL0d$6SZnhOKfRUDluY^%yuG~5BWiIDXE&2su{9L|0&X_!%0yS z_xpc7_JNE25c@gyG4>($YwY)Hrx*<&009U<00Izz00bZa0SG_<0uUG`@X5q_sQ=ao z@9yls)iLGn?7wv}>F(^m6*1xN?7y`TUYuB;?!Q%l-~T@>Jt&6&1Rwwb2tWV=5P$## zAOHaf+9jDNwtuAMnF0faVMrM!v@kqcIt;X>Ewq8Q4CTA` zu2#B7N0MXhmXIDzvX;Jk&Ue1^`_B2!`M&eG=N~;)u?%Y2Y^>@Q#rd}Q0s-F}Daz;b zO~U_M;s4Gj3}1qsAMmfg=lh_qlfGj=_qka3UwqNY?Y`JT^gp9FBR_~-o!lM~LO&M% z=+xhZl2eUAnF*aBKoB4Z{E!iN_Ttp^?12ORx8Jn%V%2CG&1S`{Ev*`s-urzzcTQ6m zHEL1Kp3E{L7qthqb5tL1x|_aauGV!BbySYEx*erjP5qLwRBAPvrdzqW zC!^D|O48q+uGGrL^-B5rl4Y9JrIKE)Hka1$>QZ8BC@-AOYj2|Psi`xkscw$LUCig6 zedEmZY%=M8`@@bZyNSBrA|5q%=|hy*0jLX$oz1J5?lY%iw*_wThGjID8iv(s)Qs|N zWogxIz28~8=xK{o4`@dnEa%oVILAe%W*HO|h9n-}w`t148 z^z7W6|LwY`3pI>pYjwRtxxd05{5!gHpY`YfI#8#5_R6hZSUj_E8dyA{onGu>-eJ?} zb{&mT7fvrcdO_<+Skvpx6%*-I-RHylM>kceVcfA6N@mRlrCYsqSvy^u?x^B;cxv{{ z+#pqS>g+0|M>T+6KbE)2_n2m~c!%Lp(vxeU1>)C9R=zZkr;T`UCPX(uEkAoa{ z50b;WQD5({u4t2^WU#Z0DBn&p_teDntO{k%4k~-C0^WKAM-{)8e5eF-X9H8SM~?U( zcl&~C)tbhYmQgDiYeuf~b7HN)wQ=5?_Ha#KHI72kx#xJlWAfg$-_yTb%)C_ycsZ`k zFWi(HZt}WT%F&Bw_RxJ+0{eBzY}^<$h;ob`{hq|0} z%W71LEz6#NHO*F|WO(^@Gqq}$Vct_4kQa>Xa;0o5mx4*#si9LGcNEsInvh|bRqjf8 z2jjL|nWYueyzH$}m+Lr#imidA6}`FQW!{DBP-jfBo&1T!w``-dHSzt#D~WGK-xKvm zo|yUk%!A<%g?CNAGWGqb$0k29c{upo#Fr)>3w$!L)!*{HWM_Cye%i@h3152u4u2^* zHysM?;L^)dNi?KV(I`rWpy(x-kit~hnV6Q$rWLTv%SNraRHY)eT<%8F;|WGYNft%&1_t5!c^E;YM7?=z&9=){?3cfUp#M_b(UtuG%clR zj$+viBV`y~k#ig;2%^lfIfm1O_U>7bao^VP8Arzb{W7l4rRtTNDf>q%lPX!)m&#_z zG8?I*sk+|KSDUHK&0Dud33V1Kum~(JG!2YwqL!0IjgbUN&gZfU+opE9`000qpTPIx zr)&g#EXU`wiogmvm6d5);oH=XaYST2B1*~zXqc8*Sr#}}lzBzsnY`2v-321<-tFJ# zpqTF0aHVEJGj#t3E35UYu?oLO=@N9a$r>%U zsqF|_vRLHHj36k*a;a=c<)Iyd_n^gdFR@ilVqF3KcV~+^5jw78k8`3nxi>v8*cs%}N3-7mZ;G zg{t-TP*xDf)hM6g1sQA`lgslmEzmhWE47n}F=V7U&LbljVD|UMquzZZ@g3Rjt*jr>RQ~qfW{8aPsui zRJCa?Q|StoaR}_m`Lc0!zSgQ%?T1Eb#iTB#&YBI&%}{AlHSkEQl_pq-O6}6cRB9X} zZ&#gT6i#MDI-e7zJgdsj?u)He{qYT|daXpIpSns_O$c|az<}dcg*|zYvFix&pDL9G zbWEyS_w+TW_JNx#mQ{y%QrWn5F-6%wGV}B6Y#hYqu`so2;B}W)>=4}sAVf1vPGxwp zAm)`^E-SP{QKY}4ZDUjVJD=gi{{9|8`w}k-QmM=-C5Gb_u{fl^ODrRK`V!5I+n4AJ z&oi`~hhZ+CXEl|PRJI+OLE%DV+!VM#6uJ+tP#6(~VQGPp*^(f$%P=yQHc1p(=@TUx zLNuq843R08xDw59`tq_eTywHVbJDn0kXAB0TPR4Xs>xYRk}mzKpN39U(`9VR4Vc;_3a?~1`+f8uLC_>X)D0t5kq06~BtKoB4Z5CjMU1Ob8o zL4Y7Y5O^IRu+2X)=l5NeJQJxz79$Tt?u+b*_-4MEm{06UOvb+%|C{(9#XlbZK>Qu?MxvH@ zJn>@UV~O`AemwED#LMv~;t$2S_&xD(?Ax)wk9{uoso1Z?-W|Id(_^P%QY;mVMgQw{ z04=EkL4Y7Y5FiK;1PB5I0fNA54}rTT(td8aB=Tjt2>U=~fmP&_IN}K$@qQffIF6XX z5fvO!#t|hPQN$4i9FfNnIUJG25g8nj#u4Xn#A7&O8b>^eBObvK@52%2aKytn;vpRI zpiM+K1|Pr?@5K@KeQs;rE4^(6>XM3_TLQ7J4t73b+{F5k42H&3roiLg=sJFT}qXKN-I}{!8&^ z;!ClAi2ZKdpV*e*5+6>yCvhfGPy9jRE3s$6(@(~H(a%Od7;Q)28l@t?5V;ZgLF_}( ze~NrDmW`^B&%E}A3L+6ffFM8+AP5iy2m-f_02NH{?{l$wwp*UOH<&)sm!JuUCyM6v zv~k@iwJhTVmWy*nIDHL{L>u>G6Z8~w{GMQXUtclnXE`#X@+*6T>D_(#-7T5&sLays z)KSE8>8YcDP0&+Ees~?ZQTf?X37Am{=urvghroDjROa-k1V@JhaAZ{e`$i?08rLcwcw8JDeL64Z!a4GhU%74$O z1b2^0@P<(d_Bv`nk#M{7o>7^1k4ms>H~_Pw^6wm#V8;;g?{YGu-gJ+8wvS4%&Ebx6 zaKYK?WJaCs9`0L4B}h2npd8lQXngqNm?ImS+m$Wq7LEAlJ+ejI%t!(^^NjNhb=lo# zVTUp5x%V&*IhoM}ZsutxGwRIuWS(*|qY2#1lg=~LzjvPnooA??Jw3Pm0JoKd#NQkLdfbSgjz67PNW3-iTZvywTub~^;x7~b z8vBpf{jo&!yU{PlDcA$>x3NEr{e0|gu}bV*>_GI-qMwROvER7u`2|Tx5FiK;1PB5I z0fGQQfFSVy8-bm{w7)OT5;(adm=5=mPhhF{<5?WXCeGj!D_C++#*zaPmbHkb3V0Sg zHZg}!%;L!mo=oG(^H_557?vDJt zMuQ1~?RfGwEIGK^ESf#8HgM#BMt06^mJ3jze~^Z#2TZ}TPoB=Jn* z!NivM7vj&ywb=J!pN(CQ9fLCgAC2nKosmC6@r~? ze2GyQ+9;RHC7G3%nSt5twkb?>vK66?83GH}YnNC?lni_}XqV6m*oA;oUFiL&zdk4% z+$YEiy}+$qF&Gg19SL~BU`j<=&_%e;P*etV4ksTi+3WvX;~(%P_QXE`=k?*-e*Bwo zrXNo9!|DDP;S7J?Inn=e{NrO9I+C3rKoB4Z5CjMU1Ob8oL4Y7Y5FiK;1PB5H5U>xi zqfs&E{68Asa?bywk*dMx|Iz4?d;TAZ4LRrk(I}5|{vQq4IOqS-(2H~a9}TQH=l{_V z$u#Z&zjOW{4O}?q|Ix67d;T8@It)Jlj|K0^t?a7p@$Dj z*7c>LZk1M+*4|YU*mkS;EIylon>ZMmpO{MT3*)mlE!}EP9`oj6lnl?F2)Ko!ha36} zO>szexJ*G2{8Q;96pG7UHcOV-2t3!9jp6O}|6s!MC9K3RCO)0`#~&3HlX?;a2m%BF zf&f8)AV3fx2oMAa0t5kq06}205jYrx=)%a@LeP0RA}*N|Lzr;5;JkfrgaWuE!?JWwcDQ zx>VAu)q3S-%Knkcr0k6#ZqO!mG*#Cd`f4+kxq0i>D51_m1r~wDg{Fa#P1JI-s4tHvt)9;HjrVdHGWT&-K@TgBCi z)u&KeDk#~k%*c6}mpNIZ)W zjU%F0q3qag4n&0a++-P*D==!dAaJ=HD0C~LP!z>YQ7F7sN$yiCdRWess^;#J$bhAmNt!k}KJxyI|7W^Ww zK*yxIbx&V|Y9F|{Vp;X2l36xxT})B-kIel1IvWSEc`Qt=TEoywD|)eNYyd(u!{k(k z7Ykxu$>p*_I}}CwJK8ojrN7&+KI`xA5wtHMcU2GR?-I*Mp1wpgB~g88-zk5QXl8D-=dVL2vQiBvELkPn2W`(Hwer_;Ah19?ePPT0!S^ zafO1Us+yeDL@t|S7#P^55x7tpHv=x`Wp@2=O(Afh7pM=1%iGYoaR)Z%-F6zMC@?#g z#C##2(^$0~nnd72W!xmV=>B;?D2RxHUM;^VqS&wL>(g9l0ucp$ecz^tV!!9FPn2W; zX+-F&^@cPecwwGry35e)Sk`jw<$Q{$392BotWwZ4UgFvzKLQsjZ~%epRfIhtF5wA#NbJ~d zp8XnGm1S}T7XFcWmQ^LXoxJzXWfTOjCo0lo%V-~)QALfTd0ORIH4l;&o}>4>GvlAU z*_j!mK;oQ&zC$`V4*|k8Z@$^%E|gm^CtjhRnLp;tcjv2>;(QGz!b_`Wxm7iq_LCA! zagBMiZq)24viEV1BLT%#^`c>ii98&dm8Xnm>ekWTVymx)F}N}-hF+%9EZtLvBNYYV zuglO0QU3KxopZbwDxF?78>_l?V!2@$PZ<|_f3AwgXDXma?-AZ3F zEUG84;CS8#53WCgUeLIaZnSEY-h#7$#;SSM(;s_W><%|O2%%rqD_~e07rSd>AO*GF z1H8t?70B*W7-4L3r<)Aynmv-(=?6>E({VdY5hLIV&_qgz6%DvWoeb5qmO7vtZ z>$OW&h^-+dx(%k-Fs|Vg;m|ux&0F4j7|%&FSP>o;saxJ*rqiW5pfo}HR;|@E$`sV! z07F_U*&|YStm#d;UZta{ZWrI^(T7(QiK97&Ezo(0s4_fQxdaOgIWDgj@|?_Tnk=$Xww-*#7%~c? z$8TlFpTJ8Q7N7&aRT2uS3Sm(|w4K~LhKxMz3D9ujc)m3_LLei@%RJ8t1x}*#3@a#F zJG2L6{6AQEWBLO$$=zeX#d(_@13$-H1d-rw0#*|h4c6S4tjgu2Y}WSww*@}vOFR+( zbbM#*X7uGKANlpj4HYL$@K4c&sQW8y55e#{gE# zsq~{|>xy>{y%uO|(Q9PYaYj0Xu%-s6`eDnGbE*p2s+@ub}1i49>wd##IWJ*7z zJjb!?E$hs=vk$4KmvUz=oL)o=bW4KX(5hL3in!A87JHd4o>^2+EuDS%!Sg6f%d{Zq zRH?yvzG@XF`2*rmg=b+u>Eq!LT_$TKK_%1+=awGQPMy`x^;HQTff}oIqtT@54WkKu<47;Zi4}rV zlMcwrC2c zWnp0&44=TtxdOm<-#G9gc7@phyTU2FnB!RnmK`(&W<|MNo0=P=6~gkZ$3Bm}X%yCn zMU~^VEJSuxUe4umGS{XKk0YYw=_u0J;Svy$=d-XF%NKGvjfO}7FWCP7E@pnG@YW;N2O>DjXdS??Tx+Bzy&fa!t{H%KJ z!jc=aKEE_DP7d+j^(Z;SnW?7PYLtv-f1Df=;)?EzlJ^vg50yK$7#c5kin?N~-p&F* z;mkR0;la~`DhNAFjmo7Obr=H0?zyqKL4ou&bo`FkVL~o?p-pk|N=jqu( v+KWji&ff`qcNp5CZuFT8BP ' # The strings to use as separators are 1-space padded +set -g @rose_pine_right_separator ' < ' # Accepts both normal chars & nerdfont icons +set -g @rose_pine_field_separator ' ' # Default is two-space-padded, but can be set to anything +set -g @rose_pine_window_separator ' - ' # Replaces the default `:` between the window number and name + +# # These are not padded +# set -g @rose_pine_session_icon '' # Changes the default icon to the left of the session name +# set -g @rose_pine_current_window_icon '' # Changes the default icon to the left of the active window name +# set -g @rose_pine_folder_icon '' # Changes the default icon to the left of the current directory folder +# set -g @rose_pine_username_icon '' # Changes the default icon to the right of the hostname +# set -g @rose_pine_hostname_icon '󰒋' # Changes the default icon to the right of the hostname +# set -g @rose_pine_date_time_icon '󰃰' # Changes the default icon to the right of the date module +# +# Very beta and specific opt-in settings, tested on v3.2a, look at issue #10 +set -g @rose_pine_prioritize_windows 'on' # Disables the right side functionality in a certain window count / terminal width +set -g @rose_pine_width_to_hide '80' # Specify a terminal width to toggle off most of the right side functionality +set -g @rose_pine_window_count '5' # Specify a number of windows, if there are more than the number, do the same as width_to_hide + run '~/.tmux/plugins/tpm/tpm' diff --git a/tmux/.tmuxp/home.yaml b/tmux/.tmuxp/home.yaml index a7d8738..c64a708 100755 --- a/tmux/.tmuxp/home.yaml +++ b/tmux/.tmuxp/home.yaml @@ -18,9 +18,11 @@ windows: shell_command: - cd /home/liph # - zsh + # - shell_command: + # - cd /home/liph/dotfiles/tmux + # - nvim - shell_command: - - cd /home/liph/dotfiles/tmux - - nvim + - mc window_name: Yazi - layout: db54,174x42,0,0,44 options: diff --git a/wezterm/.config/wezterm/wezterm.lua b/wezterm/.config/wezterm/wezterm.lua index 12bd798..c6feed2 100644 --- a/wezterm/.config/wezterm/wezterm.lua +++ b/wezterm/.config/wezterm/wezterm.lua @@ -7,7 +7,7 @@ local config = wezterm.config_builder() config.font_size = 11 config.line_height = 1.22 config.font = wezterm.font("JetBrainsMono Nerd Font") -config.color_scheme = "Gruvbox Material (Gogh)" +config.color_scheme = "rose-pine-moon" config.colors = { cursor_bg = "#89B482", diff --git a/wofi/.config/wofi/style.css b/wofi/.config/wofi/style.css index 2b8f79b..e6c1dca 100644 --- a/wofi/.config/wofi/style.css +++ b/wofi/.config/wofi/style.css @@ -1,16 +1,10 @@ -/* ============================================================ - Wofi Theme — Gruvbox Material - Based on sainnhe/gruvbox-material (Dark Hard variant) - Structure mirrored from provided rose-pine template - ============================================================ */ - window { margin: 0px; - background-color: #282828; + background-color: #232136; border-radius: 10px; - border: 2px solid #7daea3; - color: #d4be98; - font-family: "Monofur Nerd Font"; + border: 2px solid #c4a7e7; + color: #e0def4; + font-family: "JetBrainsMono Nerd Font"; font-size: 20px; } @@ -18,22 +12,23 @@ window { margin: 5px; border-radius: 10px; border: none; - color: #d8a657; - background-color: #32302f; + border-radius: 10px; + color: #c4a7e7; + background-color: #393552; } #inner-box { margin: 5px; border: none; - background-color: #32302f; - color: #282828; + background-color: #393552; + color: #232136; border-radius: 5px; } #outer-box { margin: 15px; border: none; - background-color: #282828; + background-color: #232136; } #scroll { @@ -44,19 +39,19 @@ window { #text { margin: 5px; border: none; - color: #d4be98; + color: #e0def4; } #entry:selected { - background-color: #7daea3; - color: #282828; + background-color: #eba0ac; + color: #232136; border-radius: 5px; outline: none; } #entry:selected * { - background-color: #7daea3; - color: #282828; + background-color: #eba0ac; + color: #232136; border-radius: 5px; outline: none; } diff --git a/yazi/.config/yazi/init.lua b/yazi/.config/yazi/init.lua index 9cc817c..24b6f61 100644 --- a/yazi/.config/yazi/init.lua +++ b/yazi/.config/yazi/init.lua @@ -2,9 +2,9 @@ -- local THEME = "kanagawa" -- local THEME = "catppuccin-mocha" -- local THEME = "everforest-medium" -local THEME = "gruvbox-material" +-- local THEME = "gruvbox-material" -- local THEME = "tokyo-night" --- local THEME = "rose_pine-moon" +local THEME = "rose_pine-moon" -- local theme_colors = { -- rose_pine = { @@ -98,7 +98,7 @@ require("recycle-bin"):setup({ trash_dir = "~/.local/share/Trash/", }) -require("omp"):setup({ config = "/home/liph/.config/yazi/omp/omp.toml" }) +-- require("omp"):setup({ config = "/home/liph/.config/yazi/omp/omp.toml" }) require("mime-ext"):setup({ -- with_files = { diff --git a/yazi/.config/yazi/plugins/whoosh.yazi/bookmarks b/yazi/.config/yazi/plugins/whoosh.yazi/bookmarks index 905530c..64ae368 100644 --- a/yazi/.config/yazi/plugins/whoosh.yazi/bookmarks +++ b/yazi/.config/yazi/plugins/whoosh.yazi/bookmarks @@ -1,6 +1,24 @@ -waybar-niri /home/liph/dotfiles/niri/.config/niri/waybar-niri d,n +zshrc /home/liph/dotfiles/zshrc d,z +yazi /home/liph/dotfiles/yazi/.config/yazi d,y +tank /mnt/tank t,t +stash /mnt/flash1/podman/lxc_servarr/servarr/data/stash S +ssd2 /mnt/ssd2 s,2 +ssd1 /mnt/ssd1 s,1 +podman /mnt/flash1/podman t,p plugins /home/liph/dotfiles/nvim/.config/nvim/lua/plugins n,p nvim /home/liph/dotfiles/nvim/.config/nvim n,n +niri /home/liph/dotfiles/niri/.config/niri d,n +music /mnt/tank/music t,m +home /home/liph f +hdd4 /mnt/hdd4 h,4 +hdd3 /mnt/hdd3 h,3 +hdd2 /mnt/hdd2 h,2 +hdd1 /mnt/hdd1 h,1 +flash1 /mnt/flash1 t,f +ebooks_phil /mnt/tank/ebooks_phil t,b +Downloads /home/liph/Downloads D,d +downloads /mnt/tank/downloads t,d dotfiles /home/liph/dotfiles d,d +Documents /home/liph/Documents D,D .config /home/liph/.config c aerc /home/liph/dotfiles/aerc/.config/aerc d,a diff --git a/zshrc/.aliases.zsh b/zshrc/.aliases.zsh index 6137f16..b1b2b7a 100644 --- a/zshrc/.aliases.zsh +++ b/zshrc/.aliases.zsh @@ -1,3 +1,5 @@ +alias qk='pi --model kimi-k2.6:cloud -p' +alias qm='pi --model minimax-m3:cloud -p' alias cl='clear' alias cld='clear && cd' alias neo='neofetch' @@ -8,6 +10,9 @@ alias oc='opencode' # colorscheme alias col='kitten themes' alias sc='~/scripts/theme-switch' +alias cc='bash -c "$(wget -qO- https://git.io/vQgMr)"' + +alias nup='sudo netbird up --setup-key F4098B17-55C2-447B-87C7-B75CAEFB4058' # Scripts alias br='/home/liph/scripts/niri_br.sh' @@ -143,8 +148,9 @@ alias pyi='pyenv install' # aria2 and yt-dlp alias aryt="yt-dlp --external-downloader aria2c --external-downloader-args '-x 8 -j2'" # add URL in '' -alias aria='aria2c -x 8' # add URL in '' for 8 segmented download -alias yd='yt-dlp' # copy link from videodownload helper and add the URL in '' +alias arryt="yt-dlp --external-downloader aria2c --external-downloader-args '-x 16 -s 16 -k 1M'" +alias aria='aria2c -x 8' # add URL in '' for 8 segmented download +alias yd='yt-dlp' # copy link from videodownload helper and add the URL in '' alias photodetect='gphoto2 --auto-detect' alias photoget='gphoto2 --get-all-files' diff --git a/zshrc/.plugins.zsh b/zshrc/.plugins.zsh index a4f5d53..b85a39b 100644 --- a/zshrc/.plugins.zsh +++ b/zshrc/.plugins.zsh @@ -28,4 +28,4 @@ zinit snippet OMZP::kubectx zinit snippet OMZP::command-not-found zinit snippet OMZP::extract -zinit light jeffreytse/zsh-vi-mode +# zinit light jeffreytse/zsh-vi-mode diff --git a/zshrc/.zshrc b/zshrc/.zshrc index 0028858..849b818 100644 --- a/zshrc/.zshrc +++ b/zshrc/.zshrc @@ -1,6 +1,5 @@ # Set the directory to store zinit and plugins ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.locale/share}/zinit/zinit.git" - # Download Zinit if not present if [ ! -d "$ZINIT_HOME" ]; then mkdir -p "$(dirname $ZINIT_HOME)" @@ -14,17 +13,17 @@ source ~/.plugins.zsh source ~/.export.zsh # Initialization settings for zsh-vi-mode -ZVM_INIT_MODE=sourcing +# ZVM_INIT_MODE=sourcing # CONSOLIDATED FUNCTION: All zsh-vi-mode logic must be in one place [2] function zvm_after_init() { - # Fix fzf interaction + Fix fzf interaction source <(fzf --zsh) - + # Bind Atuin search for both Insert and Normal modes [9] zvm_bindkey viins '^R' atuin-search zvm_bindkey vicmd '^R' atuin-search - + # Re-bind autosuggest-accept bindkey '^@' autosuggest-accept } @@ -58,10 +57,10 @@ _fzf_comprun() { local command=$1 shift case "$command" in - cd) fzf --preview 'eza --tree --color=always {} | head -200' "$@" ;; - export|unset) fzf --preview "eval 'echo \$' {}" "$@" ;; - ssh) fzf --preview 'dig {}' "$@" ;; - *) fzf --preview "--preview 'bat -n --color=always --line-range :10 {}'" "$@" ;; + cd) fzf --preview 'eza --tree --color=always {} | head -200' "$@" ;; + export | unset) fzf --preview "eval 'echo \$' {}" "$@" ;; + ssh) fzf --preview 'dig {}' "$@" ;; + *) fzf --preview "--preview 'bat -n --color=always --line-range :10 {}'" "$@" ;; esac } @@ -75,7 +74,6 @@ function y() { rm -f -- "$tmp" } - zinit ice depth=1 # Zinit Annexes zinit light-mode for \