Call of Duty custom clients packaged for NixOS - a Home Manager launcher module that runs Plutonium, t7x, and the AlterWare family under umu-launcher + Proton, each confined in a bubblewrap sandbox with access to only game-related files, and optionally links Plutonium into Steam so it tracks your hours.
| Project | Plutonium (plutonium.pw) + t7x (alterware.dev) - runtime-fetched, self-updating |
| License | Proprietary / third-party clients (packaging is MIT) |
| Tracked | None - the official clients self-update at runtime |
A Nix flake that launches community Call of Duty clients on Linux without hand-rolling a Wine prefix. Launchers:
cod-plutonium- Black Ops 1 (T5), Black Ops 2 (T6), Modern Warfare 3 (IW5), World at War (T4). Fetches the official self-updatingplutonium.exe, bootstraps a Proton prefix with the required winetricks verbs, and launches under umu-launcher.cod-t7x- Black Ops III (T7). Fetches the official self-updatingt7x.exeand runs it against a symlink-farm of your owned retail BO3 install.cod-h1- Modern Warfare Remastered (Aurora h1-mod). Fetches the self-updatingh1-mod.exeand runs it against a symlink-farm of your owned MWR install. Default-off, experimental.cod-h2- MW2 Campaign Remastered (Aurora h2-mod). Self-updatingh2-mod.exeagainst a symlink-farm of your owned MW2CR install. Default-off, experimental.cod-iw5/cod-iw6/cod-s1/cod-iw2- the AlterWare family: Modern Warfare 3 (2011), Ghosts, Advanced Warfare, and Call of Duty 2. Each uses the nativealterware-launcherto update the client into your owned Steam install, then launches it under umu. Default-off and experimental (see Caveats).cod-hmw- Horizon MW (Modern Warfare Remastered mod). Self-updating launcher that downloads the mod into a symlink-farm of your owned MWR install. Default-off, experimental.cod-boiii- BOIII client (Black Ops III). Drop-in self-updating client that runs against a symlink-farm of your owned BO3 install. Default-off, experimental — DXVK rendering is untested on Linux (dedicated-server mode works under Wine).cod-cblauncher- CB Launcher hub that bundles ~17 community clients (Plutonium, BOIII, IW4x, CoD4x, IW6x, S1x, H1/H2-Mod, IW7-Mod, HorizonMW, Project BO4, stock CoD1/UO). It downloads and launches those itself into a folder you grant viacblauncher.gameDirs. Default-off, experimental.cod-steamlink- optional helper that swaps a Steam game's exe for Plutonium so Steam launches it on "Play" and tracks your hours, safely and reversibly.cod-steam-add- optional helper that registers every installed launcher as a Steam non-Steam shortcut (like Heroic's "Add to Steam"), so each shows in Steam, tracks hours, and takes per-shortcut launch options + Proton. Reversible (remove), sandbox preserved.cod-cleanops- optional helper that drops the CleanOpsd3d11.dllinto your owned retail Black Ops III, so launching BO3 through Steam loads CleanOps (cheat-removal + P2P hosting). Set the printedWINEDLLOVERRIDESlaunch option; reversible (--undo).cod-steam-native- registers the set-up clients as Steam shortcuts that run their.exeunder Steam's own Proton (so the Compatibility dropdown works), reusing each client's prepared prefix. Plutonium gets one shortcut per owned game+mode (launches straight in viaplutonium://); sets GE-Proton and fetches official cover art. Reversible (remove).
Every launcher runs inside a bubblewrap sandbox (see Security). The live client binaries are fetched at runtime into a per-client state directory and maintain themselves from their own official servers - the flake never pins, re-hosts, or freezes a game payload. You bring the games: each client mods a copy you legitimately own on Steam.
| Command | Titles | Base game (own on Steam) | Notes |
|---|---|---|---|
cod-plutonium |
BO1, BO2, MW3, WaW | 202970 (BO2), 42700 (BO1), 10090 (WaW), 42750 (free MW3 route) | Standalone umu launcher; point Plutonium at the Steam folder in its UI |
cod-t7x |
BO3 | 311210 (Black Ops III) | Standalone; experimental on Linux (see Caveats) |
cod-h1 |
MWR | 393080 (Modern Warfare Remastered) | Aurora h1-mod; farm + self-updating client; experimental, default-off |
cod-h2 |
MW2CR | MW2 Campaign Remastered (Battle.net; not on Steam) | Aurora h2-mod; set h2.mw2crDir; experimental, default-off |
cod-steamlink |
BO2 (default) + any Plutonium title | as above | Steam hours-tracking via a reversible exe-swap |
cod-steam-add |
all installed launchers | - | Adds each launcher to Steam as a non-Steam shortcut; Proton + launch options per shortcut |
cod-cleanops |
BO3 retail MP | 311210 (Black Ops III) | Drops CleanOps d3d11.dll into owned BO3 (cheat-removal + P2P); launch via Steam |
cod-iw5 |
Modern Warfare 3 (2011) | 115300 | AlterWare; experimental, default-off |
cod-iw6 |
Ghosts | 209160 | AlterWare; experimental, default-off |
cod-s1 |
Advanced Warfare | 209650 | AlterWare; experimental, default-off |
cod-iw2 |
Call of Duty 2 | 2630 | AlterWare; experimental, default-off |
cod-hmw |
MWR | 393080 | Horizon MW; farm + self-updating launcher; experimental, default-off |
cod-boiii |
BO3 | 311210 | BOIII; farm + self-updating client; experimental, default-off |
cod-cblauncher |
17 CoD titles | - | CB Launcher hub; experimental, default-off |
The repo exports homeManagerModules.default. Options:
myModules.home.cod-clients = {
enable = true; # master switch
sandbox = true; # bubblewrap: game-only access (default on)
protonPath = "${pkgs.proton-ge-bin.steamcompattool}"; # default: pinned nixpkgs GE-Proton, or "steam"
desktopEntries = { }; # per-client app-drawer control, e.g. { boiii = false; } to hide one
plutonium = {
enable = true; # cod-plutonium
dotnet = false; # opt-in MW3/IW5 support (installs dotnet472)
extraWinetricks = [ ]; # extra prefix verbs
extraArgs = [ ]; # extra plutonium.exe args (LAN etc.)
};
t7x = {
enable = true; # cod-t7x
blackOps3Dir = ""; # empty = auto-detect from Steam
extraWinetricks = [ ]; # e.g. [ "mf" "mfplat" ] for codec issues
extraArgs = [ ];
};
h1 = { # experimental, default-off
enable = false; # h1-mod (Modern Warfare Remastered)
mwrDir = ""; # empty = auto-detect from Steam (app 393080)
extraWinetricks = [ ]; # extra prefix verbs
extraArgs = [ ];
};
h2 = { # experimental, default-off
enable = false; # h2-mod (MW2 Campaign Remastered, Battle.net-only)
mw2crDir = ""; # required: MW2CR is not on Steam, set it explicitly
extraWinetricks = [ ]; # extra prefix verbs
extraArgs = [ ];
};
alterware = { # experimental, default-off
iw5.enable = false; # Modern Warfare 3 (2011)
iw6.enable = false; # Ghosts
s1.enable = false; # Advanced Warfare
iw2.enable = false; # Call of Duty 2
};
hmw = { # experimental, default-off
enable = false; # Horizon MW (MWR mod)
mwrDir = ""; # empty = auto-detect from Steam (app 393080)
extraWinetricks = [ ]; # extra prefix verbs
extraArgs = [ ];
};
boiii = { # experimental, default-off
enable = false; # BOIII client (BO3)
blackOps3Dir = ""; # empty = auto-detect from Steam (app 311210)
extraWinetricks = [ ]; # e.g. [ "mf" "mfplat" ] for the BO3 codec error
extraArgs = [ ];
};
cblauncher = { # experimental, default-off
enable = false; # CB Launcher hub
gameDirs = [ ]; # writable dirs it may manage games in (RW in sandbox); paste one into its UI
extraWinetricks = [ ]; # extra prefix verbs for a sub-client, e.g. [ "dotnet472" ] or [ "mf" "mfplat" ]
extraArgs = [ ]; # extra cb-launcher.exe args (after the packaged CEF flags)
};
steamAdd.enable = false; # cod-steam-add: non-Steam shortcuts -> sandboxed native launcher
steamNative.enable = false; # cod-steam-native: .exe shortcuts under Steam's Proton (dropdown)
steamLink.enable = false; # cod-steamlink: exe-swap for Plutonium Steam hours
cleanops.enable = false; # cod-cleanops: CleanOps DLL into retail Black Ops III
};protonPathis what umu runs the clients under. The default pins nixpkgs GE-Proton reproducibly (itssteamcompattooloutput). Set it to"steam"to auto-detect the newest Proton in your Steamcompatibilitytools.d(where ProtonPlus installs its builds; the auto-detect skips an aarch64 Proton build on an x86_64 host so a wrongly downloaded arm64 GE-Proton can't be picked), or to a specific Proton path. Three runtime overrides need no rebuild, in priority order:COD_PROTON=<path>for a single launch; a per-client file~/.config/cod-clients/<name>.proton(e.g.cblauncher.proton) to pin one client's Proton; or the global~/.config/cod-clients/proton. Each file holds a Proton path or acompatibilitytools.dtool name, and applies to app-drawer launches too.cod-protonis the friendly picker for those overrides. It is installed only whenprotonPath = "steam"- the route where you have several Protons to choose between; on the default pinned-GE route Proton is fixed, so there is nothing to pick and no picker is added. When present:cod-proton cblauncheropens a menu of your installed Protons - a KDE/GNOME dialog if available, otherwise a numbered terminal list - and writes the right file for you;cod-proton cblauncher autoclears it;cod-protonalone lists your Protons and current overrides. (On the default route, Proton is switched instead through Steam's Compatibility dropdown viasteamNative, or by hand-writing an override file.)plutonium.dotnetaddsdotnet472for MW3/IW5. It is off by default because the install is slow and MW3/IW5 has an unfixed no-cursor bug on NixOS + GE-Proton; BO1/BO2/WaW do not need it.t7x.blackOps3Dirempty auto-detects Black Ops III (app 311210) from Steam - see Store detection.desktopEntriescontrols the app-drawer (.desktop) entry per client: a client absent from the set is shown; set it tofalse(e.g.desktopEntries.boiii = false) to install the launcher without a drawer entry, for Steam-only or CLI-only use.- The Steam helpers (
steamAdd,steamNative,steamLink,cleanops) are individual opt-ins, off by default - enable only the ones you use. Each is a CLI you run manually with Steam closed (see the sections below).
Plutonium runs on non-VAC servers and never touches the retail Steam client, so launching it does not risk a VAC ban - but by default it runs outside Steam, so Steam does not count the time. cod-steamlink wires it into Steam the way the community does it: it renames a game's launch exe and drops plutonium.exe in its place, so Steam's "Play" opens Plutonium and tracks the hours under that game.
cod-steamlink # default: Black Ops II (app 202970, t6mp.exe)
cod-steamlink --appid N --exe NAME # a different title/exe
cod-steamlink --undo # restore the original exeIt resolves the game directory (see below), backs up the original exe to <exe>.cod-orig, copies in the fetched plutonium.exe, marks it read-only, and prints the one command you run yourself to make it survive Steam auto-updates:
sudo chattr +i "<path>/t6mp.exe"--undo restores the backup. Because Plutonium's launcher lets you pick any title, one swap (e.g. Black Ops II) is enough to track all your Plutonium hours under that game.
cod-steam-add registers every installed cod-* launcher as a non-Steam shortcut - the Heroic-style "Add to Steam", done for you:
cod-steam-add # add all installed launchers (close Steam first)
cod-steam-add list # show which are registered
cod-steam-add remove # remove them againClose Steam before adding (it rewrites shortcuts.vdf on exit); the helper backs up that file, only ever touches its own tagged entries, and never clobbers your other shortcuts. Restart Steam afterwards.
Each shortcut points at the launcher - so it keeps the bubblewrap sandbox, the winetricks prefix, and the runtime client-fetch. That means Proton is chosen per shortcut in Steam's Launch Options, not the Compatibility dropdown: Steam's forced-Proton only drives a raw Windows .exe and would break a native launcher script. Set a specific Proton with COD_PROTON=/path/to/proton %command% in the shortcut's Launch Options (or leave it to protonPath). Launch options and Steam playtime work as normal.
cod-steam-native is the other side of that trade-off: instead of the native launcher (where the Compatibility dropdown can't apply), it registers each client's Windows .exe so Steam runs it under its own Proton and the dropdown works. It reuses each client's already-prepared prefix - so Plutonium keeps its winetricks verbs - via STEAM_COMPAT_DATA_PATH, sets your newest GE-Proton as the default compat tool, and fetches official cover/hero/logo art.
# run each client once first so its prefix + .exe exist, then with Steam closed:
cod-steam-native # add per-mode Plutonium + t7x/h1/h2 shortcuts
cod-steam-native list
cod-steam-native removePlutonium gets one shortcut per owned game+mode (Black Ops II Multiplayer, Zombies, World at War, ...), each labeled with its own cover art and Steam hours. Each passes plutonium://play/<code> as a best-effort direct-launch; Plutonium's launcher may still open for you to pick the title/mode (the per-mode protocol launch is not confirmed to work under Proton - verify on first run). The bubblewrap sandbox does not apply on this path (Steam runs the .exe directly) - use the standalone cod-* launchers when you want the sandbox.
cod-t7x and cod-steamlink locate your games from Steam's own metadata, so a game on any drive is found. They scan every Steam install layout - native (~/.steam/steam, ~/.local/share/Steam), Flatpak (~/.var/app/com.valvesoftware.Steam), and Snap (~/snap/steam) - and read each one's steamapps/libraryfolders.vdf to follow moved and additional library folders to the app's appmanifest_<id>.acf. If detection ever misses, pass an explicit path (t7x.blackOps3Dir, or cod-steamlink --dir).
Every launcher runs inside a bubblewrap sandbox (myModules.home.cod-clients.sandbox, default on). Because these are closed-source binaries fetched from third-party CDNs, the sandbox exposes only what a game needs: your Steam library game files (read-only), the client's own prefix and state (read-write), /nix/store, and GPU/audio/input/display/network. Each Steam library's steamapps/shadercache is overlaid with a writable per-client directory - the Steam client library and mesa write their appid-scoped shader cache there instead of failing on the read-only library (and never touch your real Steam state). It hides $HOME and every unrelated file, and nests inside umu's own Steam Runtime container. Set COD_SANDBOX=0 in the environment to bypass it for a single launch (for debugging).
Per-title behavior on Wayland desktops, from tested setups rather than folklore.
The launcher seeds CB's per-game launch options (launchOptions), installs
per-prefix winetricks, and applies per-exe environment defaults; anything listed
as an in-game setting cannot be packaged and is set once in the game's menu.
| Game | Packaged | In-game / notes |
|---|---|---|
| Advanced Warfare (s1x) | Rerouted prefix defaults to the Wayland recipe: PROTON_USE_WAYLAND=1 PROTON_USE_SDL=1; pair it with a Proton that implements the Wayland toggle (proton-cachyos) |
Display mode Borderless avoids the exclusive-fullscreen freeze class |
| Ghosts (iw6x) | configFiles enforces r_displayMode "windowed (no border)" on the primary monitor plus the menu-mouse routing and the frame cap in players2 configs |
Borderless sidesteps the exclusive-fullscreen display switching behind the multi-monitor crash and alt-tab kill |
| CoD4 (iw3mp via CoD4X) | rerouted prefix gets the frame cap; shared runtime fixed the join-time crash class | raw_input 1 and resolution = display resolution if the cursor sticks to an edge; competitive fps points are 125/250/333 |
| WaW / BO1 / BO2 (Plutonium) | raw_input "1" seeded into the T5/T6 player configs (the canonical Plutonium mouse fix); frame cap via CB launch options, and as DXVK_FRAME_RATE on the standalone client (mouse speed is FPS-coupled) |
BO1: r_dof_enable 0 fixes the ADS blur; keep fps caps at or under 165 there if mouse feel degrades |
| CoD2 | none by default | PROTON_NO_ESYNC=1 is load-bearing if it black-screens after the menu |
| MW3 (iw5 via Plutonium) | none needed to launch | vid_restart in the console revives the menu mouse; Mouse Smoothing on and Vsync off correct the feel; keep mouse polling at or under 500 Hz |
| Black Ops III (boiii) | steam client sync is automatic; via CB the packaged launch options default to -nosteam (Steam is an optional sidecar for BOIII - without a reachable running Steam its client library fatally asserts) |
Use Borderless Fullscreen; exclusive fullscreen misbehaves on alt-tab |
| CoD1 / United Offensive (stock, via CB) | the CB prefix sets PROTON_OLD_GL_STRING=1 (the curated Proton fix for the old-GL-extension-string crash class; inert for the D3D titles sharing the prefix) |
- |
| CB Launcher dropdowns | not fixable client-side | KWin XWayland popup handling (KDE bug 516450), unfixed upstream |
The frame cap (maxFps, derived from the host's declared displays, 237 on a
240 Hz panel) is injected wherever com_maxfps verifiably lands: launch
options for the arg-consuming CB games, default arguments for rerouted
prefixes, and Ghosts' config files. Black Ops III caps at 250 in its own menu
and Black Ops 4 exposes no verified cap surface; both stay manual settings.
Raw-input starvation under XWayland (frozen or escaping cursors in this game family) is fixed upstream by wine 11.13's focus-gated raw input; Proton builds rebased on it retire the per-game workarounds above.
- You must own the games on Steam. These launchers mod games you own; they do not provide the base game.
- t7x / BO3 is experimental on Linux: upstream does not test Linux and there are reports of a GStreamer/Media-Foundation codec error under Proton with no confirmed fix. If you hit it, try
t7x.extraWinetricks = [ "mf" "mfplat" ]. - The AlterWare family is experimental: its Linux launch is unverified end-to-end and the iw4x/iw2 client exe names are inferred. Enable per-game, own the base game, and expect to verify (and possibly adjust) on first run.
- Plutonium online play needs a free Plutonium forum account and the latest revision (the client self-updates to it).
- Horizon MW builds a farm of your owned MWR install and runs the official launcher from it; the launcher self-updates and downloads mod files into the farm on first run. Needs the .NET 8 Desktop Runtime and VC++ 2022 in the prefix (installed automatically via the
dotnetdesktop8andvcrun2022winetricks verbs). - BOIII is a community fork of the BOIII client. The DXVK rendering path is unverified on Linux; it may only work in dedicated-server mode under Wine. Report rendering issues to upstream.
- CB Launcher is a hub for many community clients, so it overlaps the individual
cod-*clients and adds titles they do not cover (MW2 via IW4x, CoD4 via CoD4x, CoD1/UO, Infinite Warfare, BO4). It writes client and game files INTO the folder you point it at, so setcblauncher.gameDirsto a writable location and paste that path into its UI (its Browse button is disabled under Wine, so you type the path). It deletes a game dir'sd3d11.dllbefore launch, so do not point it at a retail Black Ops III thatcod-cleanopshas patched.
Add as a flake input:
{
inputs.cod-clients = {
url = "github:Daaboulex/cod-clients-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
}# 1. flake input (above), then wire the module into the host:
home-manager.sharedModules = [ inputs.cod-clients.homeManagerModules.default ];
# 2. enable it in the host HM config:
myModules.home.cod-clients = {
enable = true;
plutonium.enable = true;
t7x.enable = true;
};After a rebuild the launcher commands (cod-plutonium, cod-t7x, cod-steamlink, cod-steam-add) are on your PATH and in your application menu.
Run each launcher from a terminal the first time - you see the setup progress and any errors. The first launch of a client is slow and one-time: it downloads umu's Steam Runtime, builds the Wine prefix, and fetches the client; later launches are fast.
cod-plutonium - Black Ops 1/2, World at War (MW3/IW5 needs plutonium.dotnet):
cod-plutoniumFirst run fetches plutonium.exe, installs the prefix verbs (a few minutes), then opens Plutonium's launcher. In it: log in with your free Plutonium forum account, point it at your Steam game folder, pick a title, and play. Start with BO1/BO2/WaW - MW3/IW5 is best-effort (see Caveats).
cod-t7x - Black Ops III:
cod-t7xAuto-detects your owned BO3 install, builds the symlink farm, fetches t7x, and launches it. Experimental on Linux; if you hit the codec error, set t7x.extraWinetricks = [ "mf" "mfplat" ] and rebuild.
For Steam integration - hours, launch options, per-shortcut Proton - see Add to Steam and Steam hours-tracking. To switch Proton for a single run without a rebuild, prefix the command:
COD_PROTON=~/.steam/steam/compatibilitytools.d/GE-Proton10-34 cod-plutonium- First launch seems to hang - it is downloading the umu runtime and building the prefix (Plutonium's verb install takes several minutes). Run from a terminal to watch; it happens once per client.
no valid Proton ...-protonPathis not a directory containing aprotonscript. The default is fine; if you set it, point at a.../GE-Proton*/dir, useprotonPath = "steam", orCOD_PROTON=<path>.- A client works only with
COD_SANDBOX=0- the sandbox is missing a bind the game needs;COD_SANDBOX=0 cod-<client>is the interim bypass. Please report it. - "Steam must be installed for the game to run", or BO3 says "launching" then nothing happens (BOIII, t7x, CB Launcher's BO3) - the boiii-lineage clients gate on the prefix's
HKLM\Software\Wow6432Node\Valve\SteamInstallPathregistry value plus asteam.exeat that path, AND theirsteam_proxyloadssteamclient64.dllfrom there to build a Steam context (a missing DLL makes it hang after the gate passes). The launcher syncs all of it into every prefix: the registry value, and the realsteamclient64.dll+GameOverlayRenderer64.dll+steam.execopied from your installed Steam client'slegacycompat/directory (the same source and file set Proton uses). The copies are signature-tracked against the source files, so a Steam client self-update re-syncs the prefix on the next launch instead of leaving stale DLLs behind. This needs the Steam client installed - a Steam-less host prints a clear message and only these clients are affected. - BO3 via CB Launcher dies right after "Launching boiii.exe" with a Valve
pipes.cpp"fatal stalled cross-thread pipe" assert - that is Valve's steamclient library failing to reach a running, logged-in Steam client. BOIII treats Steam as an optional sidecar (its server auth and CB's presence/joins never use Steam), so the packaged default seeds-nosteaminto CB's BO3 launch options and the Valve library is never loaded. You lose only the Steam overlay and live workshop sync; setcblauncher.launchOptions.bo3 = ""to restore the Steam integration attempt. - A microphone icon flashes in the system tray at every launch (KDE Plasma) - that is Plasma's microphone-in-use privacy indicator (
plasmashell_microphone), not a launcher tray icon: game audio engines and CEF launchers open brief audio-capture probes while initializing (capture itself is legitimate - in-game voice chat uses it), and Plasma registers/removes the indicator for each short-lived stream (measured: 45 registrations during one CB Launcher start). It is desktop UX, not a launcher defect. To stop the strobe, move the Microphone entry to the hidden area: System Tray settings -> Entries -> Microphone -> Always hidden, or declaratively with plasma-manager:systemTray.items.hidden = [ "plasmashell_microphone" ](it stays inspectable in the tray popup). - CB Launcher dropdowns (language, etc.) do not appear - CEF
<select>popups are separate native windows Wine has historically failed to paint (WineHQ bug 33943). The launcher forces software compositing (--disable-gpu --disable-gpu-compositing, on top of--in-process-gpu), the standard CEF-under-Wine cure, which costs nothing for a launcher UI. If a dropdown still misbehaves, the popup usually exists but is unpainted: hover/sweep the mouse where the options would be, or use the arrow keys + Enter. - t7x/BOIII: black screen or a "Media Feature Pack"/codec error - on GE-Proton 11 the video stack is FFmpeg-based and the old
mf/mfplatcodec verbs are legacy; if intro/menu videos still hang, delete the game directory'svideos/folder. A black screen WITH audio on a host with many audio devices is a different class - add[ "sound=alsa" ]to that client'sextraWinetricks(the same fix Steam's protonfixes applies to retail BO3). On older Protons[ "mf" "mfplat" ]remains the codec remedy. - Game not found - detection reads Steam's
libraryfolders.vdf; for an unusual install passt7x.blackOps3Dir = "/path"orcod-steamlink --dir /path. See Store detection. - Interrupted download - fetches use
--remove-on-error, so just re-run the launcher.
nix develop # dev shell (git hooks + nil LSP)
nix fmt # format Nix (nixfmt-rfc-style)
nix build .#cod-plutonium
nix build .#cod-t7x
nix build .#cod-steamlink
nix flake check # eval + build + std-conformance + module eval| Workflow | Trigger | Purpose |
|---|---|---|
ci.yml |
Push/PR | Eval, format, build every declared output |
maintenance.yml |
Weekly | Refresh flake.lock, prune stale branches |
All GitHub Actions are pinned to full commit SHAs, synced from the Nix Packaging Standard.
Maintained as part of the Daaboulex NixOS ecosystem.