From 79c3c16dcbb3b45c0f108550cb89ccd4fc855e3b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 25 Mar 2016 17:29:02 +0100 Subject: [PATCH] Restore core dumps Systemd 229 sets kernel.core_pattern to "|/bin/false" by default, unless systemd-coredump is enabled. Revert back to the default of writing "core" in the current directory. (cherry picked from commit 54ca7e9f7514f97d4cd7d7d1a29f7e3ccc73683e) --- nixos/modules/system/boot/coredump.nix | 27 +++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix index 25b11ed9c8a9..3d80da9e4571 100644 --- a/nixos/modules/system/boot/coredump.nix +++ b/nixos/modules/system/boot/coredump.nix @@ -33,19 +33,24 @@ with lib; }; - config = mkIf config.systemd.coredump.enable { + config = mkMerge [ + (mkIf config.systemd.coredump.enable { - environment.etc."systemd/coredump.conf".text = - '' - [Coredump] - ${config.systemd.coredump.extraConfig} - ''; + environment.etc."systemd/coredump.conf".text = + '' + [Coredump] + ${config.systemd.coredump.extraConfig} + ''; - # Have the kernel pass core dumps to systemd's coredump helper binary. - # From systemd's 50-coredump.conf file. See: - # - boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %p %u %g %s %t %e"; + # Have the kernel pass core dumps to systemd's coredump helper binary. + # From systemd's 50-coredump.conf file. See: + # + boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %p %u %g %s %t %e"; + }) - }; + (mkIf (!config.systemd.coredump.enable) { + boot.kernel.sysctl."kernel.core_pattern" = mkDefault "core"; + }) + ]; }