Nomia is a long-term project for Scarf on the end-user tooling side of our roadmap. At a high level, Nomia is a system for resource management.It provides a systematic mechanism for giving names to any kind of resource, composing those names together to identify new composite resources, and acquiring access to the resources thus identified.Nomia is inspired by Nix and Unison. The 3 are similar in that they treat “resources” as immutable and content-addressed objects that can be named and operated on.The 3 are different in how they apply that concept. Nix focuses on packages as resources that are a pure function of their build steps and the inputs they rely on. Unison focuses on immutable pieces of code that can be shared, distributed, executed, etc. Nomia provides a generalized system and framework for building more tools that apply this idea, for arbitrary resources. It provides a protocol for resources to be identified, combined, and even related. For instance, two resource identifiers might reduce to the same resource in certain contexts but not in others: “The latest version of the user’s favorite browser” might, at a particular invocation, reduce to “Firefox 123.0 cross-compiled from amd64 Linux”, which we may have already built or already know how to build. Nomia provides a first-class representation for these sorts of relationships between names that may even be operating at different levels of abstraction.Nomia could one day power some of the internals of Nix, without the externally seen behavior of Nix itself changing in any way. Nomia could be used to build package managers, environment managers, build systems, service orchestrators, and more.