Files
tf2-nix/flake.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; };
};
}