mirror of
https://codeberg.org/spire/nix.git
synced 2026-08-02 12:25:00 +02:00
118 lines
3.4 KiB
Nix
118 lines
3.4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-26.05";
|
|
flakelight = {
|
|
url = "github:nix-community/flakelight";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
steam-fetcher = {
|
|
url = "github:nix-community/steam-fetcher";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
flakelight,
|
|
steam-fetcher,
|
|
...
|
|
}: let
|
|
inherit (builtins) listToAttrs map;
|
|
inheritPkgs = names:
|
|
listToAttrs (map (name: {
|
|
inherit name;
|
|
value = {pkgs, ...}: pkgs.${name};
|
|
})
|
|
names);
|
|
in
|
|
flakelight ./. {
|
|
nixpkgs.config = {allowUnfree = true;};
|
|
|
|
systems = ["x86_64-linux" "i686-linux"];
|
|
withOverlays = [
|
|
steam-fetcher.overlay
|
|
(import ./nix/overlay.nix)
|
|
];
|
|
|
|
formatters = pkgs:
|
|
with pkgs; {
|
|
"*.nix" = pkgs.lib.getExe alejandra;
|
|
};
|
|
|
|
perSystem = pkgs: {
|
|
sourcemods = pkgs.lib.mapAttrs (name: sdk: pkgs.sourcemod-builder {${name} = sdk;}) pkgs.hl2sdk;
|
|
metamods = pkgs.lib.mapAttrs (name: sdk: pkgs.metamod-source-builder {${name} = sdk;}) pkgs.hl2sdk;
|
|
hl2sdk = pkgs.hl2sdk;
|
|
steam-depots = pkgs.steam-depots;
|
|
};
|
|
|
|
packages =
|
|
inheritPkgs [
|
|
"ambuild"
|
|
"sourcepawn"
|
|
"sourcemod"
|
|
"sourcemod-includes"
|
|
"sourcemod-include-curl"
|
|
"sourcemod-include-library"
|
|
"sourcemod-include-steamworks"
|
|
"srcds-tf2"
|
|
"srctvplus"
|
|
"sourcemod-addon-curl"
|
|
"sourcemod-addon-steamworks"
|
|
"sourcemod-addon-socket"
|
|
"sourcemod-plugin-soap-tf2dm"
|
|
"sourcemod-plugin-progressive-ruleset-timer"
|
|
"sourcemod-plugin-tf2-comp-fixes"
|
|
"sourcemod-plugin-mapdownloader"
|
|
"sourcemod-plugin-whitelist"
|
|
"sourcemod-plugin-nocheats"
|
|
"sourcemod-plugin-nochat"
|
|
"sourcemod-plugin-autoexec"
|
|
"sourcemod-plugin-sdrconnect"
|
|
"sourcemod-plugin-setteam"
|
|
"sourcemod-plugin-banned"
|
|
"sourcemod-plugin-who"
|
|
"sourcemod-plugin-afk"
|
|
]
|
|
// {
|
|
test = pkgs:
|
|
pkgs.srcds-tf2.customize {
|
|
cfg = {
|
|
hostname = "Spire Server";
|
|
};
|
|
sourcemod = true;
|
|
plugins = with pkgs; [
|
|
sourcemod-plugin-soap-tf2dm
|
|
srctvplus
|
|
];
|
|
};
|
|
testScript = pkgs:
|
|
pkgs.buildSourcePawnScript {
|
|
name = "test";
|
|
src = pkgs.fetchurl {
|
|
url = "https://codeberg.org/spire/nocheats/raw/commit/5e0e21c241fdf8907d83d9bcf3cce37711b83d14/plugin/nocheats.sp";
|
|
sha256 = "sha256-Z3RJhuc9c8YQTo9gnLTBrqL4JpADZgDttrJVyE/MWdM=";
|
|
};
|
|
};
|
|
spEnv = pkgs:
|
|
pkgs.sourcepawn.buildEnv (with pkgs; [
|
|
sourcemod-includes
|
|
sourcemod-addon-socket
|
|
]);
|
|
};
|
|
|
|
checks = {
|
|
buildTestScript = {pkgs, ...}:
|
|
pkgs.buildSourcePawnScript {
|
|
name = "test";
|
|
src = pkgs.fetchurl {
|
|
url = "https://codeberg.org/spire/nocheats/raw/commit/5e0e21c241fdf8907d83d9bcf3cce37711b83d14/plugin/nocheats.sp";
|
|
sha256 = "sha256-Z3RJhuc9c8YQTo9gnLTBrqL4JpADZgDttrJVyE/MWdM=";
|
|
};
|
|
};
|
|
};
|
|
|
|
devShells.default = {pkgs, ...}: {
|
|
packages = with pkgs; [nix-update depotdownloader];
|
|
};
|
|
};
|
|
}
|