Archived
Linode provisions and sizes /dev/sda (root) and /dev/sdb (swap) itself as whole, unpartitioned block devices before the OS ever boots. modules/disko/linode.nix declares them with destroy = false (skips Disko's wipe stage for these disks entirely) and a bare filesystem/swap content type matching that existing layout, so re-running it against an already-provisioned disk only mkfs/mkswaps if blkid shows it isn't formatted yet -- never repartitions or destroys data. With every host reachable through the installer menu now carrying a Disko config, auto-install.sh no longer needs to probe the flake and branch between `disko --mode destroy,format,mount` and a bind-mount fallback -- it just always runs Disko. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01La55Nsss8jZ7ZuzUV9mfot
44 lines
1.3 KiB
Nix
44 lines
1.3 KiB
Nix
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||
# and may be overwritten by future invocations. Please make changes
|
||
# to /etc/nixos/configuration.nix instead.
|
||
{ config, lib, pkgs, modulesPath, ... }:
|
||
|
||
{
|
||
imports =
|
||
[
|
||
(modulesPath + "/profiles/qemu-guest.nix")
|
||
];
|
||
|
||
boot = {
|
||
initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ];
|
||
initrd.kernelModules = [ ];
|
||
kernelModules = [ ];
|
||
extraModulePackages = [ ];
|
||
|
||
# Enable LISH
|
||
kernelParams = [ "console=ttyS0,19200n8" ];
|
||
|
||
loader = {
|
||
grub = {
|
||
device = "/dev/sda";
|
||
extraConfig = ''
|
||
serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
|
||
terminal_input serial;
|
||
terminal_output serial;
|
||
'';
|
||
forceInstall = true;
|
||
# device = "nodev";
|
||
};
|
||
timeout = 10;
|
||
};
|
||
};
|
||
|
||
# fileSystems."/" and swapDevices are now owned by disko
|
||
# (../disko/linode.nix, imported from ../platforms/linode.nix) — same
|
||
# /dev/sda root + /dev/sdb swap layout, declared there instead so disko's
|
||
# (idempotent, non-destructive — see that file) format/mount scripts stay
|
||
# in sync with what NixOS actually mounts.
|
||
|
||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||
}
|