nix: update switch from julm-nix
[sourcephile-nix.git] / hosts / losurdo / freeciv.nix
index 274926a805a68856dcbc0943bfb537cbece6b8a0..b63c570f6a212437a97f1a76e7f885e9a844053b 100644 (file)
@@ -1,38 +1,45 @@
-{ pkgs, lib, config, ... }:
+{ config, ... }:
 let
   inherit (config.users) users;
   domain = config.networking.domain;
   inherit (config.services) freeciv;
 in
 {
-networking.nftables.ruleset = ''
-  add rule inet filter net2fw tcp dport ${toString freeciv.settings.port} counter accept comment "Freeciv"
-'';
-users.users.freeciv.isSystemUser = true;
-users.groups.acme.members = [ users."freeciv".name ];
-security.acme.certs."${domain}" = {
-  # Not supported
-  #postRun = "systemctl reload freeciv";
-};
-systemd.services.postgresql = {
-  wants = [ "acme-selfsigned-${domain}.service" "acme-${domain}.service"];
-  after = [ "acme-selfsigned-${domain}.service" ];
-};
-services.upnpc.redirections = [
-  { description  = "";
-    externalPort = freeciv.settings.port; protocol = "TCP";
-    service.wantedBy = ["freeciv.service"];
-    service.partOf   = ["freeciv.service"];
-  }
-];
-services.freeciv = {
-  enable = true;
-  settings = {
-    Announce = "none";
-    Guests = true;
-    Newusers = true;
-    auth = true;
-    debug = 3;
+  networking.nftables.ruleset = ''
+    table inet filter {
+      chain input-net {
+        tcp dport ${toString freeciv.settings.port} counter accept comment "Freeciv"
+      }
+    }
+  '';
+  users.users.freeciv.isSystemUser = true;
+  users.groups.acme.members = [ users."freeciv".name ];
+  security.acme.certs."${domain}" = {
+    # Not supported
+    #postRun = "systemctl reload freeciv";
+  };
+  systemd.services.freeciv = {
+    wants = [ "acme-selfsigned-${domain}.service" "acme-${domain}.service" ];
+    after = [ "acme-selfsigned-${domain}.service" ];
+  };
+  services.upnpc.enable = true;
+  services.upnpc.redirections = [
+    {
+      description = "";
+      externalPort = freeciv.settings.port;
+      protocol = "TCP";
+      service.wantedBy = [ "freeciv.service" ];
+      service.partOf = [ "freeciv.service" ];
+    }
+  ];
+  services.freeciv = {
+    enable = true;
+    settings = {
+      Announce = "none";
+      Guests = true;
+      Newusers = true;
+      auth = true;
+      debug = 3;
+    };
   };
-};
 }