aboutsummaryrefslogtreecommitdiff
path: root/modules/hardware-setups/linode.nix
blob: 506c2628dce21eec8520c7bea8a7408c6174224d (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
{ ... }:
{
    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";
        };
}