System Layer Abstraction Modules https://worker.informatics.coop/slam
  • Nix 88.8%
  • Tcl 4.5%
  • Python 3.1%
  • Shell 1.2%
  • C 1.2%
  • Other 1.2%
Find a file
2026-04-25 00:00:00 +00:00
extra treewide: format with "official" nixpkgs formatter 2025-11-10 09:42:28 -05:00
LICENSES Unlicense packages and overlays 2026-03-11 00:00:00 +00:00
modules modules/chrony: enable ready notification only for s6 2026-04-25 00:00:00 +00:00
nixpkgs SAM overlay update 2025-12-21 12:00:00 +00:00
npins tests: test modular service managers with upstream Finix 2026-04-22 00:00:00 +00:00
overlays modules/service: remove "pkgs" from modular services 2026-04-22 00:00:00 +00:00
pkgs writeExeclineScript: preferLocalBuild = true 2026-04-22 00:00:00 +00:00
tests Remove Finit support and some Finit only services 2026-04-22 00:00:00 +00:00
utils Move /pkgs/make-*fs to /utils 2025-12-17 00:00:00 +00:00
.gitignore Repo metadata 2025-11-17 00:00:00 +00:00
default.nix Remove an unused overlay 2026-04-02 13:00:00 +01:00
flake.nix Remove an unused overlay 2026-04-02 13:00:00 +01:00
README.md writeExeclineScript: preferLocalBuild = true 2026-04-22 00:00:00 +00:00

System Layer Abstraction Modules

https://worker.informatics.coop/slam

The System Layer Abstraction Modules (SLAM) are Nix expressions for composing operating systems. SLAM borrows code from NixOS and has some compatible options. It differs in an explicitly open design when interfacing with the system-layer, where system-layer is defined as the confluence of service-managers, messaging buses, configuration management, and monitoring. This scope of this project is limited to the functions necessary for initialising and managing the system-layer and anything that can be implemented as a modular service does not belong here. By this reasoning SLAM is not conceived as a Linux distribution or a community project but as a specialised layer function for building a Nix OS.

See the Synit wiki for more information.

Portability

SLAM supports NixOS modular-services which are sometimes referred to here as "portable-services".

A list of available services is provided at the wiki.

SLAM supports multiple primary service-managers and some of them may be used as secondary service-managers via modular services. Modular service-managers are compatible with NixOS and available from the local overlay as pkgs.alt.slam.service-modules.

service-manager composability matrix
s6
Host
Synit
Host
Finix
Host
NixOS
Host
Modular
Services
supported supported with
extension
supported
s6
Guest
planned supported with
extension
supported
Synit
Guest
supported supported with
extension
supported
Finix or NixOS
Guest
nope

Running a tertiary service-manager as a portable service in a portable service is not supported.

Installation and Booting

For build cache information see the Synit wiki article.

A system.build.toplevel attribute is provided within the option tree that roughly corresponds to NixOS and contains a bootspec file that is compatible with NixOS tooling.

A switch-to-configuration script is also provided. It supports the standard test, switch, and boot verbs with support for the Limine. It has an additional kexec verb for booting into SLAM without modifying an existing bootloader.

The SLAM images repository contains recipes for building bootable images for various host platforms.

Overlays

SLAM necessarily modifies packages from Nixpkgs to remove lock-in dependencies on Systemd. These overlays may be useful independently from SLAM.

License

Some modules are available only under the terms of the Peer Production License. Modules not explicitly licensed are under the same terms as Nixpkgs.

The Peer Production License was selected for a few reasons:

  • SLAM is not a charity for providing subsidised software to startups and monopolies. It is therefore neither Free or Open Source software.
  • Worker owned coops share technology via horizontal transfer and not vertical acquisition.
  • The PPL preserves SLAM as a research platform by protecting it from enterprise featuritis.
  • Economic solutions solve social problems more effectively than technical solutions.
  • Copyfarleft is the radical flank of copyleft.

Voluntary financial contributions are accepted:

Monero
8A2BFXaAgFrhJBxQKBaEVz6tp5FMAwNGAfKjmjG76KHa8PXN7YAW8m7ZhcGeGP1Pnf1unDwtkWzYtWQpwXaz74ZnCpXnGMy