• Nix 88.8%
  • Tcl 4.7%
  • Python 3.3%
  • Shell 1.2%
  • C 1.1%
  • Other 0.9%
Find a file
2026-02-21 00:00:00 +00:00
docs modules/shadow: security.shadow -> programs.shadow 2025-11-20 17:05:43 -05:00
extra treewide: format with "official" nixpkgs formatter 2025-11-10 09:42:28 -05:00
LICENSES Peer Production License 2026-01-11 12:00:00 +00:00
modules modules/service/openssh: disable logging in tests 2026-02-21 00:00:00 +00:00
nixpkgs SAM overlay update 2025-12-21 12:00:00 +00:00
overlays overlays: openladp without systemd 2026-02-06 00:00:00 +00:00
pkgs pkgs/limine-from-profile: init at 0.1 2026-01-23 12:00:00 +00:00
portable modules/synit: move options from synit to system.synit 2026-01-20 12:00:00 +00:00
tests modules/services: single service for hybrid s6/synit systems 2026-02-04 12: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 Import Nixpkgs with allowUnfree 2026-01-26 12:00:00 +00:00
flake.nix flake: add s6 NixOS module 2026-01-26 12:00:00 +00:00
lon.lock nixpkgs: update to current TVL pin 2026-01-26 12:00:00 +00:00
lon.nix Fix tests, Synit packages from an overlay 2025-11-15 12:00:00 +00:00
README.md Add timeline to README 2026-01-23 12:00:00 +00:00

Service Layer Abstraction Modules

The Service Layer Abstraction Modules (SLAM) are Nix expressions for building NixOS-like 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.

SLAM is a derivative of finix which is upstream in regards to support for the finit supervisor.

See the Synit wiki for more information.

Portability

SLAM supports NixOS modular-services which are referred to here as "portable-services". SLAM allows a choice of primary service-manager and provides the ability to run secondary service-managers as portable-services.

service-manager composability matrix
finit
Host
s6
Host
Synit
Host
NixOS
Host
Finit
Guest
unknown unknown unknown unknown
s6
Guest
unknown planned supported supported
Synit
Guest
unknown supported supported supported
NixOS
Guest
nope nope nope nope
Abstract
Services
supported supported supported supported

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

Installation and Booting

The modules are currently provided as-is without documented procedures for installation or managing bootloaders. A system.topLevel attribute is provided within the option tree that roughly corresponds to NixOS and contains a bootspec file that is compatible with NixOS tooling.

Timeline

  • 2003 Nix project started by Eelco Dolstra.
  • 2006-01-18 The Purely Functional Software Deployment Model published by Eelco Dolstra.
  • 2006-08-24 NixOS: the Nix based operating system published by Armijn Hemel. Uses System V init.
  • 2006-11-19 NixOS migrates to Upstart.
  • 2012-04-18 Guix first commit from Ludovic Courtès.
  • 2013-01-21 NixOS migrates to systemd.
  • 2016-06-03 not-os first commit from Michael Bishop.
  • 2017-11-03 vpsadminos forked from not-os by Richard Marko.
  • 2018-05-13 NixWRT announced by Daniel Barlow.
  • 2019-07-30 Sigil first commit.
  • 2020-01-28 nix-processmgmt framework first commit from Sander van der Burg.
  • 2021-03-13 NixOS Init Freedom first commit from Guido Witmond.
  • 2021-03-23 NixNG first commit from Richard Brežák.
  • 2021-08-18 Spectrum first commit from Alyssa Ross.
  • 2022-01-17 ZilchOS first commit from Alexander Sosedkin.
  • 2022-09-19 Liminix first commit from Daniel Barlow.
  • 2023-10-05 Portable Service Layer RFC submitted by Sander van der Burg.
  • 2023-12-24 NixBSD first commit from Audrey Dutcher.
  • 2024-12-28 SixOS first demo commit from Adam Joseph.
  • 2025-01-08 Modular Services PR submitted by Robert Hensing.
  • 2025-03-29 Finix first commit from Aaron Andersen.
  • 2025-11-11 SLAM forked from Finix.

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.