Skip to content

Add Unattended Installs#72

Open
jeffreyguenther wants to merge 6 commits intoomacom-io:mainfrom
LoamStudios:unattended-install
Open

Add Unattended Installs#72
jeffreyguenther wants to merge 6 commits intoomacom-io:mainfrom
LoamStudios:unattended-install

Conversation

@jeffreyguenther
Copy link
Copy Markdown

In this PR, I add unattended installs. I want to use the ISO with Packer and ProxMox for disposable dev environments so I need the ability to spin up and and down Omarchy installs without manual interaction.

This is is a first pass from Claude. I haven't started testing it yet. I'm working on this between other tasks. Feel free to comment, but expect that I will change things. Like the commit description, etc.

@jeffreyguenther
Copy link
Copy Markdown
Author

@dhh @ryanrhughes before I go any further this, can you take a look?

I've done the full life cycle on a machine running ProxMox and Omarchy boots just like one would want.

I want to call out the patching of the finished.sh script. This is probably not we want to do, but I let Claude do it because it proves out the concept.

I put this before you for initial remarks and then I'll polish the commits and adjust things accordingly.

@jeffreyguenther jeffreyguenther marked this pull request as ready for review February 12, 2026 15:28
@jeffreyguenther
Copy link
Copy Markdown
Author

jeffreyguenther commented Feb 12, 2026

Oh, need to add the ability to login via ssh after the unattended install. Was in my original plan, but got missed in the "Look, Ma! It works."

@jeffreyguenther jeffreyguenther force-pushed the unattended-install branch 2 times, most recently from 2aab2b2 to c38455c Compare February 12, 2026 20:44
@jeffreyguenther
Copy link
Copy Markdown
Author

Ready for review! I have the tool chain setup so changes are a small matter for a rebuild, so let me know!

@ryanrhughes
Copy link
Copy Markdown
Collaborator

@jeffreyguenther is it possible to simplify this down to trigger based on an autoinstall file existing or not?

In my head, there shouldn't really be a need for a separate menu item or really a whole lot of deviation.

Currently, we generate a config, then utilize that which positions itself quite well for this scenario to just include those details, plus perhaps some additional necessary like an ssh.json with private keys in it in it if you wanted.

Early on, we look for those files. If they exist, assume this is an autoinstall and skip the configurator. If they don't, go through the configurator process.

That keeps the amount of code necessary to allow for this to a minimum and should allow for happier upgrade paths as we modify the install pipeline over time since it's really just using the default.

@jeffreyguenther
Copy link
Copy Markdown
Author

Thanks for the feedback! I like that. Let me revise!

@jeffreyguenther jeffreyguenther force-pushed the unattended-install branch 5 times, most recently from ed9fb47 to 126703e Compare February 13, 2026 20:39
@jeffreyguenther
Copy link
Copy Markdown
Author

@ryanrhughes I've revised based on your feedback. And hopefully named functions in a way that would make my inner ruby-ist happy (and DHH)

The modification of the reboot prompt is still questionable in my opinion. Open to suggestions there.

Move reboot from install_omarchy() to the end of the main flow so
allow_ssh_through_firewall_if_unattended actually runs before the
system reboots. Add README note that autoinstall configs should not
include disk_encryption since LUKS requires a passphrase at every boot.
Extract reboot logic into reboot_if_completed function and rename
skip_reboot_prompt_if_unattended to auto_confirm_reboot_if_unattended.
@jeffreyguenther
Copy link
Copy Markdown
Author

@dhh and @ryanrhughes ready for a final review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants