From 6d1fddb13b0663ffd7464c2d39379972502ef126 Mon Sep 17 00:00:00 2001 From: "Benedikt M. Rips" Date: Tue, 5 Aug 2025 21:04:47 +0200 Subject: [PATCH] gcc: init module (#7614) --- modules/programs/gcc.nix | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 modules/programs/gcc.nix diff --git a/modules/programs/gcc.nix b/modules/programs/gcc.nix new file mode 100644 index 00000000..6faed11b --- /dev/null +++ b/modules/programs/gcc.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.programs.gcc; + +in +{ + + meta.maintainers = [ lib.maintainers.bmrips ]; + + options.programs.gcc = { + enable = lib.mkEnableOption "{command}`gcc`."; + package = lib.mkPackageOption pkgs "gcc" { nullable = true; }; + colors = lib.mkOption { + type = with lib.types; attrsOf str; + default = { }; + description = "Settings for {env}`GCC_COLORS`"; + example = { + error = "01;31"; + }; + }; + }; + + config = lib.mkIf cfg.enable { + home.packages = lib.mkIf (cfg.package != null) [ cfg.package ]; + home.sessionVariables.GCC_COLORS = lib.mkIf (cfg.colors != { }) ( + lib.concatStringsSep ":" (lib.mapAttrsToList (n: v: "${n}=${v}") cfg.colors) + ); + }; + +}