Commit Graph

102 Commits

Author SHA1 Message Date
MDietermann
b628898c6d feat(theming): add theme discovery with gruvbox assets 2026-04-14 12:56:09 +02:00
MDietermann
465d10a5ef docs(plans): add Plan 4a user-facing subcommands implementation plan 2026-04-14 12:50:09 +02:00
MDietermann
e000e8d22c docs(specs): add Plan 4a user-facing subcommands design 2026-04-14 12:42:53 +02:00
MDietermann
fcbd2201b3 fix(renode): pin wokwi-cli to v0.26.1 (v0.28.1 does not exist) 2026-04-14 12:19:32 +02:00
MDietermann
f177d86255 Merge Plan 3b: neovim + renode modules + theme plumbing 2026-04-14 12:17:02 +02:00
MDietermann
bf2d8de82c feat(cmd): register neovim and renode modules in install command 2026-04-14 12:16:05 +02:00
MDietermann
66f02edfb2 feat(modules): port renode module (AUR + arduino-sim + wokwi-cli) to Go 2026-04-14 12:13:42 +02:00
MDietermann
daa20b1dca fix(neovim): write mappings.lua to lua/mappings.lua per NvChad convention 2026-04-14 10:09:26 +02:00
MDietermann
8677a1b950 feat(modules): port neovim module (NvChad + Archduino Lua assets) to Go 2026-04-14 10:08:06 +02:00
MDietermann
e0c1fc3c5d feat(cmd): thread themeID through buildRegistry, rebuild post-wizard
Adds a themeID parameter to buildRegistry (unused in the body until
Task 7 wires neovim.New) and rebuilds the registry after the wizard
returns with finalState.ThemeID, so the dashboard runs against a
registry configured with the user's theme selection. The pre-wizard
call passes "" since only the dashboard path consumes theme-aware
modules.
2026-04-14 10:03:19 +02:00
MDietermann
e2637bc093 feat(config): add Neovim and Renode typed inputs 2026-04-14 10:01:40 +02:00
MDietermann
e830e4dfda feat(tui): add NvChadTheme field and ThemeByID helper 2026-04-14 09:58:04 +02:00
MDietermann
adfc9232ac feat(platform): add WriteUserFile atomic user-space writer 2026-04-14 09:53:03 +02:00
MDietermann
b9f9f0306d docs(plans): add Plan 3b install-modules implementation plan 2026-04-14 09:48:35 +02:00
MDietermann
027b7a88bc docs(specs): add Plan 3b install-modules (neovim, renode) design 2026-04-14 09:41:15 +02:00
MDietermann
7914b7ef51 fix(installer): replace orphaned neofetch with fastfetch, surface stderr on Run failure
- neofetch was removed from Arch's official repos; fastfetch is the maintained replacement.
- ExecRunner.Run previously discarded stderr, so any 'sudo pacman' failure surfaced only as 'exit status 1'. Now the returned error includes the captured stderr (matching what Output already did).
2026-04-14 09:27:09 +02:00
MDietermann
5587d793df Merge Plan 3a: install modules + platform helpers + wizard cache fix 2026-04-14 09:20:19 +02:00
MDietermann
fa946e9403 feat(cmd): register all Plan 3a modules in install command
Replace the init()-time hello toy-module registration with a
buildRegistry(cfg) helper called from the install RunE that wires the
ten Plan 3a modules (packages, gittools, starship, yazi, zsh, fonts,
zellij, themes, arduinocli, shellconfig) against a shared ExecRunner,
Pacman, Yay, and GitClient.
2026-04-14 09:15:54 +02:00
MDietermann
7de9d6c72c feat(modules): port shellconfig module to Go 2026-04-14 09:10:16 +02:00
MDietermann
99db34d70f feat(modules): port arduino-cli module to Go 2026-04-14 09:07:44 +02:00
MDietermann
9650cd0c82 feat(modules): port themes module to Go 2026-04-14 09:03:49 +02:00
MDietermann
78ad784c7e feat(modules): port zellij module to Go 2026-04-14 08:59:28 +02:00
MDietermann
4b3ce22491 feat(modules): port fonts module (AUR) to Go 2026-04-14 08:56:22 +02:00
MDietermann
1735f66bf0 feat(modules): port zsh module (zsh + oh-my-zsh + plugins) to Go 2026-04-14 08:52:27 +02:00
MDietermann
6dbfc41ce2 feat(modules): port yazi module to Go 2026-04-14 08:47:00 +02:00
MDietermann
f5a45c4be6 feat(modules): port starship module to Go 2026-04-14 08:47:00 +02:00
MDietermann
2b30b371e4 feat(modules): port gittools (lazygit) module to Go 2026-04-14 08:46:49 +02:00
MDietermann
cba883376a feat(modules): port packages module to Go 2026-04-14 08:43:22 +02:00
MDietermann
ffd18c5382 feat(config): add typed module-input fields with defaults 2026-04-14 08:40:29 +02:00
MDietermann
fcc24b99b2 feat(platform): add AURHelper with yay bootstrap and install 2026-04-14 08:35:46 +02:00
MDietermann
1903217b5f feat(platform): add GitClient helper with idempotent EnsureRepo 2026-04-14 08:32:04 +02:00
MDietermann
3f4223879b feat(platform): add tar.gz and zip extract helpers with traversal guard 2026-04-14 08:29:42 +02:00
MDietermann
2d73114b5f feat(platform): add atomic HTTP download helper 2026-04-14 08:25:22 +02:00
MDietermann
afed8ab600 feat(platform): add textblock helper for idempotent config-file blocks 2026-04-14 08:21:38 +02:00
MDietermann
83bb622232 perf(tui): cache Detect+Plan results in wizard renderPlan 2026-04-14 08:18:38 +02:00
MDietermann
05dc8aa7f5 chore: ignore .worktrees 2026-04-14 08:13:47 +02:00
MDietermann
42dabf85a5 docs(plans): add Plan 3a install-modules implementation plan 2026-04-14 08:11:03 +02:00
MDietermann
6318362e99 docs(specs): add Plan 3a install-modules design 2026-04-14 08:03:17 +02:00
MDietermann
2ebaa6b5c6 fix: address Plan 2 final-review findings
- tui/doc.go: remove teatest blank import (test harness in prod binary)
- cmd: honor wizard HaltOnError toggle in addition to --halt-on-error flag
- cmd: wire SIGINT/SIGTERM to root context via signal.NotifyContext
- dashboard/run: derive engine context and cancel on tea.Program exit
  so the engine goroutine does not outlive Run
