{ config, pkgs, lib, ... }: { imports = [ ./base.nix ./users/chris.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; watchdog = { runtimeTime = "20s"; rebootTime = "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"; }; hardware.pulseaudio.enable = false; # This shaves off half a gigabyte of disk space... hardware.enableAllFirmware = false; hardware.enableRedistributableFirmware = false; services = { promtail = { enable = true; configuration = { server = { http_listen_port = 3031; grpc_listen_port = 0; }; positions = { filename = "/tmp/positions.yaml"; }; clients = [ { url = "https://loki.regional.seian.cloud/loki/api/v1/push"; } ]; scrape_configs = [ { job_name = "journal"; journal = { max_age = "12h"; labels = { job = "systemd-journal"; host = "${toString config.networking.hostName}"; }; }; relabel_configs = [ { source_labels = [ "__journal__systemd_unit" ]; target_label = "unit"; } ]; } ]; }; }; }; }