# Configuration file local to this node { config, pkgs, ... }: { # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.timeout = 20; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "caribou"; # Define your hostname. networking.interfaces.eno1.useDHCP = false; networking.interfaces.eno1.ipv4.addresses = [ { address = "192.168.1.23"; prefixLength = 24; } ]; networking.wireguard.interfaces.wg0 = { ips = [ "10.42.0.23/16" ]; listenPort = 33723; }; # OR use USB modem plugged in here #networking.interfaces.enp0s20u1.useDHCP = true; # Activate as Nomad and Consul server node services.nomad.settings.server.enabled = true; services.consul.extraConfig.server = true; # Enable netdata monitoring services.netdata.enable = true; # ---- # Enable nix-serve services.nix-serve = { enable = true; secretKeyFile = "/var/cache-priv-key.pem"; }; # Configure a Nginx web server to serve NixOS cache services.nginx = { enable = true; virtualHosts = { "binarycache.home.adnab.me" = { serverAliases = [ "binarycache" ]; listen = [ { addr = "0.0.0.0"; port = 7980; } ]; locations."/".extraConfig = '' proxy_pass http://localhost:${toString config.services.nix-serve.port}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ''; }; }; }; networking.firewall.allowedTCPPorts = [ 7980 ]; }