Add astral

This commit is contained in:
muon 2024-07-13 10:39:31 +00:00
parent c93f124c6f
commit 22390d5456
11 changed files with 188 additions and 12 deletions

View file

@ -9,6 +9,5 @@
pavucontrol
];
programs.mpv.enable = true;
};
}

View file

@ -6,7 +6,7 @@
home.packages = with pkgs; [
# ISO downloader
qbittorrent
transmission-gtk
# transmission_4-gtk
# email
thunderbird

View file

@ -5,6 +5,7 @@
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/${config.mods.user.name}/.config/home";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings = {
substituters = [

View file

@ -1,6 +1,7 @@
{ pkgs, lib, ... }: {
imports = [
./containers
./gaming
./media.nix
];

View file

@ -0,0 +1 @@
memory: "-Xms${memory} -Xmx${memory} -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1"

View file

@ -0,0 +1,36 @@
{ pkgs, lib, config, inputs, ... }:
let
modpack = pkgs.fetchPackwizModpack {
# version = "main";
url = "https://github.com/nix-astral/create-astral/raw/main/pack.toml";
packHash = "sha256-QcUg4PRxgGdQIB5d+XnJCmhh6+r/zDtWRFSTkSOR1ik=";
manifestHash = "sha256:0kcwbj2f9h30v8kwxhaxzzs2gi3bydzmjgxb2ysf8jv1av1l21n3";
};
mcVersion = modpack.manifest.versions.minecraft;
fabricVersion = modpack.manifest.versions.fabric;
serverVersion = lib.replaceStrings [ "." ] [ "_" ] "fabric-${mcVersion}";
in {
options.mods.server.astral = {
enable = lib.mkEnableOption {
default = false;
description = "enables minecraft create astral server";
};
};
config = lib.mkIf config.mods.server.astral.enable {
services.minecraft-servers.servers.astral = {
enable = true;
jvmOpts = (import ./aikar-flags.nix) "4G";
package = pkgs.fabricServers.${serverVersion}.override {
loaderVersion = fabricVersion;
};
symlinks = {
"global_packs" = "${modpack}/global_packs";
"kubejs" = "${modpack}/kubejs";
"config" = "${modpack}/config";
"mods" = "${modpack}/mods";
};
};
};
}

View file

@ -0,0 +1,16 @@
{ pkgs, lib, config, ... }: {
options.mods.server.gaming = {
enable = lib.mkEnableOption {
default = false;
description = "enables gaming servers";
};
};
imports = [
./astral.nix
];
config = lib.mkIf config.mods.server.gaming.enable {
mods.server.astral.enable = true;
};
}

View file

@ -9,11 +9,13 @@ in {
imports = [
./steam.nix
./nvidia.nix
./minecraft.nix
];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) (
(mkPackages "steam") ++
(mkPackages "minecraft") ++
(mkPackages "nvidia")
);
}

View file

@ -0,0 +1,33 @@
{ pkgs, lib, config, inputs, ... }: {
options.mods.unfree.minecraft = {
enable = lib.mkEnableOption {
default = false;
description = "enables minecraft";
};
packages = lib.mkOption {
default = [
"minecraft-server"
];
description = "unfree packages";
};
};
imports = [
inputs.nix-minecraft.nixosModules.minecraft-servers
];
config = lib.mkIf config.mods.unfree.minecraft.enable {
nixpkgs.overlays = [
inputs.nix-minecraft.overlay
];
environment.systemPackages = with pkgs; [
prismlauncher
];
services.minecraft-servers = {
enable = true;
eula = true;
};
};
}