package all f2 sourcemod plugins

This commit is contained in:
Robin Appelman 2026-07-10 20:44:09 +02:00
commit 0a6beedf7b
5 changed files with 54 additions and 29 deletions

View file

@ -71,9 +71,18 @@
"sourcemod-plugin-setteam"
"sourcemod-plugin-banned"
"sourcemod-plugin-who"
"sourcemod-plugin-afk"
"sourcemod-plugin-demostf"
"sourcemod-plugin-properpregame"
"sourcemod-plugin-afk"
"sourcemod-plugin-classwarning"
"sourcemod-plugin-fixstvslot"
"sourcemod-plugin-logstf"
"sourcemod-plugin-medicstats"
"sourcemod-plugin-pause"
"sourcemod-plugin-recordstv"
"sourcemod-plugin-restorescore"
"sourcemod-plugin-supstats2"
"sourcemod-plugin-waitforstv"
]
// {
test = pkgs:
@ -83,9 +92,7 @@
};
sourcemod = true;
plugins = with pkgs; [
sourcemod-plugin-soap-tf2dm
sourcemod-plugin-properpregame
srctvplus
sourcemod-plugin-logstf
];
};
testScript = pkgs:

View file

@ -1,5 +0,0 @@
{mkF2Plugin}:
mkF2Plugin (finalAttrs: {
pname = "sourcemod-plugin-afk";
name = "afk";
})

View file

@ -0,0 +1,12 @@
[
{ "name": "afk" },
{ "name": "classwarning" },
{ "name": "fixstvslot" },
{ "name": "logstf", "runtimeInputs": ["sourcemod-addon-steamworks"] },
{ "name": "medicstats" },
{ "name": "pause" },
{ "name": "recordstv" },
{ "name": "restorescore" },
{ "name": "supstats2" },
{ "name": "waitforstv" }
]

View file

@ -1,20 +1,29 @@
final: prev: {
mkSourcemodPlugin = final.callPackage ./builder/plugin.nix {};
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
mkF2Plugin = final.callPackage ./builder/f2-plugin.nix {};
sourcemod-plugin-soap-tf2dm = final.callPackage ./soap-tf2dm.nix {};
sourcemod-plugin-progressive-ruleset-timer = final.callPackage ./progressive-ruleset-timer.nix {};
sourcemod-plugin-tf2-comp-fixes = final.callPackage ./tf2-comp-fixes.nix {};
sourcemod-plugin-mapdownloader = final.callPackage ./mapdownloader.nix {};
sourcemod-plugin-whitelist = final.callPackage ./whitelist.nix {};
sourcemod-plugin-nocheats = final.callPackage ./nocheats.nix {};
sourcemod-plugin-nochat = final.callPackage ./nochat.nix {};
sourcemod-plugin-autoexec = final.callPackage ./autoexec.nix {};
sourcemod-plugin-sdrconnect = final.callPackage ./sdrconnect.nix {};
sourcemod-plugin-setteam = final.callPackage ./setteam.nix {};
sourcemod-plugin-banned = final.callPackage ./banned.nix {};
sourcemod-plugin-who = final.callPackage ./who.nix {};
sourcemod-plugin-afk = final.callPackage ./afk.nix {};
sourcemod-plugin-demostf = final.callPackage ./demostf.nix {};
sourcemod-plugin-properpregame = final.callPackage ./properpregame.nix {};
}
final: prev: let
inherit (prev.lib) listToAttrs map importJSON;
in
{
mkSourcemodPlugin = final.callPackage ./builder/plugin.nix {};
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
mkF2Plugin = final.callPackage ./builder/f2-plugin.nix {};
sourcemod-plugin-soap-tf2dm = final.callPackage ./soap-tf2dm.nix {};
sourcemod-plugin-progressive-ruleset-timer = final.callPackage ./progressive-ruleset-timer.nix {};
sourcemod-plugin-tf2-comp-fixes = final.callPackage ./tf2-comp-fixes.nix {};
sourcemod-plugin-mapdownloader = final.callPackage ./mapdownloader.nix {};
sourcemod-plugin-whitelist = final.callPackage ./whitelist.nix {};
sourcemod-plugin-nocheats = final.callPackage ./nocheats.nix {};
sourcemod-plugin-nochat = final.callPackage ./nochat.nix {};
sourcemod-plugin-autoexec = final.callPackage ./autoexec.nix {};
sourcemod-plugin-sdrconnect = final.callPackage ./sdrconnect.nix {};
sourcemod-plugin-setteam = final.callPackage ./setteam.nix {};
sourcemod-plugin-banned = final.callPackage ./banned.nix {};
sourcemod-plugin-who = final.callPackage ./who.nix {};
sourcemod-plugin-demostf = final.callPackage ./demostf.nix {};
sourcemod-plugin-properpregame = final.callPackage ./properpregame.nix {};
}
// listToAttrs (map (info: {
name = "sourcemod-plugin-${info.name}";
value = final.mkF2Plugin {
name = info.name;
runtimeInputs = map (input: final.${input}) (info.runtimeInputs or []);
};
}) (importJSON ./f2.json))

View file

@ -21,6 +21,8 @@ def main [] {
# nix-update --flake --use-update-script sourcemod-includes
list_plugins | each {|plugin| nix-update --flake --use-update-script $"sourcemod-plugin-($plugin)"}
# all F2 plugins are updated in one go
nix-update --flake --use-update-script sourcemod-plugin-afk
nix fmt
}