Move Linode support to a module

This commit is contained in:
Greg Hellings
2022-04-25 22:29:44 -05:00
parent 5f1e146847
commit 5a5c3fac0c
4 changed files with 46 additions and 29 deletions
+1 -1
View File
@@ -3,13 +3,13 @@
{
imports = [
./hardware-configuration.nix
../../profiles/linode.nix
./nextcloud.nix
./nginx.nix
./postgres.nix
./synapse.nix
];
greg.home = false;
greg.linode.enable = true;
networking.hostName = "linode";
networking.domain = "thehellings.com";
}
+1
View File
@@ -3,6 +3,7 @@
{
imports = [
./home.nix
./linode.nix
./proxy.nix
./rpi4.nix
];
+44
View File
@@ -0,0 +1,44 @@
{ config, lib, pkgs, ... }:
let
cfg = config.greg.linode;
in with lib;
{
options.greg.linode = {
enable = mkEnableOption "Set sensible defaults for a Linode host";
bootTimeout = mkOption {
type = types.int;
default = 15;
description = "Set bootloader timeout in seconds.";
};
};
config = mkIf cfg.enable {
# Enables connection over Linode consoles
boot.kernelParams = [ "console=ttyS0,19200n8" ];
boot.loader.grub = {
device = "nodev";
extraConfig = ''
serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
terminal_input serial;
terminal_output serial;
'';
};
# Tells grub to ignore partion-free device warnings, since we are on Linode
boot.loader.timeout = 15;
networking.usePredictableInterfaceNames = false; # Use old style eth0 names
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
# Suggested diagnostic tools
environment.systemPackages = with pkgs; [
inetutils
mtr
sysstat
];
};
}
-28
View File
@@ -1,28 +0,0 @@
{ pkgs, ... }:
{
# Enables connection over Linode consoles
boot.kernelParams = [ "console=ttyS0,19200n8" ];
boot.loader.grub = {
device = "nodev";
extraConfig = ''
serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
terminal_input serial;
terminal_output serial;
'';
};
# Tells grub to ignore partion-free device warnings, since we are on Linode
boot.loader.timeout = 15;
networking.usePredictableInterfaceNames = false; # Use old style eth0 names
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
# Suggested diagnostic tools
environment.systemPackages = with pkgs; [
inetutils
mtr
sysstat
];
}