Commit Graph

126 Commits

Author SHA1 Message Date
MDietermann
c579375c83 style: gofmt 7 test files 2026-04-14 21:30:50 +02:00
MDietermann
137a9b62a5 docs(plan): Plan 4d CI workflow implementation plan 2026-04-14 21:30:01 +02:00
MDietermann
b30471bacb docs(spec): Plan 4d CI workflow design 2026-04-14 21:28:44 +02:00
MDietermann
9d08c635ce docs: update README for bootstrap.sh install; retire install.sh 2026-04-14 21:20:19 +02:00
MDietermann
e0a1628ca5 ci: add Gitea Actions release workflow 2026-04-14 21:19:05 +02:00
MDietermann
5b3ab9154f feat: add bootstrap.sh curl-piped installer 2026-04-14 21:18:30 +02:00
MDietermann
947533a279 build: add Makefile with release, snapshot, completions targets 2026-04-14 21:16:25 +02:00
MDietermann
702638b29c build: add goreleaser config for Gitea releases 2026-04-14 21:12:46 +02:00
MDietermann
d346ca4241 chore: add LICENSE and ignore dist/ and completions/ 2026-04-14 21:06:10 +02:00
MDietermann
ebae3fe8a4 feat(cmd): add version subcommand with ldflag-injected build info 2026-04-14 21:05:30 +02:00
MDietermann
5fe8cb2767 docs(plan): Plan 4c release pipeline implementation plan 2026-04-14 20:58:02 +02:00
MDietermann
79f2bcd230 docs(spec): Plan 4c release pipeline design 2026-04-14 20:54:37 +02:00
MDietermann
929cee1643 chore: rename module to gitlab.hive-brain.de/MDietermann/Archduino 2026-04-14 14:30:14 +02:00
MDietermann
fd87135f62 Merge Plan 4a: theme/new/doctor subcommands + theming package 2026-04-14 14:25:48 +02:00
MDietermann
a203cdfe89 feat(cmd): add theme/new/doctor subcommands; install applies theme 2026-04-14 14:22:33 +02:00
MDietermann
c710ed81df feat(doctor): add archduino doctor subcommand 2026-04-14 14:19:12 +02:00
MDietermann
2464e70cd2 feat(newproject): add archduino new project scaffolder 2026-04-14 14:16:07 +02:00
MDietermann
bbaa21a6bf feat(config): add Scaffolding.Boards typed input with 6 defaults 2026-04-14 14:08:54 +02:00
MDietermann
698271a235 fix(theming): restore gruvbox as default via Default() helper 2026-04-14 13:42:58 +02:00
MDietermann
4f7411ca95 refactor: retire tui.BuiltinThemes in favor of theming.List
Make internal/theming.List the single source of truth for themes:

- Drop tui.BuiltinThemes, tui.ThemeByID, and the NvChadTheme field on
  tui.Theme. tui.Theme is now a thin {ID, Name} display value.
- Wizard populates its dropdown from theming.List() and uses
  DisplayName for the label.
- neovim.resolvedTheme uses theming.Get (with theming.List()[0] as a
  fallback) instead of a caller-supplied []tui.Theme slice.
- neovim.New signature loses the themes []tui.Theme parameter; update
  cmd/archduino/main.go and all neovim tests to match.

Break the resulting neovim→theming import cycle (theming previously
imported neovim for WriteChadrc) by inverting the dependency:
theming exposes a ChadrcWriter function hook, and neovim registers
its WriteChadrc into it via package init. The theming test stubs
ChadrcWriter directly to exercise the chadrc-rewrite branch without
pulling neovim in and re-creating the cycle.

Delete the now-obsolete TestBuiltinThemesCarryNvChadName / TestThemeByID*
tests in internal/tui/state_test.go — their coverage lives in the
theming package's own tests.
2026-04-14 13:35:10 +02:00
MDietermann
12c502d48a feat(theming): add catppuccin, dracula, nord, tokyonight themes 2026-04-14 13:25:58 +02:00
MDietermann
770bdcf3a2 feat(theming): integrate NvChad chadrc rewrite into Apply 2026-04-14 13:14:47 +02:00
MDietermann
4fa580f226 feat(theming): apply updates overlay theme_overrides.__active 2026-04-14 13:11:34 +02:00
MDietermann
b422402ffc feat(theming): apply writes four tool configs to $HOME 2026-04-14 13:07:08 +02:00
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