Files
tf2-nix/tf2/packages/default.nix
Madeleine Sydney e40d152489 init
2025-04-10 03:38:38 -06:00

43 lines
966 B
Nix

{ pkgs, lib }:
let
mkTf2Config = pkgs.callPackage ../mkTf2Config.nix {};
fetchFromGameBanana =
{ id
, hash
}:
pkgs.fetchzip {
url = "https://gamebanana.com/dl/${id}";
extension = "zip";
inherit hash;
};
mkCfg = name: body:
pkgs.runCommand name {} ''
${lib.toShellVar "name" name}
mkdir -p $out/cfg "$(dirname "$out/cfg/$name")"
tee "$out/cfg/$name.cfg" << SUPER_UNIQUE_EOF
// Generated by tf2.nix
${body}
SUPER_UNIQUE_EOF
'';
mergeTf2Configs = configs:
pkgs.symlinkJoin {
name = "merged-tf2-config";
paths = configs;
};
extra-args = {
inherit mkTf2Config fetchFromGameBanana mkCfg mergeTf2Configs;
};
in lib.mergeAttrsList [
extra-args
{ mastercomfig = pkgs.callPackage ./mastercomfig.nix extra-args; }
(pkgs.callPackage ./huds.nix extra-args)
(pkgs.callPackage ./misc.nix extra-args)
(pkgs.callPackage ./scripts.nix extra-args)
]