aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5d0f767
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+### /!\ ALART /!\ ALPHA PROOF OF CONCEPT /!\ ALART /!\
+
+Currently the SM/MMS side of things builds exclusively against SDK 2013
+Multiplayer. Accordingly, there are some underlying 32-bit assumptions.
+
+srcds-nix
+=========
+
+This is a Nix package set and library for Source Engine dedicated servers.
+It currently features:
+
+* fetchers for Steam content: `fetchDepotCache`, `fetchDepotFile`, `mkDepot`
+ * Courtesy of a patched DepotDownloader, derivations are fixed-output on the
+ contents of deterministic manifests, then on the SHA1 hashes within.
+ * This is quite distinct from the usual `steamcmd` approach, but yields a
+ far more reproducible server environment. Additionally, the network traffic
+ between `lib.fakeHash` and TOFU is measured in kilobytes, not potential
+ gigabytes as with [steam-fetcher].
+* AMBuild
+* MetaMod: Source
+* SourceMod
+ * a standard extensible package set for plugins and extensions, including:
+ * `mkDerivation` analogue: `buildSMPlugin`
+ * setup hook for `spcomp` include paths
+ * coming soon: development shells to replicate your server setup
+
+Usage
+-----
+
+* `default.nix` lets you `callPackage` this repository the old-fashioned way
+ to get the top-level package set.
+* `overlay.nix` adds it as `srcdsPackages` to the target. `srcdsPackages` is
+ considered its canonical place in nixpkgs.
+* `flake.nix` exposes:
+ * `packages.${system}.default` is the top-level package set.
+ * `overlays.default` points to `overlay.nix`.
+
+[steam-fetcher]: https://github.com/nix-community/steam-fetcher