From 280e1bbe5e733128a451260685cc8ecd10a042a3 Mon Sep 17 00:00:00 2001 From: Dylan Date: Sat, 17 Oct 2026 21:53:43 +1300 Subject: feat: Dendritic pattern This re-write was done with the help of claude, and still needs a decent amount of changes before it properly follows the dendritic pattern --- modules/hardware-setups/linode.nix | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 modules/hardware-setups/linode.nix (limited to 'modules/hardware-setups/linode.nix') diff --git a/modules/hardware-setups/linode.nix b/modules/hardware-setups/linode.nix new file mode 100644 index 0000000..506c262 --- /dev/null +++ b/modules/hardware-setups/linode.nix @@ -0,0 +1,44 @@ +{ ... }: +{ + flake.modules.nixos.linode = + { config, lib, pkgs, modulesPath, ... }: + + { + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + boot.kernelParams = [ "console=ttyS0,19200n8" ]; + boot.loader.grub.extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + boot.loader.grub.forceInstall = true; + boot.loader.grub.device = "nodev"; + boot.loader.timeout = 10; + + fileSystems."/" = + { device = "/dev/sda"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/sdb"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s5.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + }; +} -- cgit v1.3.1