vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / config / debug-info.nix
blob9bf3d82ace2a4643fd62308d801ec99355abf4b8
1 { config, lib, ... }:
4   options = {
6     environment.enableDebugInfo = lib.mkOption {
7       type = lib.types.bool;
8       default = false;
9       description = ''
10         Some NixOS packages provide debug symbols. However, these are
11         not included in the system closure by default to save disk
12         space. Enabling this option causes the debug symbols to appear
13         in {file}`/run/current-system/sw/lib/debug/.build-id`,
14         where tools such as {command}`gdb` can find them.
15         If you need debug symbols for a package that doesn't
16         provide them by default, you can enable them as follows:
18             nixpkgs.config.packageOverrides = pkgs: {
19               hello = pkgs.hello.overrideAttrs (oldAttrs: {
20                 separateDebugInfo = true;
21               });
22             };
23       '';
24     };
26   };
29   config = lib.mkIf config.environment.enableDebugInfo {
31     # FIXME: currently disabled because /lib is already in
32     # environment.pathsToLink, and we can't have both.
33     #environment.pathsToLink = [ "/lib/debug/.build-id" ];
35     environment.extraOutputsToInstall = [ "debug" ];
37     environment.variables.NIX_DEBUG_INFO_DIRS = [ "/run/current-system/sw/lib/debug" ];
39   };