aboutsummaryrefslogtreecommitdiff
path: root/modules/hardware-setups/linode.nix
diff options
context:
space:
mode:
authorDylan <boss@tehbox.org>2026-10-17 21:53:43 +1300
committerDylan <boss@tehbox.org>2026-10-17 21:53:43 +1300
commit280e1bbe5e733128a451260685cc8ecd10a042a3 (patch)
tree78bab82353bbfa00f9a781015e246c274a5c983b /modules/hardware-setups/linode.nix
parentbcfc69e424802276cc52fb6e00fb4a42e9c37816 (diff)
downloadnixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.tar.gz
nixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.zip
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
Diffstat (limited to 'modules/hardware-setups/linode.nix')
-rw-r--r--modules/hardware-setups/linode.nix44
1 files changed, 44 insertions, 0 deletions
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.<interface>.useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.enp0s5.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ };
+}