{ flake, modulesPath, config, ... }: let inherit (flake) inputs; inherit (inputs) self; in { imports = [ self.nixosModules.default "${modulesPath}/virtualisation/lxc-container.nix" ]; # sample way to make a directory # systemd.tmpfiles.rules = [ # "d /var/lib/myapp 0755 myuser mygroup -" # ]; # read more options here # https://search.nixos.org/options?channel=25.05&show=virtualisation.oci-containers.containers.%3Cname%3E.workdir&from=0&size=50&sort=relevance&type=packages&query=oci+containers # https://wiki.nixos.org/wiki/NixOS_Containers services.yggdrasil.persistentKeys = false; virtualisation.podman.enable = true; virtualisation.oci-containers.containers = { arma = { image = "ghcr.io/acemod/arma-reforger:latest"; ports = [ "2001:2001/udp" "17777:17777/udp" "19999:19999/udp" ]; volumes = [ # make sure this is a path that exists # my recomendation is to use /var/lib/reforger # be sure to have that directory created "/var/lib/reforger/configs:/reforger/Configs" "/var/lib/reforger/profile:/home/profile" "/var/lib/reforger/workshop:/reforger/workshop" ]; environment = { SERVER_PUBLIC_ADDRESS = "public-ip"; GAME_NAME = "My Docker Reforger Server"; }; }; }; deploy = { enable = false; }; networking = { hostName = "arma-reforger-tofu"; }; environment.systemPackages = [ ]; system.stateVersion = "25.05"; }