2026-04-13 22:26:54 +02:00
MDietermann
ea5667e040 test(tui): integration smoke — dashboard runs hello module end-to-end 2026-04-13 22:20:08 +02:00
MDietermann
4f3d736bd7 refactor(cmd): drop err=runErr reassignment, return runErr directly 2026-04-13 22:19:09 +02:00
MDietermann
341250d8f4 feat(cmd): wire TUI wizard and dashboard into install subcommand 2026-04-13 22:13:52 +02:00
MDietermann
7baf0fceaa feat(tui): add dashboard.Run bridging engine to Bubble Tea 2026-04-13 22:11:54 +02:00
MDietermann
5c5076f1f1 fix(tui): guard against late Progress/Log after DoneMsg; drop dead quitting field 2026-04-13 22:09:08 +02:00
MDietermann
feb01242f2 feat(tui): add Bubble Tea dashboard model for Apply phase 2026-04-13 22:02:38 +02:00
MDietermann
e7aa75735d refactor(tui): use strconv.Atoi in parseIntClamp, drop spurious error return 2026-04-13 22:00:49 +02:00
MDietermann
394fb33d0c fix(tui): short-circuit wizard.Run on cancelled context before opening TTY 2026-04-13 21:52:50 +02:00
MDietermann
d21ab3fd30 feat(tui): add six-screen Huh wizard for installer input 2026-04-13 21:52:17 +02:00
MDietermann
c0983284b3 feat(tui): add TeaReporter forwarding engine events to bubbletea 2026-04-13 21:49:14 +02:00
MDietermann
258b53b6a0 feat(tui): add shared WizardState seeded from config and registry 2026-04-13 21:48:12 +02:00