@@ -27,7 +27,7 @@ func Run(cfg *config.Config) error {
2727
2828func runInstall (cfg * config.Config ) error {
2929 fmt .Println ()
30- ui .Header ("OpenBoot Installer v0.5.1 " )
30+ ui .Header ("OpenBoot Installer v0.5.2 " )
3131 fmt .Println ()
3232
3333 if cfg .RemoteConfig != nil {
@@ -56,6 +56,14 @@ func runInstall(cfg *config.Config) error {
5656 return err
5757 }
5858
59+ if cfg .RemoteConfig != nil {
60+ fmt .Println ()
61+ ui .Success ("Package installation complete!" )
62+ ui .Muted ("Dotfiles and shell setup will be handled by the install script." )
63+ fmt .Println ()
64+ return nil
65+ }
66+
5967 if err := stepDotfiles (cfg ); err != nil {
6068 ui .Error (fmt .Sprintf ("Dotfiles setup failed: %v" , err ))
6169 }
@@ -120,6 +128,10 @@ func stepGitConfig(cfg *config.Config) error {
120128}
121129
122130func stepPresetSelection (cfg * config.Config ) error {
131+ if cfg .RemoteConfig != nil {
132+ return nil
133+ }
134+
123135 ui .Header ("Step 2: Preset Selection" )
124136 fmt .Println ()
125137
@@ -149,19 +161,21 @@ func stepPresetSelection(cfg *config.Config) error {
149161}
150162
151163func stepPackageCustomization (cfg * config.Config ) error {
164+ if cfg .RemoteConfig != nil {
165+ cfg .SelectedPkgs = make (map [string ]bool )
166+ for _ , pkg := range cfg .RemoteConfig .Packages {
167+ cfg .SelectedPkgs [pkg ] = true
168+ }
169+ ui .Info (fmt .Sprintf ("Using %d packages from remote config" , len (cfg .RemoteConfig .Packages )))
170+ fmt .Println ()
171+ return nil
172+ }
173+
152174 ui .Header ("Step 3: Package Selection" )
153175 fmt .Println ()
154176
155177 if cfg .Silent || (cfg .DryRun && ! system .HasTTY ()) {
156178 cfg .SelectedPkgs = config .GetPackagesForPreset (cfg .Preset )
157-
158- if cfg .RemoteConfig != nil && len (cfg .RemoteConfig .Packages ) > 0 {
159- for _ , pkg := range cfg .RemoteConfig .Packages {
160- cfg .SelectedPkgs [pkg ] = true
161- }
162- ui .Info (fmt .Sprintf ("Using preset + %d additional packages from remote config" , len (cfg .RemoteConfig .Packages )))
163- }
164-
165179 total := len (cfg .SelectedPkgs )
166180 ui .Info (fmt .Sprintf ("Using preset packages: %d selected" , total ))
167181 fmt .Println ()
@@ -202,47 +216,26 @@ func stepPackageCustomization(cfg *config.Config) error {
202216}
203217
204218func stepInstallPackages (cfg * config.Config ) error {
205- ui .Header ("Step 4 : Installation" )
219+ ui .Header ("Step 2 : Installation" )
206220 fmt .Println ()
207221
208222 var cliPkgs , caskPkgs []string
209223
210- knownCasks := make (map [string ]bool )
211- for _ , cat := range config .Categories {
212- for _ , pkg := range cat .Packages {
213- if pkg .IsCask {
214- knownCasks [pkg .Name ] = true
215- }
216- }
217- }
218-
219- for _ , cat := range config .Categories {
220- for _ , pkg := range cat .Packages {
221- if cfg .SelectedPkgs [pkg .Name ] {
222- if pkg .IsCask {
223- caskPkgs = append (caskPkgs , pkg .Name )
224- } else {
225- cliPkgs = append (cliPkgs , pkg .Name )
226- }
227- }
228- }
229- }
230-
231224 if cfg .RemoteConfig != nil {
232- added := make (map [string ]bool )
233- for _ , p := range cliPkgs {
234- added [p ] = true
235- }
236- for _ , p := range caskPkgs {
237- added [p ] = true
225+ for pkg := range cfg .SelectedPkgs {
226+ caskPkgs = append (caskPkgs , pkg )
238227 }
239-
240- for _ , pkg := range cfg .RemoteConfig .Packages {
241- if added [pkg ] {
242- continue
228+ } else {
229+ for _ , cat := range config .Categories {
230+ for _ , pkg := range cat .Packages {
231+ if cfg .SelectedPkgs [pkg .Name ] {
232+ if pkg .IsCask {
233+ caskPkgs = append (caskPkgs , pkg .Name )
234+ } else {
235+ cliPkgs = append (cliPkgs , pkg .Name )
236+ }
237+ }
243238 }
244- caskPkgs = append (caskPkgs , pkg )
245- added [pkg ] = true
246239 }
247240 }
248241
0 commit comments