39 lines
1.1 KiB
Nix
39 lines
1.1 KiB
Nix
{
|
|
description = "A Nix framework for configuring Team Fortress 2";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = { self, ... }@inputs:
|
|
let
|
|
# keep it as an attrset arg for future expandability
|
|
mkTf2Pkgs = { pkgs }: import ./tf2/packages { inherit pkgs; };
|
|
in
|
|
inputs.flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import inputs.nixpkgs { inherit system; };
|
|
inherit (pkgs) lib;
|
|
tf2Pkgs = mkTf2Pkgs { inherit pkgs; };
|
|
in {
|
|
legacyPackages = tf2Pkgs;
|
|
packages = lib.mergeAttrsList (lib.flip map [
|
|
[]
|
|
[ "huds" ]
|
|
[ "maps" ]
|
|
[ "mastercomfig" "addons" ]
|
|
[ "mastercomfig" "presets" ]
|
|
] (attrPath:
|
|
lib.pipe tf2Pkgs [
|
|
(lib.getAttrFromPath attrPath)
|
|
(lib.filterAttrs (_: v: lib.isDerivation v))
|
|
(lib.mapAttrs' (k: v: lib.nameValuePair (lib.concatStringsSep "_" (attrPath ++ [k])) v))
|
|
]
|
|
));
|
|
})
|
|
// {
|
|
lib = { inherit mkTf2Pkgs; };
|
|
};
|
|
}
|