1 files changed, 79 insertions, 0 deletions
diff --git a/modules/base-server.nix b/modules/base-server.nix
new file mode 100755
index 0000000..cfee9de
--- /dev/null
+++ b/modules/base-server.nix
@@ -0,0 +1,79 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+
+{
+ imports = [
+ ./base.nix
+ ];
+ documentation.nixos.enable = false;
+ documentation.enable = false;
+ documentation.info.enable = false;
+ documentation.man.enable = false;
+
+ environment.variables.BROWSER = "echo";
+
+ time.timeZone = lib.mkDefault "UTC";
+ systemd = {
+ enableEmergencyMode = false;
+ settings = {
+ Manager = {
+ RuntimeWatchdogSec = "20s";
+ RebootWatchdogSec = "30s";
+ };
+ };
+
+ sleep.extraConfig = ''
+ AllowSuspend=no
+ AllowHibernation=no
+ '';
+ };
+
+ #systemd.services.NetworkManager-wait-online.enable = false;
+ #systemd.network.wait-online.enable = false;
+
+ # My servers always use /dev/vda as boot disk...
+ boot = {
+ kernelPackages = pkgs.linuxPackages_latest;
+ loader = {
+ grub = {
+ devices = lib.mkIf (config.fileSystems ? "/boot") [ "nodev" ];
+ # EFI
+ efiSupport = config.fileSystems ? "/boot" && config.fileSystems."/boot".fsType == "vfat";
+ efiInstallAsRemovable = config.fileSystems ? "/boot" && config.fileSystems."/boot".fsType == "vfat";
+ };
+ timeout = 1;
+ };
+ };
+
+ networking = {
+ hostName = lib.mkDefault "Rory-nix-base-server";
+ networkmanager.enable = false;
+ wireless.enable = false;
+ enableIPv6 = false;
+ firewall = {
+ enable = false;
+ allowedTCPPorts = [ 22 ];
+ };
+
+ useDHCP = false;
+ nameservers = [
+ "10.10.0.4"
+ "10.10.0.5"
+ "1.1.1.1"
+ "1.0.0.1"
+ "8.8.8.8"
+ "8.4.4.8"
+ ];
+ defaultGateway = lib.mkDefault "192.168.1.1";
+ };
+
+ services.pulseaudio.enable = false;
+
+ # This shaves off half a gigabyte of disk space...
+ hardware.enableAllFirmware = false;
+ hardware.enableRedistributableFirmware = false;
+}
|