aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix38
1 files changed, 30 insertions, 8 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix b/infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix
index 74d6957678f5..cbf9e7b49d36 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/system/boot/systemd.nix
@@ -243,6 +243,8 @@ let
OnFailure = toString config.onFailure; }
// optionalAttrs (options.startLimitIntervalSec.isDefined) {
StartLimitIntervalSec = toString config.startLimitIntervalSec;
+ } // optionalAttrs (options.startLimitBurst.isDefined) {
+ StartLimitBurst = toString config.startLimitBurst;
};
};
};
@@ -548,6 +550,14 @@ in
'';
};
+ systemd.enableUnifiedCgroupHierarchy = mkOption {
+ default = true;
+ type = types.bool;
+ description = ''
+ Whether to enable the unified cgroup hierarchy (cgroupsv2).
+ '';
+ };
+
systemd.coredump.enable = mkOption {
default = true;
type = types.bool;
@@ -884,14 +894,25 @@ in
config = {
- warnings = concatLists (mapAttrsToList (name: service:
- let
- type = service.serviceConfig.Type or "";
- restart = service.serviceConfig.Restart or "no";
- in optional
- (type == "oneshot" && (restart == "always" || restart == "on-success"))
- "Service '${name}.service' with 'Type=oneshot' cannot have 'Restart=always' or 'Restart=on-success'")
- cfg.services);
+ warnings = concatLists (
+ mapAttrsToList
+ (name: service:
+ let
+ type = service.serviceConfig.Type or "";
+ restart = service.serviceConfig.Restart or "no";
+ hasDeprecated = builtins.hasAttr "StartLimitInterval" service.serviceConfig;
+ in
+ concatLists [
+ (optional (type == "oneshot" && (restart == "always" || restart == "on-success"))
+ "Service '${name}.service' with 'Type=oneshot' cannot have 'Restart=always' or 'Restart=on-success'"
+ )
+ (optional hasDeprecated
+ "Service '${name}.service' uses the attribute 'StartLimitInterval' in the Service section, which is deprecated. See https://github.com/NixOS/nixpkgs/issues/45786."
+ )
+ ]
+ )
+ cfg.services
+ );
system.build.units = cfg.units;
@@ -1165,6 +1186,7 @@ in
boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
"kernel.core_pattern" = "core";
};
+ boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
};
# FIXME: Remove these eventually.