aboutsummaryrefslogtreecommitdiff
path: root/node/caribou.nix
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-11-01 22:56:32 +0100
committerAlex Auvolat <alex@adnab.me>2021-11-01 22:56:32 +0100
commitdac37b918bbf427a8f499c82ebb464c57ead6478 (patch)
tree2507db827c83940140385a495365423353873a04 /node/caribou.nix
downloadnixcfg-dac37b918bbf427a8f499c82ebb464c57ead6478.tar.gz
nixcfg-dac37b918bbf427a8f499c82ebb464c57ead6478.zip
Import initial Nix configuration files
Diffstat (limited to 'node/caribou.nix')
-rw-r--r--node/caribou.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/node/caribou.nix b/node/caribou.nix
new file mode 100644
index 0000000..95b0d52
--- /dev/null
+++ b/node/caribou.nix
@@ -0,0 +1,41 @@
+# Configuration file local to this node
+
+{ config, pkgs, ... }:
+
+{
+ networking.hostName = "caribou"; # Define your hostname.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+
+ networking.interfaces.eno1.useDHCP = false;
+ networking.interfaces.eno1.ipv4.addresses = [
+ {
+ address = "192.168.1.23";
+ prefixLength = 24;
+ }
+ ];
+ networking.interfaces.enp0s20u1.useDHCP = 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" ];
+ 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 = [ 80 ];
+}