From 9320bd758ac2fdf09bfb4dad9e8b782b74d82599 Mon Sep 17 00:00:00 2001 From: Ranomier <> Date: Fri, 9 May 2025 22:08:43 +0200 Subject: [PATCH] feat: added postgresql --- hosts/game-luanti/default.nix | 2 +- modules/game/server/luanti/default.nix | 22 ++++------------------ modules/game/server/luanti/luanti.nix | 20 ++++++++++++++++++++ modules/game/server/luanti/postgresql.nix | 18 ++++++++++++++++++ 4 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 modules/game/server/luanti/luanti.nix create mode 100644 modules/game/server/luanti/postgresql.nix diff --git a/hosts/game-luanti/default.nix b/hosts/game-luanti/default.nix index e00303b..aede8ff 100644 --- a/hosts/game-luanti/default.nix +++ b/hosts/game-luanti/default.nix @@ -2,12 +2,12 @@ imports = [ ./boot.nix ./hardware-configuration.nix + ../../modules/game/server/luanti ../../system_profiles/defaults.nix ../../system_profiles/mini.nix ../../system_profiles/server.nix - ../../modules/game/server/luanti ../../modules/sec_auth/ssh-server.nix ]; diff --git a/modules/game/server/luanti/default.nix b/modules/game/server/luanti/default.nix index c8025fe..65a595a 100644 --- a/modules/game/server/luanti/default.nix +++ b/modules/game/server/luanti/default.nix @@ -1,20 +1,6 @@ -{pkgs, ...}: let - port = 10523; -in { - services.minetest-server = { - enable = true; - - gameId = "asuna"; - port = port; - }; - - # open port since luanti does not do it by itself - networking.firewall = { - allowedUDPPorts = [port]; - }; - - # install luanti seperatly so it is available through the command line - environment.systemPackages = with pkgs; [ - luanti +{ + imports = [ + ./luanti.nix + ./postgresql.nix ]; } diff --git a/modules/game/server/luanti/luanti.nix b/modules/game/server/luanti/luanti.nix new file mode 100644 index 0000000..c8025fe --- /dev/null +++ b/modules/game/server/luanti/luanti.nix @@ -0,0 +1,20 @@ +{pkgs, ...}: let + port = 10523; +in { + services.minetest-server = { + enable = true; + + gameId = "asuna"; + port = port; + }; + + # open port since luanti does not do it by itself + networking.firewall = { + allowedUDPPorts = [port]; + }; + + # install luanti seperatly so it is available through the command line + environment.systemPackages = with pkgs; [ + luanti + ]; +} diff --git a/modules/game/server/luanti/postgresql.nix b/modules/game/server/luanti/postgresql.nix new file mode 100644 index 0000000..1755b1e --- /dev/null +++ b/modules/game/server/luanti/postgresql.nix @@ -0,0 +1,18 @@ +{pkgs, ...}: { + config.services.postgresql = { + enable = true; + + authentication = pkgs.lib.mkOverride 10 '' + #type database DBuser auth-method + local all all trust + ''; + + ensureDatabases = ["luanti_world"]; + ensureUsers = [ + { + name = "luanti_world"; + ensureDBOwnership = true; + } + ]; + }; +}