@@ -88,11 +88,13 @@ type Config struct {
8888
8989 SelectedPkgs map [string ]bool // set by UI package selector
9090 OnlinePkgs []Package // fetched from packages API
91- SnapshotTaps []string // from snapshot capture
92- RemoteConfig * RemoteConfig // fetched from openboot.dev at startup
93- SnapshotGit * SnapshotGitConfig // from snapshot capture
94- SnapshotMacOS []RemoteMacOSPref // from snapshot capture
95- SnapshotDotfiles string // from snapshot capture
91+ SnapshotTaps []string // from snapshot capture
92+ RemoteConfig * RemoteConfig // fetched from openboot.dev at startup
93+ SnapshotGit * SnapshotGitConfig // from snapshot capture
94+ SnapshotMacOS []RemoteMacOSPref // from snapshot capture
95+ SnapshotDotfiles string // from snapshot capture
96+ SnapshotShellTheme string // from snapshot capture
97+ SnapshotShellPlugins []string // from snapshot capture
9698}
9799
98100// InstallOptions holds user-supplied inputs set from CLI flags and environment
@@ -118,13 +120,15 @@ type InstallOptions struct {
118120// InstallState holds runtime values populated during installation.
119121// Fields are written by installer steps and read by subsequent steps.
120122type InstallState struct {
121- SelectedPkgs map [string ]bool
122- OnlinePkgs []Package
123- SnapshotTaps []string
124- RemoteConfig * RemoteConfig
125- SnapshotGit * SnapshotGitConfig
126- SnapshotMacOS []RemoteMacOSPref
127- SnapshotDotfiles string
123+ SelectedPkgs map [string ]bool
124+ OnlinePkgs []Package
125+ SnapshotTaps []string
126+ RemoteConfig * RemoteConfig
127+ SnapshotGit * SnapshotGitConfig
128+ SnapshotMacOS []RemoteMacOSPref
129+ SnapshotDotfiles string
130+ SnapshotShellTheme string
131+ SnapshotShellPlugins []string
128132}
129133
130134// ToInstallOptions extracts the read-only input fields from Config.
@@ -151,13 +155,15 @@ func (c *Config) ToInstallOptions() *InstallOptions {
151155// ToInstallState extracts the mutable runtime fields from Config.
152156func (c * Config ) ToInstallState () * InstallState {
153157 return & InstallState {
154- SelectedPkgs : c .SelectedPkgs ,
155- OnlinePkgs : c .OnlinePkgs ,
156- SnapshotTaps : c .SnapshotTaps ,
157- RemoteConfig : c .RemoteConfig ,
158- SnapshotGit : c .SnapshotGit ,
159- SnapshotMacOS : c .SnapshotMacOS ,
160- SnapshotDotfiles : c .SnapshotDotfiles ,
158+ SelectedPkgs : c .SelectedPkgs ,
159+ OnlinePkgs : c .OnlinePkgs ,
160+ SnapshotTaps : c .SnapshotTaps ,
161+ RemoteConfig : c .RemoteConfig ,
162+ SnapshotGit : c .SnapshotGit ,
163+ SnapshotMacOS : c .SnapshotMacOS ,
164+ SnapshotDotfiles : c .SnapshotDotfiles ,
165+ SnapshotShellTheme : c .SnapshotShellTheme ,
166+ SnapshotShellPlugins : c .SnapshotShellPlugins ,
161167 }
162168}
163169
@@ -171,6 +177,8 @@ func (c *Config) ApplyState(s *InstallState) {
171177 c .SnapshotGit = s .SnapshotGit
172178 c .SnapshotMacOS = s .SnapshotMacOS
173179 c .SnapshotDotfiles = s .SnapshotDotfiles
180+ c .SnapshotShellTheme = s .SnapshotShellTheme
181+ c .SnapshotShellPlugins = s .SnapshotShellPlugins
174182}
175183
176184type SnapshotGitConfig struct {
0 commit comments