Commit Graph

36 Commits

Author SHA1 Message Date
d0364d5d9e kde: Keybind to kill windows. 2026-07-07 08:26:09 -04:00
00edf973fd docs: added specs about implementing cooklang.
Specifically proposing developing a tree-sitter grammer for cooklang,
not based on existing work, except for the official validation tests.
2026-07-07 08:18:09 -04:00
4af1e967ed kde: Add terminal shortcut 2026-07-06 23:30:50 -04:00
2f08adbfb7 nvim: QoL plugins 2026-07-06 19:13:01 -04:00
3732ccd4d8 chore: Change task numbering to decimal.
Hex doesn't sort nicely in the file system.
2026-07-06 16:50:24 -04:00
1fd8e7e773 dotcli: add dot setup folders (XDG short-name migration)
Adds a dot setup subcommand family (idempotent, re-runnable machine-setup
tasks) with a folders task that brings the 8 standard XDG user
directories under a fixed short-name convention (Desktop -> .desktop,
Documents -> doc, Downloads -> dwn, Music -> mus, Pictures -> pic,
Videos -> vid, Templates/Public -> .ignoreme), hardcoded rather than read
from ~/.config/user-dirs.dirs -- that file is a separate, manually
tracked dotfile whose values can drift or go stale, and the migration
must not depend on it being correct. The nested Pictures/Screenshots
folder is renamed to pic/screenshots in the same pass.

