Modular services meeting #7 2026-08-21
Attendees: @eveeifyeve @roberth @lassulus @aanderse @kiara + 1 guest.
-
@eveeifyeve: Do we want an
allowNetworkoption?- @lassulus: Quite service manager specific
- @aanderse: Should be in scope and is worth doing
- @roberth: In scope, and modular services integrations can bring in other tools if needed
- @lassulus: I don’t think we’d want to run tools like bubblewrap inside systemd, but otherwise writing the interface is a lot of work
- @aanderse: It’s a point people bring up as a point of contention. Figuring out the interface is the task of the modular services project.
- @roberth: I think we agree on scope and can work out the details.
allowNetworkseems like a good one to add.
-
@eveeifyeve: Which flake attribute?
- @roberth: I would suggest
<flake>.modules.service.<name>, matching the moduleclass, which we might want to change topackageConfigor something - @eveeifyeve: Not sure if the distinction is clear enough to users.
- @lassulus: They’re similar but you don’t have to run a command as service
- @lassulus: Package modules name was kind of taken by Nixpkgs architecture team at some point, but did not materialize
- @kiara: modular programs seems to focused around binaries
- @lassulus: It’s an is-a relationship where all modular services are package modules, but not all package modules are service modules.
- @roberth: Similar to NixOS services, NixOS programs are global and package modules solve the same problem of making them usable in any context, not just NixOS
- @eveeifyeve: What about window managers
- @lassulus: Good example, because e.g. you can invoke a compositor from the Linux terminal
- @eveeifyeve: What about running e.g. hyprland on say finix using modular services
- @aanderse: hyprland does just work because it’s just a program, and most of those just work
- @aanderse: before systemd, launching from the terminal was fairly normal practice
- @eveeifyeve: Could we have a universal repo for all configuration management.
- @aanderse: even if modular services was highly successful not all configuration would move to that
- @roberth: forks and reimplementations are good because innovations are possible and they can even transfer back into the popular main thing, e.g. NixOS
- @eveeifyeve: I’ve been playing around with implementing a general configuration manager like that
- @aanderse: cool idea. I’ve had to port modules to finix that weren’t always great and portability at the system level would help a lot.
- @eveeifyeve: yeah. configurations that are not necessarily locked to NixOS.
- @roberth: that would be something like “portable system modules”?
- @eveeifyeve: I was calling it universal
- @roberth: system indicates the scale it operates at, which is useful
- @roberth: I would suggest
-
@kiara: Separate repo?
- GitHub - KiaraGrouwstra/modular-services: Portable Nix services · GitHub
- @roberth: Great!
- Creating an org for it…
- @kiara: apparently the free org offering is quite limited
- @roberth: considering a systemd unit logic refactor to make it independently usable. Not sure where to put it now.
- @lassulus: refactor in
nixpkgscan be done later - @kiara: divergence is ok; otherwise we’ve just reinvented the same workflow with extra steps
- @eveeifyeve: we should communicate that we work should be done
- @kiara: I don’t think nixpkgs gets flooded
- @roberth: we can also see it as a QA step
-
@eveeifyeve: I’m planning to run hydra on RPi and chromebook with finix, on a macbook and some more.
-
@kiara: what to work on next
- @aanderse: research the use of shims and security, to inform how we could design the interface
- @roberth: I won’t be making progress on [modular services] User creation/specification · Issue #545287 · NixOS/nixpkgs · GitHub anytime soon probably
-
Pr Review
- lib/services: fix test expectations for the reload options by KiaraGrouwstra · Pull Request #545732 · NixOS/nixpkgs · GitHub
- @eveeifyeve: ran the normal eval test, couldn’t run NixOS Specific test due to nixos/tests: support a few more running on darwin + hygiene by roberth · Pull Request #551799 · NixOS/nixpkgs · GitHub
- nixos/tests: support a few more running on darwin + hygiene by roberth · Pull Request #551799 · NixOS/nixpkgs · GitHub
- @eveeifyeve: Remembered running nixos tests on darwin
- @anderse: Not well versed and confident enough to merge this pr.
- nixos/modular-services: reload/restart on `configData` change by KiaraGrouwstra · Pull Request #518717 · NixOS/nixpkgs · GitHub
- @eveeifyeve: Does this reload with reloadCommand/reloadSignal or is this a seperate thing?
- @kiara: Yeah it should
- @kiara: Mentions the idea of opting out of reloads.
- @eveeifyeve: Should be opt in? Because ideally we don’t have a service that will be reloading configs by default.
- @aanderse: Concern about it being systemd specific implementation
- lib/services: fix test expectations for the reload options by KiaraGrouwstra · Pull Request #545732 · NixOS/nixpkgs · GitHub