sixos: a nix os without systemd

Stage HUFF
Adam Joseph
This talk announces the first public release of sixos, a two year project to create a nixpkgs-based operating system using skarnet's s6 supervisor instead of systemd.
The monolithic design of `systemd` is inconsistent with the UNIX userspace philosophy. Its our-way-or-fork-off policy attracts influence-seekers, and thereby encourages *platform decay* within the free software ecosystem. Systemd's failure to provide Linux-grade ABI stability („we don't break userspace“) creates a large and tempting attack surface for *enshittification*. This talk announces the first public release of [sixos](https://codeberg.org/amjoseph/sixos), a two year project to create a nixpkgs-based operating system using [skarnet](https://skarnet.org/software/)'s [`s6`](https://skarnet.org/software/s6/) instead of `systemd`. Sixos replaces NixOS modules with the simpler [`infuse`](https://codeberg.org/amjoseph/infuse.nix) combinator. This allows sixos to treat services the same way nixpkgs handles packages: - A service (`svcs/by-name/.../service.nix`) in sixos is a Nix expression, just like an uninstantiated package (`pkgs/by-name/.../package.nix`) in nixpkgs. - A sixos target is a derivation, just like an instantiated package in nixpkgs. - The sixos target set (`targets`) is a scoped fixpoint, just like the nixpkgs instantiated-package set (`pkgs`). - The `override`, `callPackage`, and `overrideAttrs` tools work on targets and services, just like they do on instantiated and uninstantiated packages. Whenever possible, sixos retains good ideas pioneered by NixOS, like atomically-activated immutable configurations and the layout of `/run`. Sixos is not a fork of NixOS. It shares no code with `nixpkgs/nixos`, nor is any part of it derived from NixOS. Sixos and NixOS both depend on `nixpkgs/pkgs`. On [ownerboot](https://codeberg.org/amjoseph/ownerboot) hardware all [mutable firmware](https://codeberg.org/amjoseph/ownerboot/src/branch/master/doc/owner-controlled.md#clarifications) -- all the way back to the reset vector -- is versioned, managed, and built as part of the sixos configuration. This *eliminates the artificial distinction between firmware software and non-firmware software*. On NixOS, either the initrd „secrets“ or the software that decrypts them ([ESP](https://en.wikipedia.org/wiki/EFI_system_partition), [initrd ssh keys](https://github.com/NixOS/nixpkgs/blob/6b88838224de5b86f449e9d01755eae4efe4a1e4/nixos/modules/system/boot/initrd-ssh.nix#L73-L76)) is stored unencrypted on writable media. Ownerbooted sixos closes this loophole without any „trusted computing“ voodoo, eliminating all unencrypted storage except for an eeprom whose hardware write-protect pin is connected to ground. The speaker runs ownerbooted sixos on his workstations, servers, twelve routers, stockpile of disposable laptops, and on his company's 24-server/768-core buildfarm. So far all of his attempts to run sixos on his snowboard have failed.

Additional information

Live Stream https://streaming.media.ccc.de/38c3/huff
Type Talk 60 (45min +15 Q&A)
Language English

More sessions

12/27/24
hubertf
Stage HUFF
Capture The Flag (CTF) für Einsteiger: Wie man legal "hacken" ueben kann, warum man das tun sollte und wo man anfaengt.
12/27/24
Entertainment
Elektra
Stage HUFF
Das Duo 'read & delete' präsentiert radikale philosophische Texte mit musikalischer Begleitung
12/27/24
zeno
Stage HUFF
A field guide to dumping and reverse engineering a bare-metal U-Boot binary, including all the good stuff like funky hardware setups, UART logs, a locked bootloader and unknown base addresses.
12/27/24
Jaša
Stage HUFF
Das Netzwerk Polylux hat sich vor 5 Jahren gegründet um dem Rechtsruck in Ostdeutschland etwas entgegen zu setzen. Polylux fördert, was die AfD hasst. Solidarisch, Unbürokratisch und Antifaschistisch. Für eine kritische und starke Zivilgesellschaft wo es sie am meisten braucht: Im ländlichen Raum in Ostdeutschland.
12/27/24
Stage HUFF
In einer Zeit, in der Privatsphäre immer mehr untergraben wird – warum nicht die Kontrolle über deine Daten übernehmen und eine eigene Cloud für Filehosting aufbauen? Dieser Vortrag ist ein praktischer Leitfaden zum Selbsthosting von Nextcloud zu Hause, speziell gedacht für Einsteiger mit grundlegenden Linux- und Bash-Kenntnissen. Von der Wahl der passenden Hardware bis zur sicheren Internetanbindung bauen wir Schritt für Schritt eine selbst gehostete Filehosting-App im eigenen ...
12/28/24
CCC
deanna
Stage HUFF
Eine Vorstellung der Hackspaces
12/28/24
moe
Stage YELL
Navigating The Gray; Hacker's Compass.