@cryptotaxi247 / infra / commits / 7817e697

Add script that does the macmini bootstrap

Rob Vermaas committed Sep 28, 2019 at 20:33 UTC 7817e6973a3c9a0e61c1d62e14cc14051e903f77
1 file changed +50
macs/bootstrap-macmini new
+50
@@ -0,0 +1,50 @@
1 +#!/usr/bin/env bash
2 +
3 +set -ex
4 +
5 +parted /dev/sda -- mklabel gpt
6 +parted /dev/sda -- mkpart primary 512MiB -16GiB
7 +parted /dev/sda -- mkpart primary linux-swap -16GiB -1MiB
8 +parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
9 +parted /dev/sda -- set 3 boot on
10 +
11 +zpool create -o ashift=12 -o altroot=/mnt rpool /dev/sda1
12 +zfs create -o mountpoint=legacy rpool/root
13 +mount -t zfs rpool/root /mnt
14 +
15 +mkfs.fat -F 32 -n boot /dev/sda3
16 +mkdir /mnt/boot
17 +mount /dev/sda3 /mnt/boot
18 +
19 +mkswap -L swap /dev/sda2
20 +
21 +nixos-generate-config --root /mnt
22 +
23 +hostId=$(head -c 8 /etc/machine-id)
24 +
25 +cat > /mnt/etc/nixos/bootstrap-config.nix <<EOF
26 +{ config, pkgs, lib, ...}:
27 +{ boot.supportedFilesystems = [ "zfs" ];
28 + networking.hostId = "$hostId";
29 + nixpkgs.config.allowUnfree = true;
30 + fileSystems."/boot".device = lib.mkOverride 0 "/dev/disk/by-label/boot";
31 + swapDevices = lib.mkOverride 0 [ { device = "/dev/disk/by-label/swap"; } ];
32 +}
33 +EOF
34 +
35 +sed -i 's|powerManagement.cpuFreqGovernor|#powerManagement.cpuFreqGovernor|' /mnt/etc/nixos/hardware-configuration.nix
36 +
37 +sed -i 's|hardware-configuration.nix|hardware-configuration.nix ./bootstrap-config.nix|' /mnt/etc/nixos/configuration.nix
38 +
39 +sed -i 's|# services.openssh.enable|services.openssh.enable|' /mnt/etc/nixos/configuration.nix
40 +
41 +mkdir -p /mnt/root/.ssh
42 +chmod 0700 /mnt/root
43 +chmod 0700 /mnt/root/.ssh
44 +cat > /mnt/root/.ssh/authorized_keys <<EOF
45 +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHp3/OZP2nRS5bM9E1xN8Q2L398kC+m4guORjKsmGjwnnHvYnTml5puE2ogl8Wdenbk7hf82+vKyB+Tktrhx+IBSym4lY+czR6W+39hlPYdLbi980yxYT9KEMSyMWJEgPVJ1BZvHqsHQiad/L3eoPmAIMDmcn4mLh9rya5/oMW/ZgsA6j28ClvWkDRyaTmTLOa0Im4nLoSbdo8kJqU+JX/YcXlMKUvFfdMcj4T9YYwV98LPWHnEHFmjtBBUXRUAIESMXS6pm3Pep3czkKUL4UF0u9f17b40OWlLOF4IQWE2jM9yK09DiIQUzeU2XKRNW116DnmDL5QIRNrYnhkYeeQI3U6WnVTPdTU9kBVTDjhM+6U6/LClGJaWiglwwrzHtVELHgMi280qRefQEftb4CI/IbcPNAxetJevV68I5NAjfdnmMx8YbhfIiEqAJtBi4TvoH7HjDH+72+ZFjQ10fpz/p+DgUtiNlRKz8tXSZ+mbLuhmOJOxtGQTH3viYbSpG/4F9uKW1ekX0RMyRxVvpjMxHtCL4daJI4RTHFXy4R16OKAlYe7gs9sqv7O0IujLJPex/rnN2U4syGaSH5q3UnGxci6qgn8yLEhSP+Gj0xdv5H3fVjr/kNNZGWDOz6nDUaJT+eWlmWU7hOvm0ricrz9GEPUTQ0Rh70sWTQFq3poWQ== cardno:000606167509
46 +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wRHQtq9uBzdiAYzpSNmF+nmIHmW+AOeBTDNmdva+CFGIBbB56q7w6GCOhfXs8edrPY4qOcQGaOD0ussIvHnqkVfw8e6CbxnpXKeAuIz7+1V72AhLPzOkif4yPrI6tSYF5nvzq6U4Yk1qFnXiLQjkA1s4EcZH6V0KbHMsu7Mtv3Irspdn8KUI3j2UwZcssFu1EuLHhLNussziRQK9tOg9ixb0U1WXuUJn7Noh9odTAsAt6jLFdr5eN/IINgC9WQqvY/W94Tc2/z5TWR7z382pEkMBR/3sf+nYKA82069tagkyrtJ/YXi00CWU4vjpnMvwPEYcmtCddfCPi8ZIUrn grahamc@Morbo
47 +EOF
48 +chmod 0600 /mnt/root/.ssh/authorized_keys
49 +
50 +nixos-install