diff --git a/hosts/linode/default.nix b/hosts/linode/default.nix index 0d41a68..2ab58f5 100644 --- a/hosts/linode/default.nix +++ b/hosts/linode/default.nix @@ -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"; } diff --git a/modules/default.nix b/modules/default.nix index f690b42..cddba76 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,6 +3,7 @@ { imports = [ ./home.nix + ./linode.nix ./proxy.nix ./rpi4.nix ]; diff --git a/modules/linode.nix b/modules/linode.nix new file mode 100644 index 0000000..dd5bdb4 --- /dev/null +++ b/modules/linode.nix @@ -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 + ]; + }; +} diff --git a/profiles/linode.nix b/profiles/linode.nix deleted file mode 100644 index 4681d96..0000000 --- a/profiles/linode.nix +++ /dev/null @@ -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 - ]; -}