Stockholm NixOS meetup group | 49 Members | |
| Monthly meetups in Stockholm, Sweden around Nix releated topics(nixos.org) | 14 Servers |
| Sender | Message | Time |
|---|---|---|
| 18 Sep 2025 | ||
| https://github.com/Lillecarl/dinix I wrote a little thing that generates dinit (the init system) configuration from Nix (using the module system). Dinit is VERY light, the overhead is ~4MB RAM and "no CPU". This enables writing OS and init independent "service collections". It can run as pid1 in Linux (but don't try this), pid1 in containers (reaps zombies and such) or random pid in user mode where it's just a process supervisor. Also works on MacOS (I don't have a Mac machine so I can't verify though). So you could create a service collection with nginx, postgres, whatever and run it from a single nix command. You could even run dinit from a systemd unit if you'd want. So you can run the same service collection from: Containers, Systemd, commandline and Nix brings the executables 😄 Here's an example nginx module that runs on 8080 and presents "Hello World" https://github.com/Lillecarl/dinix/blob/main/config.nix | 06:57:54 | |
| * https://github.com/Lillecarl/dinix I wrote a little thing that generates dinit (the init system) configuration from Nix (using the module system). Dinit is VERY light, the overhead is ~4MB RAM and "no CPU". This enables writing OS and init independent "service collections". It can run as pid1 in Linux (but don't try this), pid1 in containers (reaps zombies and such) or random pid in user mode where it's just a process supervisor. Also works on MacOS (I don't have a Mac machine so I can't verify though). So you could create a service collection with nginx, postgres, whatever and run it from a single nix command. You could even run dinit from a systemd unit if you'd want. So you can run the same service collection from: Containers, Systemd, commandline and Nix brings the executables 😄 Here's an example nginx module that runs on 8080 and presents "Hello World" https://github.com/Lillecarl/dinix/blob/main/config.nix Edit:
| 07:19:54 | |
| * https://github.com/Lillecarl/dinix I wrote a little thing that generates dinit (the init system) configuration from Nix (using the module system). Dinit is VERY light, the overhead is ~4MB RAM and "no CPU". This enables writing OS and init independent "service collections". It can run as pid1 in Linux (but don't try this), pid1 in containers (reaps zombies and such) or random pid in user mode where it's just a process supervisor. Also works on MacOS (I don't have a Mac machine so I can't verify though). So you could create a service collection with nginx, postgres, whatever and run it from a single nix command. You could even run dinit from a systemd unit if you'd want. So you can run the same service collection from: Containers, Systemd, commandline and Nix brings the executables 😄 Here's an example nginx module that runs on 8080 and presents "Hello World" https://github.com/Lillecarl/dinix/blob/main/config.nix Edit:
| 07:20:26 | |
| * https://github.com/Lillecarl/dinix I wrote a little thing that generates dinit (the init system) configuration from Nix (using the module system). Dinit is VERY light, the overhead is ~4MB RAM and "no CPU". This enables writing OS and init independent "service collections". It can run as pid1 in Linux (but don't try this), pid1 in containers (reaps zombies and such) or random pid in user mode where it's just a process supervisor. Also works on MacOS (I don't have a Mac machine so I can't verify though). So you could create a service collection with nginx, postgres, whatever and run it from a single nix command. You could even run dinit from a systemd unit if you'd want. So you can run the same service collection from: Containers, Systemd, commandline and Nix brings the executables 😄 Here's an example nginx module that runs on 8080 and presents "Hello World" https://github.com/Lillecarl/dinix/blob/main/config.nix Edit:
| 07:20:37 | |
| If the generation of config files would be reusable (I.e. separated in the module system), we could reuse them for dinix, or container image generation. | 09:37:16 | |
| Hi, all! I am currently trying to build a stateless cluster using Nixos. The main thing is that I want all things to be wiped on each boot. The idea is to have one management node serving an ipxe image over pxe, a kernel, and an initrd. The ipxe would pull the kernel and initrd, which would then torrent a root tarball, extract it, and kexec/switch_root into it. Does anyone have an idea where to even start with this? I did try nix-generators for the root kexec tarball, but that doesn't seem to work well when you already have a /nix in root already... Any suggestions would be most appreciated! :) | 10:45:05 | |
In reply to @markuskowa:matrix.orgYep, reusable across local dev and in containers, but also if someone makes a dinix module for the "LAMP" stack we could easily stick it into systemd on a VM of your choice | 13:23:30 | |
In reply to @kacper.uminski:matrix.orgSounds like you've made a few "too many" decisions already. I couldn't help you, I would probably try to make a nixos iPXE image and make the iPXE server a nix build cache instead, build new images when you need new systemd or kernel | 13:25:57 | |