From 6134c6e1e69d2139569597e0f76a5a4953365b53 Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Thu, 24 Dec 2020 00:29:27 +0100 Subject: [PATCH] Add some modules for game hosting --- configurations/zeroad.nix | 15 --------------- machines/kholinar/default.nix | 1 + machines/urithiru/default.nix | 5 +++++ modules/default.nix | 2 ++ modules/teeworlds.nix | 24 +++++++++++++++++++++++ modules/zeroad.nix | 36 +++++++++++++++++++++++++++++++++++ profiles/graphical.nix | 1 - 7 files changed, 68 insertions(+), 16 deletions(-) delete mode 100644 configurations/zeroad.nix create mode 100644 modules/teeworlds.nix create mode 100644 modules/zeroad.nix diff --git a/configurations/zeroad.nix b/configurations/zeroad.nix deleted file mode 100644 index e1d5f94b..00000000 --- a/configurations/zeroad.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ ... }: - -{ - chvp.zfs.homeLinks = [ - { path = ".config/0ad"; type = "cache"; } - ]; - - nixpkgs.config.permittedInsecurePackages = [ - "spidermonkey-38.8.0" - ]; - - home-manager.users.charlotte = { pkgs, ... }: { - home.packages = [ pkgs.zeroad ]; - }; -} diff --git a/machines/kholinar/default.nix b/machines/kholinar/default.nix index 27cddb88..a61379ff 100644 --- a/machines/kholinar/default.nix +++ b/machines/kholinar/default.nix @@ -22,6 +22,7 @@ eid.enable = true; git.email = "charlotte@vanpetegem.me"; nix.enableUnfree = true; + zeroad.enable = true; zfs = { enable = true; encrypted = true; diff --git a/machines/urithiru/default.nix b/machines/urithiru/default.nix index 161606e5..eea0f6fd 100644 --- a/machines/urithiru/default.nix +++ b/machines/urithiru/default.nix @@ -21,6 +21,11 @@ ovh.enable = true; smartd.enable = true; sshd.enable = true; + teeworlds.enable = false; + zeroad = { + enable = true; + asServer = false; + }; zfs = { enable = true; backups = [ diff --git a/modules/default.nix b/modules/default.nix index eab0ffbf..b7c4210d 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -16,7 +16,9 @@ ./ssh.nix ./sshd.nix ./syncthing-server.nix + ./teeworlds.nix ./tmux.nix + ./zeroad.nix ./zfs.nix ./zsh.nix ]; diff --git a/modules/teeworlds.nix b/modules/teeworlds.nix new file mode 100644 index 00000000..05d8c664 --- /dev/null +++ b/modules/teeworlds.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: + +{ + options = { + chvp.teeworlds.enable = lib.mkOption { + default = false; + example = true; + }; + }; + + config = lib.mkIf config.chvp.teeworlds.enable { + services.teeworlds = { + enable = true; + openPorts = true; + extraOptions = [ + "sv_gametype ctf" + "sv_maprotation ctf1 ctf2 ctf3 ctf4 ctf5 ctf6 ctf7 ctf8" + "sv_map ctf1" + "sv_scorelimit 250" + "sv_teamdamage 1" + ]; + }; + }; +} diff --git a/modules/zeroad.nix b/modules/zeroad.nix new file mode 100644 index 00000000..03939dcb --- /dev/null +++ b/modules/zeroad.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +{ + options = { + chvp.zeroad = { + enable = lib.mkOption { + default = false; + example = true; + }; + asServer = lib.mkOption { + default = false; + example = true; + }; + }; + }; + + config = lib.mkIf config.chvp.zeroad.enable { + chvp.zfs.homeLinks = [ + { path = ".config/0ad"; type = "cache"; } + ]; + + nixpkgs.config.permittedInsecurePackages = [ + "spidermonkey-38.8.0" + ]; + + hardware.opengl.enable = true; + home-manager.users.charlotte = { pkgs, ... }: { + home.packages = [ pkgs.zeroad ]; + }; + networking.firewall = lib.mkIf config.chvp.zeroad.asServer { + allowedTCPPorts = [ 20595 ]; + allowedUDPPorts = [ 20595 ]; + }; + services.openssh.forwardX11 = lib.mkDefault config.chvp.zeroad.asServer; + }; +} diff --git a/profiles/graphical.nix b/profiles/graphical.nix index 6b715531..e363d3b4 100644 --- a/profiles/graphical.nix +++ b/profiles/graphical.nix @@ -28,7 +28,6 @@ ../configurations/themes.nix ../configurations/virtualbox.nix ../configurations/xdg-dirs.nix - ../configurations/zeroad.nix ]; home-manager.users.charlotte = { pkgs, ... }: {