I set up a new machine with Void, and it took an embarrassing amount of time. I wanted a script to install Void with 1 line of bash from a live iso, so I could look cool next time. Here it is:
xbps-install -S curl
curl https://malinfreeborn.com/autovoid.sh | sh
The idea is to place the script on a public site, execute it, then get the following:
- a full WM
- all dotfiles set up
- all home files
…basically, a full setup.
Results
It’s 2 lines of bash, rather than 1, which is less cool.
I remove the need for a password by making the system auto-login to a user in the wheel group. I’ve tried adding the option to set a variable, password="mypassword123
, which would then automatically add that variable as the main user’s password, but something’s gone wrong there.
The user gets ssh keys pulled from gitlab as a kind of backup.
To Do
- Atm I can use unison to pull in ~ files from my server, but it’d be nicer to have this done automatically, before the reboot. I guess that’d require another line for authentication.
- See if something can pull the script without curl, so the script can be a single line of bash
- I might see about puting in arbitrary usernames/ hostnames later.
- Any other suggestions?
Friends don’t let friends pipe curl to shell.
Figure out how to
dd
your script to a liveusb instead and pipe the block device intosh
if you really need a one-line script trick.Or even better make a custom live image which runs your script automatically.
Or use ansible or distro like nixos.
Friends don’t let friends pipe curl to shell.
I think I’m good there. The servers are all self-hosted at my local haklab. It’s just me and 3 other admins, and the access is locked down. A haklab with some old computers and a paranoid admin is the least enticing target.