vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / virtualisation / linode-config.nix
blob209bff57ea8be6f2c597fc8cf2891bf2318dfd39
1 { config, lib, pkgs, ... }:
2 with lib;
4   imports = [ ../profiles/qemu-guest.nix ];
6   services.openssh = {
7     enable = true;
9     settings.PermitRootLogin = "prohibit-password";
10     settings.PasswordAuthentication = mkDefault false;
11   };
13   networking = {
14     usePredictableInterfaceNames = false;
15     useDHCP = false;
16     interfaces.eth0 = {
17       useDHCP = true;
19       # Linode expects IPv6 privacy extensions to be disabled, so disable them
20       # See: https://www.linode.com/docs/guides/manual-network-configuration/#static-vs-dynamic-addressing
21       tempAddress = "disabled";
22     };
23   };
25   # Install diagnostic tools for Linode support
26   environment.systemPackages = with pkgs; [
27     inetutils
28     mtr
29     sysstat
30   ];
32   fileSystems."/" = {
33     fsType = "ext4";
34     device = "/dev/sda";
35     autoResize = true;
36   };
38   swapDevices = mkDefault [{ device = "/dev/sdb"; }];
40   # Enable LISH and Linode Booting w/ GRUB
41   boot = {
42     # Add Required Kernel Modules
43     # NOTE: These are not documented in the install guide
44     initrd.availableKernelModules = [
45       "virtio_pci"
46       "virtio_scsi"
47       "ahci"
48       "sd_mod"
49     ];
51     # Set Up LISH Serial Connection
52     kernelParams = [ "console=ttyS0,19200n8" ];
53     kernelModules = [ "virtio_net" ];
55     loader = {
56       # Increase Timeout to Allow LISH Connection
57       # NOTE: The image generator tries to set a timeout of 0, so we must force
58       timeout = lib.mkForce 10;
60       grub = {
61         enable = true;
62         forceInstall = true;
63         device = "nodev";
65         # Allow serial connection for GRUB to be able to use LISH
66         extraConfig = ''
67           serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
68           terminal_input serial;
69           terminal_output serial
70         '';
71       };
72     };
73   };