Skip to content

Spack-related repositories

What each repo actually holds, so you can tell them apart at a glance. All are Apache-2.0 unless noted.

DUNE-maintained

dune-spack-config

Core Spack configuration: config.yaml (general Spack settings), packages.yaml (external/preferred packages), repos.yaml (which package repositories Spack should pull recipes from). This is the base layer everything else builds on — start here to see what Spack itself is configured to know about. See the Configuration reference for what each file actually pins.

dune-spack-envs

Spack environment definitions — the actual sets of packages installed together for a given purpose, split into dune-development/ and dune-workflow/ directories, plus its own packages.yaml. Use this to see or change what's installed in a specific DUNE Spack environment, as opposed to Spack's general configuration (dune-spack-config, above).

dune_spack

The package repository itself: package.py build recipes for DUNE's offline software (LArSoft-based stack). This is where you'd add a new package or fix how an existing one builds. See also the dunesw wiki for the broader LArSoft-based software stack this repo builds.

dune-release-configs

Spack configuration scoped to tagged releases rather than day-to-day development — bin/ scripts plus included_yaml and dune-release.yaml. Distinct from dune-spack-envs: that repo covers development/workflow environments, this one covers what actually ships in a release.

Fermilab-maintained (SSI)

FNALssi/spack

A genuine fork of upstream Spack, maintained by Fermilab Scientific Software Infrastructure (SSI) — this is the Spack core DUNE actually runs. See Upstream Spack and the Fermilab fork on the home page for how it relates to spack/spack.

FNALssi/spack-packages

A fork of Spack's own community package-recipe repository — distinct from FNALssi/spack above (that's the Spack core; this is the general package recipes). Pinned as the builtin entry in dune-spack-config's repos.yaml (branch fnal-v2025.11), so this is where most non-DUNE package recipes actually come from. See the Configuration reference for the full repos.yaml pin list.

FNALssi/spack-at-fnal

Documentation describing Spack use at Fermilab generally (not DUNE-specific) — useful background once you're past the DUNE-specific setup steps.

FNALssi/fermi-spack-tools

Tooling for setting up and managing Spack instances at Fermilab — relevant if you're standing up or administering a Spack instance rather than just using one.

FNALssi/spack-mpd

The MPD (multi-package development) Spack extension — see MPD on the home page for what it does and how it relates to the old mrb workflow.

Issues

The four DUNE-maintained repos above, plus FNALssi/spack-mpd, feed the DUNE Spack & MPD Issues board — see Issues on the home page. The other three Fermilab-maintained repos don't: FNALssi/spack has issues disabled entirely (report upstream to spack/spack instead), and spack-at-fnal/fermi-spack-tools aren't currently tracked on the board.