mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 05:03:09 +00:00
0056a5aea1
This one is fairly similar to `environment.enableDebugInfo`[1] (hence the name). It ensures that the `debug`-output of packages defined in `home.packages` is installed if available and ensures that `gdb`/`elfutils` find those symbols by adding `~/.nix-profile/lib/debug` to the `NIX_DEBUG_INFO_DIRS`[2] variable. [1] https://github.com/NixOS/nixpkgs/blob/release-19.09/nixos/modules/config/debug-info.nix [2] https://github.com/NixOS/nixpkgs/blob/release-19.09/pkgs/development/tools/misc/gdb/debug-info-from-env.patch PR #1040
26 lines
719 B
Nix
26 lines
719 B
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.home = {
|
|
enableDebugInfo = mkEnableOption "" // {
|
|
description = ''
|
|
Some Nix-packages provide debug symbols for
|
|
<command>gdb</command> in the <literal>debug</literal>-output.
|
|
This option ensures that those are automatically fetched from
|
|
the binary cache if available and <command>gdb</command> is
|
|
configured to find those symbols.
|
|
'';
|
|
};
|
|
};
|
|
|
|
config = mkIf config.home.enableDebugInfo {
|
|
home.extraOutputsToInstall = [ "debug" ];
|
|
|
|
home.sessionVariables = {
|
|
NIX_DEBUG_INFO_DIRS =
|
|
"$NIX_DEBUG_INFO_DIRS\${NIX_DEBUG_INFO_DIRS:+:}${config.home.profileDirectory}/lib/debug";
|
|
};
|
|
};
|
|
}
|