aboutsummaryrefslogtreecommitdiff
path: root/modules/hardware-setups/linode.nix
blob: 69af70d0753bbcaeea621d35ed4a3866165c26f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{ ... }:
{
	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";
		};
}