| .. | ||
| configuration.nix | ||
| gc-my-roots.sh | ||
| minibase-install.sh | ||
| README.md | ||
minibase bootstrap iso
boots into a live session with openssh running for easy remote setup.
ssh pubkeys can be baked into the image, but we're still working on the DX around providing the files and values to the device. for now, edit
configuration.nixto include the appropriate values.
features
lix(whether it makes it into the final install remains to be seen)opsuser withwheelwheelcansudowith no password
installer sheet
parted /dev/vda -- mklabel gpt
parted /dev/vda -- mkpart root ext4 512MB -8GB
parted /dev/vda -- mkpart swap linux-swap -8GB 100%
parted /dev/vda -- mkpart ESP fat32 1MB 512MB
parted /dev/vda -- set 3 esp on
mkfs.btrfs -L nixos /dev/vda1
mkswap -L swap /dev/vda2
mkfs.fat -F 32 -n BOOT /dev/vda3
mount /dev/disk/by-label/nixos /mnt
cd /mnt
btrfs subvolume create root
btrfs subvolume create persistent
btrfs subvolume create nix
cd
umount /mnt
mount -o subvol=root /dev/disk/by-label/nixos /mnt
mkdir /mnt/nix /mnt/persistent
mount -o subvol=nix /dev/disk/by-label/nixos /mnt/nix
mount -o subvol=persistent /dev/disk/by-label/nixos /mnt/persistent
mkdir -p /mnt/boot
mount -o umask=077 /dev/disk/by-label/BOOT /mnt/boot
swapon /dev/vda2
plan for impermenance!
{
fileSystems."/" = {
device = "/dev/root_vg/root";
fsType = "btrfs";
options = [ "subvol=root" ];
};
boot.initrd.postDeviceCommands = lib.mkAfter ''
'';
fileSystems."/persistent" = {
device = "/dev/root_vg/root";
neededForBoot = true;
fsType = "btrfs";
options = [ "subvol=persistent" ];
};
fileSystems."/nix" = {
device = "/dev/root_vg/root";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/XXXX-XXXX";
fsType = "vfat";
};
}