Content left behind in a legacy full-named folder by a fresh XDG-defaults
install -- empty or not -- is merged into its short-named replacement.
A same-named collision between a legacy folder and its target is never
overwritten: it is skipped, reported, and the legacy folder is left in
place rather than deleted while something in it could not be merged.
--dry-run previews what would move/skip without touching the filesystem.
xdg-user-dirs-update runs once afterward to notify running apps/portals.
2026-07-06 16:31:35 -04:00
540928f24f chore: Fix task numbering not using hex. 2026-07-06 13:34:26 -04:00
864d643da9 chore: Don't track __pycache__ 2026-07-05 22:37:01 -04:00
f15713d183 dotcli: Enable shortcuts to be discovered by diff. 2026-07-05 22:33:45 -04:00
537724989a dotcli: add shortcut identifiers to dot kde save completion
dot kde save's tab-completion only ever enumerated schema-backed
identifiers; kglobalshortcutsrc identifiers never showed up as
candidates despite being a fully supported mechanism. Enumerate them
live via kglobalaccel (allMainComponents/allActionsForComponent),
printed as a separate block after the schema-backed one, degrading
silently if the D-Bus session is unavailable.
2026-07-05 22:02:40 -04:00
ec43fb2e14 docs: KDE shortcut completion fix. 2026-07-05 21:55:27 -04:00
8d6ec10b74 dotcli: Add shortcuts mechanism to dot kde save/apply/diff
Dispatches kglobalshortcutsrc identifiers through the kglobalaccel D-Bus
service instead of the schema-backed or freeform rc-file paths. Verified
manually against the live session (per the spec's testing decision, this
mechanism is excluded from the automated suite); switched to the
shortcutKeys/defaultShortcutKeys/setShortcutKeys D-Bus methods after the
spec's originally-named shortcut/defaultShortcut/setShortcut proved to
return stale data on the live system. Moves Lock Session off Meta+L to
Meta+X as the real-world validation, tracked in the manifest and recorded
in keybindings.md.
2026-07-05 21:07:30 -04:00
00da6f1466 dotcli: add freeform mechanism to dot kde save/apply/diff
Read/write schema-less KDE settings (e.g. kxkbrc's Options= line)
directly via kreadconfig6/kwriteconfig6, with default defined as the
key being absent. diff only checks freeform entries already declared
in the manifest, never via undeclared broad scan.

Brings the machine's caps-lock/Escape swap under tracking as the
real-world validation case.
2026-07-05 20:41:15 -04:00
8570826927 dotcli: Add dot kde diff for schema-backed settings, fix apply/diff completions
Implements the broad, read-only schema-backed scan for dot kde diff:
walks every (rcfile, group, key) reachable through the kcfg mapping
table, compares live values against their schema-declared defaults,
and reports each mismatch tagged declared or undeclared. Never writes.

Also fixes dot kde completions, which only ever offered save/help —
apply (added in a prior task) and diff were both missing.
2026-07-05 20:24:15 -04:00
272866c7e5 docs: Proposal for an nvim step to help setup. 2026-07-05 20:09:50 -04:00
f7b9f1b251 dotcli: Implement dot kde apply for schema-backed settings
Pushes every manifest entry's declared value onto the live system via
kwriteconfig6, idempotently. Non-schema (shortcuts/freeform) entries are
rejected as not-yet-supported, deferred to later tasks.
2026-07-05 20:08:44 -04:00
c28029681d chore: Installed on Zeus
Removed .config/dot/.tmp from tracking: it was an empty 0-byte file
that had been committed by accident on another machine and was never
meant to be part of the repo.

Recorded fish_variables as it stands after first boot on this machine:
fish stamped __fish_initialized with its own version marker
(bootstrap bookkeeping, not user config) alongside the already-tracked
pure prompt theme, done plugin settings, and fisher plugin
registration.
2026-07-05 19:43:35 -04:00
ae4ec34822 docs: specs for Gitea integration. 2026-07-05 18:52:18 -04:00
0614e0ebe6 dotcli: Add dot kde save with schema-backed defaults and completion.
Introduces the dot kde subcommand family (fish dispatcher plus a Python
helper under commands/kde/), a flat identifier=value manifest, and
dot kde save in both its explicit-identifier and no-argument refresh
modes. Settings resolve to KDE's KConfigXT schema-backed mechanism via a
(rcfile -> [kcfg files]) mapping table auto-derived by scanning the
system schema directory (overridable via DOT_KDE_KCFG_DIR), plus a
hand-maintained exceptions list for schemas that only declare their
target rc file at runtime. Also wires tab-completion for dot kde save
identifiers, sourced live from that same mapping table.
2026-07-05 18:33:55 -04:00
8ce46a7b98 dotcli: Support nested folder commands. 2026-07-05 17:52:03 -04:00
0d6f0d2fc9 docs: Add specs and tasks for previously scoped work in todo.md 2026-07-05 17:44:14 -04:00
28734f9777 skills: Add /to-tasks skill. 2026-07-05 13:01:26 -04:00
8aa3e8d62f skills: Add /to-spec skill. 2026-07-05 12:05:02 -04:00
42095c06e1 tmux: highlight window when a bell is received. 2026-07-04 23:13:51 -04:00
1a0c20181f docs: add section about voice dictation 2026-07-04 22:37:41 -04:00
8fcb6af306 nvim: in-line Markdown rendering 2026-07-04 18:02:20 -04:00
f3bee5bd02 docs: Documenting feature parity with old repo. 2026-07-04 15:58:27 -04:00
0dd270e9e6 fish: Add a dedicated alias file. 2026-07-04 14:40:02 -04:00
b714384b0e nvim: Initial config 2026-07-04 14:28:21 -04:00
5ca464c2ac tmux: Initial config 2026-07-04 13:50:00 -04:00
46fa6e5687 docs: convention for usage documentation. 2026-07-04 11:31:42 -04:00
d5aacad86e docs: refactor dotfiles skill into CLAUDE.md
The skill wasn't firing reliably, so instead of polluting the global
config with a skill that only helped *sometimes*, convert it into
project-specific instructions in .config/dot

Future work on this project (dotfiles) should always start from this
directory, even if changes are made outside. This helps Claude keep
the scope narrow.
2026-07-04 10:54:45 -04:00
d41e1c46f4 dotcli: install subcommand as wrapper for pacman
The install subcommand also manages a list of packages intalled
through `dot install`. This list can be restored using `dot install
--restore`.
2026-07-04 09:38:22 -04:00
80581f5029 dotcli: fix help falling through to git. 2026-07-04 01:17:04 -04:00
6ad0f109df dotcli: Initial config
dotcli is my utility script for everything dotfiles.

A bootstrap command is included in the README.
A test suite and the necessary scaffolding for extending
dotcli is also included.
2026-07-04 00:47:49 -04:00
4a0e382494 Initial commit: fish config, git identity, dot alias 2026-07-03 23:11:55 -04:00