From 953eff70ba1991dc92db1aef1e92d382a138abc5 Mon Sep 17 00:00:00 2001 From: Rishi Kumar Date: Tue, 21 May 2024 01:36:47 +0530 Subject: [PATCH 1/3] feat: add debugger tools in defaults packages --- src/modules/languages/c.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/languages/c.nix b/src/modules/languages/c.nix index 963a95578..eb684b38f 100644 --- a/src/modules/languages/c.nix +++ b/src/modules/languages/c.nix @@ -10,6 +10,8 @@ in config = lib.mkIf cfg.enable { packages = with pkgs; [ + valgrind + gdb stdenv gnumake ccls From 75557816a2c48a34ff4623e3ef0934e5bdd0b058 Mon Sep 17 00:00:00 2001 From: Rishi Kumar Date: Mon, 10 Jun 2024 00:20:54 +0530 Subject: [PATCH 2/3] fix: broken valgrind and gdb --- src/modules/languages/c.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/modules/languages/c.nix b/src/modules/languages/c.nix index eb684b38f..ffd4b5562 100644 --- a/src/modules/languages/c.nix +++ b/src/modules/languages/c.nix @@ -6,16 +6,28 @@ in { options.languages.c = { enable = lib.mkEnableOption "tools for C development"; + + debugger = lib.mkOption { + type = lib.types.nullOr lib.types.package; + default = + if lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.gdb + then pkgs.gdb + else null; + defaultText = lib.literalExpression "pkgs.gdb"; + description = '' + An optional debugger package to use with c. + The default is `gdb`, if supported on the current system. + ''; + }; }; config = lib.mkIf cfg.enable { packages = with pkgs; [ - valgrind - gdb stdenv gnumake ccls pkg-config - ]; + ] ++ lib.optional (cfg.debugger != null) cfg.debugger + ++ lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.valgrind) pkgs.valgrind; }; } From 55ec49bdde3b73b55997f4b072c1d010a74504b1 Mon Sep 17 00:00:00 2001 From: Rishi Kumar Date: Mon, 10 Jun 2024 20:46:29 +0530 Subject: [PATCH 3/3] Use meta.broken to find out broken package --- src/modules/languages/c.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/languages/c.nix b/src/modules/languages/c.nix index ffd4b5562..33025284d 100644 --- a/src/modules/languages/c.nix +++ b/src/modules/languages/c.nix @@ -28,6 +28,6 @@ in ccls pkg-config ] ++ lib.optional (cfg.debugger != null) cfg.debugger - ++ lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.valgrind) pkgs.valgrind; + ++ lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.valgrind && !pkgs.valgrind.meta.broken) pkgs.valgrind; }; }