+2
nixos/modules/module-list.nix
+2
nixos/modules/module-list.nix
···
+28
nixos/modules/system/service/README.md
+28
nixos/modules/system/service/README.md
···+See the [Modular Services chapter] in the manual [[source]](../../doc/manual/development/modular-services.md).+- `systemServices`: similar to does not allow importing a composition of services into `system`. Not sure if that's a good idea in the first place, but I've kept the possibility open.+- `services.abstract`: used in https://github.com/NixOS/nixpkgs/pull/267111, but too weird. Service modules should fit naturally into the configuration system.+Also "abstract" is wrong, because it has submodules - in other words, evalModules results, concrete services - not abstract at all.+- For now, do not add an `enable` option, because it's ambiguous. Does it disable at the Nix level (not generate anything) or at the systemd level (generate a service that is disabled)?+- Move all process options into a `process` option tree. Putting this at the root is messy, because we also have sub-services at that level. Those are rather distinct. Grouping them "by kind" should raise fewer questions.+- This reserves `modules/service` for actual service modules, at least until those are lifted out of NixOS, potentially
+58
nixos/modules/system/service/portable/service.nix
+58
nixos/modules/system/service/portable/service.nix
···+A collection of [modular services](https://nixos.org/manual/nixos/unstable/#modular-services) that are configured in one go.+It **does not** automatically create any other relationship between services (e.g. systemd slices), unless perhaps such a behavior is explicitly defined and enabled in another option.
+93
nixos/modules/system/service/portable/test.nix
+93
nixos/modules/system/service/portable/test.nix
···
+79
nixos/modules/system/service/systemd/service.nix
+79
nixos/modules/system/service/systemd/service.nix
···+This module configures systemd services, with the notable difference that their unit names will be prefixed with the abstract service name.+This option's value is not suitable for reading, but you can define a module here that interacts with just the unit configuration in the host system configuration.+This means that the module has not been combined with the system configuration yet, no values can be read from this option.+What you can do instead is define a module that reads from the module arguments (such as `config`) that are available when the module is merged into the system configuration.
+68
nixos/modules/system/service/systemd/system.nix
+68
nixos/modules/system/service/systemd/system.nix
···+A collection of NixOS [modular services](https://nixos.org/manual/nixos/unstable/#modular-services) that are configured as systemd services.
+89
nixos/modules/system/service/systemd/test.nix
+89
nixos/modules/system/service/systemd/test.nix
···+grep -F 'ExecStart=${hello}/bin/hello --greeting hoi' ${toplevel}/etc/systemd/system/foo.service >/dev/null+grep -F 'ExecStart=${hello}/bin/hello --greeting hoi' ${toplevel}/etc/systemd/system/bar.service >/dev/null+grep 'ExecStart=${hello}/bin/hello --greeting .*database.*' ${toplevel}/etc/systemd/system/bar-db.service >/dev/null
+3
nixos/modules/system/service/systemd/user.nix
+3
nixos/modules/system/service/systemd/user.nix
+13
nixos/tests/all-tests.nix
+13
nixos/tests/all-tests.nix
······