Commit Graph

76 Commits

Author SHA1 Message Date
MDietermann
48d50efe19 feat(arduinocli): implement PlanForce 2026-04-14 22:16:18 +02:00
MDietermann
25b4eefecd feat(neovim): implement PlanForce 2026-04-14 22:15:32 +02:00
MDietermann
77b767aa0e feat(themes): implement PlanForce 2026-04-14 22:07:48 +02:00
MDietermann
b2cbd4f640 feat(shellconfig): implement PlanForce 2026-04-14 22:06:57 +02:00
MDietermann
4ed257bbd1 feat(zellij): implement PlanForce 2026-04-14 22:06:10 +02:00
MDietermann
47064338c8 feat(zsh): implement PlanForce 2026-04-14 22:05:21 +02:00
MDietermann
abd0a617e2 feat(yazi): implement PlanForce to reinstall all packages 2026-04-14 22:00:42 +02:00
MDietermann
edfff22bac feat(starship): implement PlanForce to reinstall all packages 2026-04-14 22:00:00 +02:00
MDietermann
bd5c34f293 feat(hello): implement PlanForce placeholder to rewrite marker 2026-04-14 21:57:51 +02:00
MDietermann
372a6598fe feat(renode): implement PlanForce to reinstall packages and rewrite assets 2026-04-14 21:57:17 +02:00
MDietermann
c056697721 feat(fonts): implement PlanForce to reinstall all fonts via yay 2026-04-14 21:56:23 +02:00
MDietermann
c75afade8c feat(gittools): implement PlanForce to reinstall all packages 2026-04-14 21:55:43 +02:00
MDietermann
58bd532dba feat(packages): implement PlanForce to reinstall all packages
Adds Reinstall method to PackageManager and AURHelper interfaces
so modules can invoke the concrete Reinstall helpers behind the
interface. *Pacman and *Yay already satisfy it.
2026-04-14 21:55:08 +02:00
MDietermann
613363e993 feat(engine): add RunOptions.Force to skip Detect and call PlanForce 2026-04-14 21:51:29 +02:00
MDietermann
d525646f3a feat(module): add PlanForce to Module interface with stubs 2026-04-14 21:49:09 +02:00
MDietermann
e6e12ab5fd feat(platform): add Reinstall helpers to Pacman and Yay 2026-04-14 21:44:47 +02:00
MDietermann
c579375c83 style: gofmt 7 test files 2026-04-14 21:30:50 +02:00
MDietermann
929cee1643 chore: rename module to gitlab.hive-brain.de/MDietermann/Archduino 2026-04-14 14:30:14 +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
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
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
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