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
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
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
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
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
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
MDietermann
777a3fe49b
chore(tui): add Charm dependencies and package skeleton
2026-04-13 21:47:02 +02:00
MDietermann
8b43a0f273
fix: address final-review findings before closing Plan 1
...
- privilege: wire sudo -v to real stdin/stdout/stderr so it can prompt
- cmd: validate --only/--skip IDs against registry (prevents silent
run-all on typo); gate install to Arch-only (spec requirement);
mark --only and --skip mutually exclusive
- platform: Pacman.Update now runs -Syu --noconfirm, not -Sy (avoids
Arch partial-upgrade anti-pattern)
- test/integration: trap-clean the named docker volume on any exit
- go.mod: tidy — yaml.v3 is a direct dep
2026-04-13 21:35:14 +02:00
MDietermann
3a4855b92a
feat(modules): add hello toy module as engine smoke test
2026-04-13 20:31:43 +02:00
MDietermann
e4f945146b
feat(state): persist per-run logs with rotation and last-run pointer
2026-04-13 20:02:48 +02:00
MDietermann
8f9e34174c
feat(privilege): acquire sudo and keep timestamp fresh via goroutine
2026-04-13 20:01:34 +02:00
MDietermann
83cf7f0e72
feat(platform): add PackageManager interface and Pacman implementation
2026-04-13 20:00:11 +02:00
MDietermann
3b666615d7
feat(platform): detect distro, WSL, and architecture
2026-04-13 19:59:04 +02:00
MDietermann
ea0d793461
feat(config): load embedded defaults and merge optional overlay
2026-04-13 19:56:53 +02:00
MDietermann
0f0ea7e925
refactor(engine): remove dead failed map from markFailed
2026-04-13 19:55:41 +02:00
MDietermann
94c7084ec3
feat(engine): run modules through Detect/Plan/Apply/Verify with DAG + skip-on-failure
2026-04-13 19:49:52 +02:00
MDietermann
37761e017e
feat(engine): add topological sort and descendants for module DAG
2026-04-13 19:39:35 +02:00
MDietermann
30643e385d
feat(engine): add Reporter with buffered and plain implementations
2026-04-13 19:37:51 +02:00
MDietermann
eb54225ad3
feat(module): add four-phase Module interface and registry
2026-04-13 19:29:18 +02:00