74 lines
1.8 KiB
Nix
74 lines
1.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
with lib;
|
|
{
|
|
imports = [ ../profiles/qemu-guest.nix ];
|
|
|
|
services.openssh = {
|
|
enable = true;
|
|
|
|
settings.PermitRootLogin = "prohibit-password";
|
|
settings.PasswordAuthentication = mkDefault false;
|
|
};
|
|
|
|
networking = {
|
|
usePredictableInterfaceNames = false;
|
|
useDHCP = false;
|
|
interfaces.eth0 = {
|
|
useDHCP = true;
|
|
|
|
# Linode expects IPv6 privacy extensions to be disabled, so disable them
|
|
# See: https://www.linode.com/docs/guides/manual-network-configuration/#static-vs-dynamic-addressing
|
|
tempAddress = "disabled";
|
|
};
|
|
};
|
|
|
|
# Install diagnostic tools for Linode support
|
|
environment.systemPackages = with pkgs; [
|
|
inetutils
|
|
mtr
|
|
sysstat
|
|
];
|
|
|
|
fileSystems."/" = {
|
|
fsType = "ext4";
|
|
device = "/dev/sda";
|
|
autoResize = true;
|
|
};
|
|
|
|
swapDevices = mkDefault [{ device = "/dev/sdb"; }];
|
|
|
|
# Enable LISH and Linode Booting w/ GRUB
|
|
boot = {
|
|
# Add Required Kernel Modules
|
|
# NOTE: These are not documented in the install guide
|
|
initrd.availableKernelModules = [
|
|
"virtio_pci"
|
|
"virtio_scsi"
|
|
"ahci"
|
|
"sd_mod"
|
|
];
|
|
|
|
# Set Up LISH Serial Connection
|
|
kernelParams = [ "console=ttyS0,19200n8" ];
|
|
kernelModules = [ "virtio_net" ];
|
|
|
|
loader = {
|
|
# Increase Timeout to Allow LISH Connection
|
|
# NOTE: The image generator tries to set a timeout of 0, so we must force
|
|
timeout = lib.mkForce 10;
|
|
|
|
grub = {
|
|
enable = true;
|
|
forceInstall = true;
|
|
device = "nodev";
|
|
|
|
# Allow serial connection for GRUB to be able to use LISH
|
|
extraConfig = ''
|
|
serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
|
|
terminal_input serial;
|
|
terminal_output serial
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|