109 lines
2.8 KiB
Nix
109 lines
2.8 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
modpack = pkgs.fetchPackwizModpack {
|
|
url = "https://git.malice.zone/alisceon/tfcpack/-/raw/main/pack.toml";
|
|
packHash = "";
|
|
};
|
|
in
|
|
{
|
|
security.sudo.wheelNeedsPassword = false;
|
|
imports =
|
|
[ ./hardware-configuration.nix ];
|
|
networking.hostName = "tesla-nixos";
|
|
boot.initrd.enable = true;
|
|
boot.loader = {
|
|
systemd-boot = {
|
|
enable = true;
|
|
}; # end loader.systemd-boot
|
|
}; # end boot
|
|
environment.systemPackages = with pkgs; [
|
|
tmux
|
|
]; # end environment.systemPackages
|
|
virtualisation.podman.dockerCompat = false;
|
|
virtualisation.docker = {
|
|
enable = true;
|
|
autoPrune = {
|
|
enable = true;
|
|
dates = "daily";
|
|
};
|
|
daemon.settings = {
|
|
"runtimes" = {
|
|
crun = { path = "${pkgs.crun}/bin/crun"; };
|
|
};
|
|
"default-runtime" = "crun";
|
|
};
|
|
};
|
|
networking.firewall.allowedTCPPorts = [
|
|
8100 #bluemap
|
|
];
|
|
|
|
services.minecraft-servers = {
|
|
enable = true;
|
|
#managementSystem.systemd-socket.enable = true;
|
|
eula = true;
|
|
openFirewall = true;
|
|
servers.tfcpack = {
|
|
enable = true;
|
|
package = pkgs.neoforgeServers.neoforge-1_21_1-21_1_219;
|
|
autoStart = true;
|
|
serverProperties = {
|
|
"motd" = "TFC Pack - Tesla Nixos";
|
|
"max-players" = "20";
|
|
"view-distance" = "32";
|
|
"level-type" = "tfc\:overworld";
|
|
"spawn-protection" = "0";
|
|
"max-tick-time" = "-1";
|
|
};
|
|
jvmOpts = [
|
|
"-Xmx24G"
|
|
"-Xms24G"
|
|
"-XX:+UseZGC"
|
|
"-XX:+ZGenerational"
|
|
];
|
|
symlinks = {
|
|
"mods" = "${modpack}/mods";
|
|
}; # end symlinks
|
|
files = {
|
|
"config/bluemap/core.conf" = "${modpack}/config/bluemap/core.conf";
|
|
};# end symlinks
|
|
}; # end servers.tfcpack
|
|
}; # end services.minecraft-servers
|
|
|
|
users.users.gitlab-runner = {
|
|
isNormalUser = true;
|
|
home = "/var/lib/gitlab-runner";
|
|
createHome = true;
|
|
shell = pkgs.bashInteractive;
|
|
extraGroups = [ "docker" "wheel" ];
|
|
group = "gitlab-runner";
|
|
};
|
|
users.groups.gitlab-runner = { };
|
|
users.groups.docker = { };
|
|
systemd.services."enable-linger-gitlab-runner" = {
|
|
description = "Enable linger for gitlab-runner";
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
ExecStart = "${pkgs.systemd}/bin/loginctl enable-linger gitlab-runner";
|
|
RemainAfterExit = true;
|
|
};
|
|
};
|
|
|
|
# GitLab Runner configured to use the local Docker daemon
|
|
services.gitlab-runner = {
|
|
enable = true;
|
|
services = {
|
|
ci-nspawn-docker = {
|
|
authenticationTokenConfigFile = "/var/lib/gitlab-runner/token-env";
|
|
executor = "docker";
|
|
dockerImage = "alpine:3";
|
|
dockerPrivileged = true;
|
|
dockerVolumes = [
|
|
"/var/lib/gitlab-runner/cache:/cache"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
} # end file
|
|
|