mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 13:40:28 +03:00
nixos/bees: sync service configuration with upstream (#348054)
This commit is contained in:
commit
9da6c7332e
1 changed files with 19 additions and 32 deletions
|
@ -97,42 +97,29 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
config = {
|
||||
config = lib.mkIf (cfg.filesystems != { }) {
|
||||
systemd.packages = [ pkgs.bees ];
|
||||
systemd.services = lib.mapAttrs' (
|
||||
name: fs:
|
||||
lib.nameValuePair "beesd@${name}" {
|
||||
description = "Block-level BTRFS deduplication for %i";
|
||||
after = [ "sysinit.target" ];
|
||||
|
||||
serviceConfig =
|
||||
let
|
||||
configOpts = [
|
||||
fs.spec
|
||||
"verbosity=${toString fs.verbosity}"
|
||||
"idxSizeMB=${toString fs.hashTableSizeMB}"
|
||||
"workDir=${fs.workDir}"
|
||||
overrideStrategy = "asDropin";
|
||||
serviceConfig = {
|
||||
ExecStart =
|
||||
let
|
||||
configOpts = [
|
||||
fs.spec
|
||||
"verbosity=${toString fs.verbosity}"
|
||||
"idxSizeMB=${toString fs.hashTableSizeMB}"
|
||||
"workDir=${fs.workDir}"
|
||||
];
|
||||
configOptsStr = lib.escapeShellArgs configOpts;
|
||||
in
|
||||
[
|
||||
""
|
||||
"${pkgs.bees}/bin/bees-service-wrapper run ${configOptsStr} -- --no-timestamps ${lib.escapeShellArgs fs.extraOptions}"
|
||||
];
|
||||
configOptsStr = lib.escapeShellArgs configOpts;
|
||||
in
|
||||
{
|
||||
# Values from https://github.com/Zygo/bees/blob/v0.6.5/scripts/beesd@.service.in
|
||||
ExecStart = "${pkgs.bees}/bin/bees-service-wrapper run ${configOptsStr} -- --no-timestamps ${lib.escapeShellArgs fs.extraOptions}";
|
||||
ExecStopPost = "${pkgs.bees}/bin/bees-service-wrapper cleanup ${configOptsStr}";
|
||||
CPUAccounting = true;
|
||||
CPUSchedulingPolicy = "batch";
|
||||
CPUWeight = 12;
|
||||
IOSchedulingClass = "idle";
|
||||
IOSchedulingPriority = 7;
|
||||
IOWeight = 10;
|
||||
KillMode = "control-group";
|
||||
KillSignal = "SIGTERM";
|
||||
MemoryAccounting = true;
|
||||
Nice = 19;
|
||||
Restart = "on-abnormal";
|
||||
StartupCPUWeight = 25;
|
||||
StartupIOWeight = 25;
|
||||
SyslogIdentifier = "beesd"; # would otherwise be "bees-service-wrapper"
|
||||
};
|
||||
SyslogIdentifier = "beesd"; # would otherwise be "bees-service-wrapper"
|
||||
};
|
||||
unitConfig.RequiresMountsFor = lib.mkIf (lib.hasPrefix "/" fs.spec) fs.spec;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue