From c3ca945089179117a4c2b8f480ae1ebb4549651c Mon Sep 17 00:00:00 2001 From: tarcisio Date: Wed, 6 May 2026 00:42:47 +0000 Subject: [PATCH 01/27] Add conan-flake module --- docs/src/integrations/conan.md | 89 ++++++++++++++++++++++++++++++ src/modules/integrations/conan.nix | 49 ++++++++++++++++ tests/conan/devenv.nix | 21 +++++++ tests/conan/devenv.yaml | 3 + 4 files changed, 162 insertions(+) create mode 100644 docs/src/integrations/conan.md create mode 100644 src/modules/integrations/conan.nix create mode 100644 tests/conan/devenv.nix create mode 100644 tests/conan/devenv.yaml diff --git a/docs/src/integrations/conan.md b/docs/src/integrations/conan.md new file mode 100644 index 000000000..ed0fbc08b --- /dev/null +++ b/docs/src/integrations/conan.md @@ -0,0 +1,89 @@ +# `devenv` Integration for [Conan](https://conan.io/) via [conan-flake](https://codeberg.org/tarcisio/conan-flake) + +## Set up + +Add `conan-flake` to your inputs: + +```shell-session +$ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake +``` + +Check [the list of available options](/reference/options.md#conanenable). + +Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: + +```nix +{ inputs, ... }: + +{ + conan = { + enable = true; + config = { + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +``` + +## Additional Devenv Config Examples + +### LLVM-based C++ Toolchain + +If you would like to integrate with the LLVM compiler infrastructure: + +```nix +{ inputs, pkgs, ... }: + +{ + conan = { + enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +conan create . --build=missing # This would create and test the current package. +``` diff --git a/src/modules/integrations/conan.nix b/src/modules/integrations/conan.nix new file mode 100644 index 000000000..560b39488 --- /dev/null +++ b/src/modules/integrations/conan.nix @@ -0,0 +1,49 @@ +{ pkgs +, lib +, config +, ... +}: +let + cfg = config.conan; + + inputArgs = { + name = "conan-flake"; + url = "git+https://codeberg.org/tarcisio/conan-flake"; + attribute = "conan"; + }; + + # When enabled, use getInput (throws helpful error if missing) + # Otherwise, use tryGetInput to populate the docs when the input is available. + conan-flake = + if cfg.enable then config.lib.getInput inputArgs else config.lib.tryGetInput inputArgs; + + # Determine config root: prefer git.root, fallback to devenv.root + configRoot = if config.git.root != null then config.git.root else config.devenv.root; + + conanSubmodule = + if conan-flake != null then + # We automatically configure Conan with the correct tree root for the project. + conan-flake.lib.submoduleWith pkgs { inherit configRoot; } + else + lib.types.attrs; +in +{ + options.conan = { + enable = lib.mkEnableOption "conan integration (through conan-flake)"; + + config = lib.mkOption { + description = "conan configuration."; + type = conanSubmodule; + default = { }; + }; + }; + + config = lib.mkIf cfg.enable { + + # conan-flake exposes an `outputs.devShell` devShell by default that can be + # used directly, or passed in the inputsFrom option as a means to compose + # with other devShell modules. + inputsFrom = [ cfg.config.outputs.devShell ]; + + }; +} diff --git a/tests/conan/devenv.nix b/tests/conan/devenv.nix new file mode 100644 index 000000000..8ff41749d --- /dev/null +++ b/tests/conan/devenv.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +{ + conan = { + enable = true; + config = { + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; + + enterTest = '' + conan profile show | grep "cmake/"${pkgs.lib.escapeShellArg pkgs.cmake.version} + ''; +} diff --git a/tests/conan/devenv.yaml b/tests/conan/devenv.yaml new file mode 100644 index 000000000..0a9fd6c94 --- /dev/null +++ b/tests/conan/devenv.yaml @@ -0,0 +1,3 @@ +inputs: + conan-flake: + url: git+https://codeberg.org/tarcisio/conan-flake From 0c7b9555af0958c48956a08863926c93263e12ee Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 01:16:12 +0000 Subject: [PATCH 02/27] Auto generate docs/src/reference/options.md --- docs/src/reference/options.md | 68 +++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/docs/src/reference/options.md b/docs/src/reference/options.md index af6530cfe..9f98d50fb 100644 --- a/docs/src/reference/options.md +++ b/docs/src/reference/options.md @@ -2562,6 +2562,62 @@ list of string +## conan.enable + + + +Whether to enable conan integration (through conan-flake). + + + +*Type:* +boolean + + + +*Default:* + +```nix +false +``` + + + +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix) + + + +## conan.config + + + +conan configuration. + + + +*Type:* +attribute set + + + +*Default:* + +```nix +{ } +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix) + + + ## container.isBuilding @@ -2718,8 +2774,6 @@ list of anything ## containers.\.fromImage - - An existing OCI base image to build on top of, built with nix2container’s pullImage. @@ -2766,6 +2820,8 @@ false ## containers.\.layers + + The layers to create. @@ -5971,8 +6027,6 @@ submodule ## git-hooks.hooks.biome.enable - - Whether to enable this pre-commit hook. @@ -6031,6 +6085,8 @@ null or string or absolute path ## git-hooks.hooks.biome.settings.configPath + + Path to the configuration JSON file @@ -8244,8 +8300,6 @@ false ## git-hooks.hooks.isort.settings.flags - - Flags passed to isort. See all available [here](https://pycqa.github.io/isort/docs/configuration/options.html). @@ -8292,6 +8346,8 @@ one of “”, “black”, “django”, “pycharm”, “google”, “open_s ## git-hooks.hooks.lacheck + + lacheck hook From d3ac3c26bfd21a2fb64f580431b087d096834e80 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Wed, 6 May 2026 17:45:31 +0000 Subject: [PATCH 03/27] Add Conan entry to .nav.yml --- docs/src/integrations/.nav.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/integrations/.nav.yml b/docs/src/integrations/.nav.yml index bbb78632c..cea28625e 100644 --- a/docs/src/integrations/.nav.yml +++ b/docs/src/integrations/.nav.yml @@ -11,3 +11,4 @@ nav: - Difftastic: difftastic.md - Delta: delta.md - treefmt: treefmt.md + - Conan: conan.md From c8c119b1a6a65d22c391654b6c7845bb77830fab Mon Sep 17 00:00:00 2001 From: tarcisio Date: Wed, 6 May 2026 18:56:39 +0000 Subject: [PATCH 04/27] Improve docs --- docs/src/integrations/conan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/integrations/conan.md b/docs/src/integrations/conan.md index ed0fbc08b..9773fe05f 100644 --- a/docs/src/integrations/conan.md +++ b/docs/src/integrations/conan.md @@ -1,4 +1,4 @@ -# `devenv` Integration for [Conan](https://conan.io/) via [conan-flake](https://codeberg.org/tarcisio/conan-flake) +# `devenv` Integration for [Conan](https://conan.io/) via [`conan-flake`](https://codeberg.org/tarcisio/conan-flake) ## Set up @@ -8,7 +8,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -Check [the list of available options](/reference/options.md#conanenable). +Check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option maps the whole of the options available in the [`conan-flake`](https://codeberg.org/tarcisio/conan-flake) module — see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to get a grasp on the available options. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: @@ -42,7 +42,7 @@ Entering shell ... conan profile show # This would show the default profile. ``` -## Additional Devenv Config Examples +## Additional Examples ### LLVM-based C++ Toolchain From 452ec3fe0d91aa1d2c5a9b152e4cc18a7ade3dd7 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Sat, 9 May 2026 17:38:43 +0000 Subject: [PATCH 05/27] Improve README.md --- docs/src/integrations/conan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/integrations/conan.md b/docs/src/integrations/conan.md index 9773fe05f..e06a2138e 100644 --- a/docs/src/integrations/conan.md +++ b/docs/src/integrations/conan.md @@ -8,7 +8,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -Check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option maps the whole of the options available in the [`conan-flake`](https://codeberg.org/tarcisio/conan-flake) module — see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to get a grasp on the available options. +You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: From 62e6db6741b71e733fea893bb78397b7e91e2820 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 14:24:20 +0000 Subject: [PATCH 06/27] Auto generate docs/src/reference/options.md --- docs/src/reference/options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/reference/options.md b/docs/src/reference/options.md index 4f610079d..1c2980e89 100644 --- a/docs/src/reference/options.md +++ b/docs/src/reference/options.md @@ -3649,7 +3649,7 @@ string *Default:* ```nix -"2.1.0" +"2.1.2" ``` *Declared by:* From c9ccee05aa22eeac0682d305f84e26963672bcaa Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 15 May 2026 14:49:11 +0000 Subject: [PATCH 07/27] Improve nonsense comment --- src/modules/integrations/conan.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/integrations/conan.nix b/src/modules/integrations/conan.nix index 560b39488..efa4b77d8 100644 --- a/src/modules/integrations/conan.nix +++ b/src/modules/integrations/conan.nix @@ -40,9 +40,9 @@ in config = lib.mkIf cfg.enable { - # conan-flake exposes an `outputs.devShell` devShell by default that can be - # used directly, or passed in the inputsFrom option as a means to compose - # with other devShell modules. + # conan-flake exposes `outputs.devShell` by default that can be used + # directly, or passed in the inputsFrom option as a means to compose with + # other devShell modules. inputsFrom = [ cfg.config.outputs.devShell ]; }; From eb80d3ecbc25d89040a50254a3533e41eb52402e Mon Sep 17 00:00:00 2001 From: tarcisio Date: Thu, 21 May 2026 17:41:55 +0000 Subject: [PATCH 08/27] Add cplusplus test --- tests/cplusplus/devenv.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/cplusplus/devenv.nix diff --git a/tests/cplusplus/devenv.nix b/tests/cplusplus/devenv.nix new file mode 100644 index 000000000..5be70d463 --- /dev/null +++ b/tests/cplusplus/devenv.nix @@ -0,0 +1,14 @@ +{ pkgs, config, ... }: + +{ + languages.cplusplus.enable = true; + enterTest = '' + clang --version + cmake --version + ccls --version | grep ${pkgs.lib.escapeShellArg config.languages.cplusplus.lsp.package.version} + # Validate some clang-tools are in the path: + clang-doc --version + clang-format --version + clang-tidy --version + ''; +} From 80c1f01851aed6cf3adc61aed3f0ea606af8425d Mon Sep 17 00:00:00 2001 From: tarcisio Date: Thu, 21 May 2026 17:52:40 +0000 Subject: [PATCH 09/27] Parameterize language.cplusplus --- src/modules/languages/cplusplus.nix | 42 ++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/src/modules/languages/cplusplus.nix b/src/modules/languages/cplusplus.nix index e67933276..6e6eb7990 100644 --- a/src/modules/languages/cplusplus.nix +++ b/src/modules/languages/cplusplus.nix @@ -7,6 +7,39 @@ in options.languages.cplusplus = { enable = lib.mkEnableOption "tools for C++ development"; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.clang; + defaultText = lib.literalExpression "pkgs.clang"; + description = "The C++ compiler to use."; + }; + + cmake = lib.mkOption { + type = lib.types.submodule { + options.package = lib.mkOption { + type = lib.types.package; + default = pkgs.cmake; + defaultText = lib.literalExpression "pkgs.cmake"; + description = "The CMake package to use."; + }; + }; + description = "Configuration for cmake"; + default = { }; + }; + + tools = { + enable = lib.mkEnableOption "Standalone command line tools for C++ development" // { + default = cfg.package.isClang; + defaultText = lib.literalMD "Enabled by default for clang-based compilers"; + }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.clang-tools; + defaultText = lib.literalExpression "pkgs.clang-tools"; + description = "The C++ command line tools package to use."; + }; + }; + lsp = { enable = lib.mkEnableOption "C++ Language Server" // { default = true; }; package = lib.mkOption { @@ -20,9 +53,10 @@ in config = lib.mkIf cfg.enable { packages = with pkgs; [ - clang-tools - cmake - clang - ] ++ lib.optional cfg.lsp.enable cfg.lsp.package; + cfg.cmake.package + cfg.package + ] + ++ lib.optional cfg.tools.enable cfg.tools.package + ++ lib.optional cfg.lsp.enable cfg.lsp.package; }; } From 07067b1b481347afc566c7938c7e5312a0d55f71 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Thu, 21 May 2026 22:35:59 +0000 Subject: [PATCH 10/27] Add conan package option to lanaguages.cplusplus --- src/modules/languages/cplusplus.nix | 70 +++++++++++++++++++++++++---- tests/cplusplus-conan/devenv.nix | 14 ++++++ tests/cplusplus-conan/devenv.yaml | 3 ++ 3 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 tests/cplusplus-conan/devenv.nix create mode 100644 tests/cplusplus-conan/devenv.yaml diff --git a/src/modules/languages/cplusplus.nix b/src/modules/languages/cplusplus.nix index 6e6eb7990..6be1f254c 100644 --- a/src/modules/languages/cplusplus.nix +++ b/src/modules/languages/cplusplus.nix @@ -2,6 +2,27 @@ let cfg = config.languages.cplusplus; + + inputArgs = { + name = "conan-flake"; + url = "git+https://codeberg.org/tarcisio/conan-flake"; + attribute = "conan"; + }; + + # When enabled, use getInput (throws helpful error if missing) + # Otherwise, use tryGetInput to populate the docs when the input is available. + conan-flake = + if cfg.conan.enable then config.lib.getInput inputArgs else config.lib.tryGetInput inputArgs; + + # Determine config root: prefer git.root, fallback to devenv.root + configRoot = if config.git.root != null then config.git.root else config.devenv.root; + + conanSubmodule = + if conan-flake != null then + # We automatically configure Conan with the correct tree root for the project. + conan-flake.lib.submoduleWith pkgs { inherit configRoot; } + else + lib.types.attrs; in { options.languages.cplusplus = { @@ -40,6 +61,22 @@ in }; }; + conan = { + enable = lib.mkEnableOption "install conan"; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.conan; + defaultText = lib.literalExpression "pkgs.conan"; + description = "The conan package to use."; + }; + config = lib.mkOption { + type = conanSubmodule; + description = "conan configuration."; + default = { }; + }; + install.enable = lib.mkEnableOption "conan install during devenv initialisation"; + }; + lsp = { enable = lib.mkEnableOption "C++ Language Server" // { default = true; }; package = lib.mkOption { @@ -51,12 +88,29 @@ in }; }; - config = lib.mkIf cfg.enable { - packages = with pkgs; [ - cfg.cmake.package - cfg.package - ] - ++ lib.optional cfg.tools.enable cfg.tools.package - ++ lib.optional cfg.lsp.enable cfg.lsp.package; - }; + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + packages = with pkgs; [ + cfg.cmake.package + cfg.package + ] + ++ lib.optional cfg.tools.enable cfg.tools.package + ++ lib.optional cfg.lsp.enable cfg.lsp.package; + }) + + # + (lib.mkIf (cfg.enable && cfg.conan.enable) { + languages.cplusplus.conan.config.stdenv = lib.mkDefault config.stdenv; + languages.cplusplus.conan.config.package = lib.mkDefault cfg.conan.package; + languages.cplusplus.conan.config.platformToolRequires = lib.mkDefault { + cmake = cfg.cmake.package.version; + }; + languages.cplusplus.package = lib.mkDefault cfg.conan.config.stdenv.cc; + }) + + # + (lib.mkIf (cfg.enable && cfg.conan.enable && cfg.conan.install.enable) { + inputsFrom = [ cfg.conan.config.outputs.devShell ]; + }) + ]; } diff --git a/tests/cplusplus-conan/devenv.nix b/tests/cplusplus-conan/devenv.nix new file mode 100644 index 000000000..e0290874d --- /dev/null +++ b/tests/cplusplus-conan/devenv.nix @@ -0,0 +1,14 @@ +{ pkgs, config, ... }: + +{ + languages.cplusplus.enable = true; + languages.cplusplus.conan.enable = true; + languages.cplusplus.conan.install.enable = true; + enterTest = '' + ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version + echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:"${pkgs.lib.escapeShellArg config.stdenv.cc.isClang}":" + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + ''; +} diff --git a/tests/cplusplus-conan/devenv.yaml b/tests/cplusplus-conan/devenv.yaml new file mode 100644 index 000000000..0a9fd6c94 --- /dev/null +++ b/tests/cplusplus-conan/devenv.yaml @@ -0,0 +1,3 @@ +inputs: + conan-flake: + url: git+https://codeberg.org/tarcisio/conan-flake From 3cd356ee4f4556e58b2eaed8482e6630ea5c669a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 22:41:10 +0000 Subject: [PATCH 11/27] Auto generate docs/src/reference/options.md --- docs/src/reference/options.md | 237 ++++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+) diff --git a/docs/src/reference/options.md b/docs/src/reference/options.md index 1c2980e89..188677ba3 100644 --- a/docs/src/reference/options.md +++ b/docs/src/reference/options.md @@ -14938,6 +14938,190 @@ false +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.package + + + +The C++ compiler to use. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.clang +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.cmake + + + +Configuration for cmake + + + +*Type:* +submodule + + + +*Default:* + +```nix +{ } +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.cmake.package + + + +The CMake package to use. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.cmake +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.conan.enable + + + +Whether to enable install conan. + + + +*Type:* +boolean + + + +*Default:* + +```nix +false +``` + + + +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.conan.package + + + +The conan package to use. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.conan +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.conan.config + + + +conan configuration. + + + +*Type:* +attribute set + + + +*Default:* + +```nix +{ } +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.conan.install.enable + + + +Whether to enable conan install during devenv initialisation. + + + +*Type:* +boolean + + + +*Default:* + +```nix +false +``` + + + *Example:* ```nix @@ -15005,6 +15189,59 @@ pkgs.ccls +## languages.cplusplus.tools.enable + + + +Whether to enable Standalone command line tools for C++ development. + + + +*Type:* +boolean + + + +*Default:* +Enabled by default for clang-based compilers + + + +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +## languages.cplusplus.tools.package + + + +The C++ command line tools package to use. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.clang-tools +``` + +*Declared by:* + - [https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + ## languages.crystal.enable From 00b3fe7754df008f494734a21563e1a315837e80 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 22:42:07 +0000 Subject: [PATCH 12/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 237 ++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index a145d67f7..d52bea89d 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -7,6 +7,8 @@ ### languages\.cplusplus\.enable + + Whether to enable tools for C++ development\. @@ -24,6 +26,188 @@ false +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.package + + + +The C++ compiler to use\. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.clang +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.cmake + +Configuration for cmake + + + +*Type:* +submodule + + + +*Default:* + +```nix +{ } +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.cmake\.package + + + +The CMake package to use\. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.cmake +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.conan\.enable + + + +Whether to enable install conan\. + + + +*Type:* +boolean + + + +*Default:* + +```nix +false +``` + + + +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.conan\.package + + + +The conan package to use\. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.conan +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.conan\.config + + + +conan configuration\. + + + +*Type:* +attribute set + + + +*Default:* + +```nix +{ } +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.conan\.install\.enable + + + +Whether to enable conan install during devenv initialisation\. + + + +*Type:* +boolean + + + +*Default:* + +```nix +false +``` + + + *Example:* ```nix @@ -88,3 +272,56 @@ pkgs.ccls *Declared by:* - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.tools\.enable + + + +Whether to enable Standalone command line tools for C++ development\. + + + +*Type:* +boolean + + + +*Default:* +Enabled by default for clang-based compilers + + + +*Example:* + +```nix +true +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) + + + +### languages\.cplusplus\.tools\.package + + + +The C++ command line tools package to use\. + + + +*Type:* +package + + + +*Default:* + +```nix +pkgs.clang-tools +``` + +*Declared by:* + - [https://github\.com/cachix/devenv/blob/main/src/modules/languages/cplusplus\.nix](https://github.com/cachix/devenv/blob/main/src/modules/languages/cplusplus.nix) From ae07f09b47a4769dde698e58022a9d2adf777d44 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Thu, 21 May 2026 23:41:54 +0000 Subject: [PATCH 13/27] Add lanaguages.cplusplus.conan docs --- .../individual-docs/languages/cplusplus.md | 109 ++++++++++++++++++ docs/src/integrations/.nav.yml | 1 - docs/src/integrations/conan.md | 89 -------------- src/modules/integrations/conan.nix | 49 -------- tests/conan/devenv.nix | 21 ---- tests/conan/devenv.yaml | 3 - 6 files changed, 109 insertions(+), 163 deletions(-) delete mode 100644 docs/src/integrations/conan.md delete mode 100644 src/modules/integrations/conan.nix delete mode 100644 tests/conan/devenv.nix delete mode 100644 tests/conan/devenv.yaml diff --git a/docs/src/individual-docs/languages/cplusplus.md b/docs/src/individual-docs/languages/cplusplus.md index d3615c80f..6ca2c7d94 100644 --- a/docs/src/individual-docs/languages/cplusplus.md +++ b/docs/src/individual-docs/languages/cplusplus.md @@ -1,4 +1,113 @@ +## Getting Started +The easiest way to get started with C++ is to simply enable it: + +```nix +languages.cplusplus = { + enable = true; +}; +``` + +This will automatically: +- Use `clang` as the default C++ package +- Install it along with `cmake` and other tools + +Alternatively, you can manually specify packages: + +```nix +languages.cplusplus = { + enable = true; + package = pkgs.stdenv.cc; +}; +``` + +### Setting up the [Conan](https://conan.io/) package manager + +Add `conan-flake` to your inputs: + +```shell-session +$ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake +``` + +You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. + +Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: + +```nix +{ inputs, ... }: + +{ + conan = { + enable = true; + config = { + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +#### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +``` + +## Additional Examples + +### LLVM-based C++ Toolchain + +If you would like to integrate with the LLVM compiler infrastructure: + +```nix +{ inputs, pkgs, ... }: + +{ + conan = { + enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +conan create . --build=missing # This would create and test the current package. +``` [comment]: # (Please add your documentation on top of this line) diff --git a/docs/src/integrations/.nav.yml b/docs/src/integrations/.nav.yml index cea28625e..bbb78632c 100644 --- a/docs/src/integrations/.nav.yml +++ b/docs/src/integrations/.nav.yml @@ -11,4 +11,3 @@ nav: - Difftastic: difftastic.md - Delta: delta.md - treefmt: treefmt.md - - Conan: conan.md diff --git a/docs/src/integrations/conan.md b/docs/src/integrations/conan.md deleted file mode 100644 index e06a2138e..000000000 --- a/docs/src/integrations/conan.md +++ /dev/null @@ -1,89 +0,0 @@ -# `devenv` Integration for [Conan](https://conan.io/) via [`conan-flake`](https://codeberg.org/tarcisio/conan-flake) - -## Set up - -Add `conan-flake` to your inputs: - -```shell-session -$ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake -``` - -You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. - -Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: - -```nix -{ inputs, ... }: - -{ - conan = { - enable = true; - config = { - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; - }; - }; - }; -} -``` - -### In Action: - -```shell-session -$ devenv shell -Building shell ... -Entering shell ... - -conan profile show # This would show the default profile. -``` - -## Additional Examples - -### LLVM-based C++ Toolchain - -If you would like to integrate with the LLVM compiler infrastructure: - -```nix -{ inputs, pkgs, ... }: - -{ - conan = { - enable = true; - config = { - stdenv = pkgs.overrideCC - ( - pkgs.llvmPackages.libcxxStdenv.override { - targetPlatform.useLLVM = true; - } - ) - pkgs.llvmPackages.clangUseLLVM; - # By default: compiler.libcxx=libstdc++11, so undo it: - compilerLibCxx = null; - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; - }; - }; - }; -} -``` - -### In Action: - -```shell-session -$ devenv shell -Building shell ... -Entering shell ... - -conan profile show # This would show the default profile. -conan create . --build=missing # This would create and test the current package. -``` diff --git a/src/modules/integrations/conan.nix b/src/modules/integrations/conan.nix deleted file mode 100644 index efa4b77d8..000000000 --- a/src/modules/integrations/conan.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ pkgs -, lib -, config -, ... -}: -let - cfg = config.conan; - - inputArgs = { - name = "conan-flake"; - url = "git+https://codeberg.org/tarcisio/conan-flake"; - attribute = "conan"; - }; - - # When enabled, use getInput (throws helpful error if missing) - # Otherwise, use tryGetInput to populate the docs when the input is available. - conan-flake = - if cfg.enable then config.lib.getInput inputArgs else config.lib.tryGetInput inputArgs; - - # Determine config root: prefer git.root, fallback to devenv.root - configRoot = if config.git.root != null then config.git.root else config.devenv.root; - - conanSubmodule = - if conan-flake != null then - # We automatically configure Conan with the correct tree root for the project. - conan-flake.lib.submoduleWith pkgs { inherit configRoot; } - else - lib.types.attrs; -in -{ - options.conan = { - enable = lib.mkEnableOption "conan integration (through conan-flake)"; - - config = lib.mkOption { - description = "conan configuration."; - type = conanSubmodule; - default = { }; - }; - }; - - config = lib.mkIf cfg.enable { - - # conan-flake exposes `outputs.devShell` by default that can be used - # directly, or passed in the inputsFrom option as a means to compose with - # other devShell modules. - inputsFrom = [ cfg.config.outputs.devShell ]; - - }; -} diff --git a/tests/conan/devenv.nix b/tests/conan/devenv.nix deleted file mode 100644 index 8ff41749d..000000000 --- a/tests/conan/devenv.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ pkgs, ... }: - -{ - conan = { - enable = true; - config = { - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; - }; - }; - }; - - enterTest = '' - conan profile show | grep "cmake/"${pkgs.lib.escapeShellArg pkgs.cmake.version} - ''; -} diff --git a/tests/conan/devenv.yaml b/tests/conan/devenv.yaml deleted file mode 100644 index 0a9fd6c94..000000000 --- a/tests/conan/devenv.yaml +++ /dev/null @@ -1,3 +0,0 @@ -inputs: - conan-flake: - url: git+https://codeberg.org/tarcisio/conan-flake From e52ebbd74aecc13903201f733a39f183e8eaeea9 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 23:46:00 +0000 Subject: [PATCH 14/27] Auto generate docs/src/reference/options.md --- docs/src/reference/options.md | 68 ++++------------------------------- 1 file changed, 6 insertions(+), 62 deletions(-) diff --git a/docs/src/reference/options.md b/docs/src/reference/options.md index 51de33dd3..dee5573ea 100644 --- a/docs/src/reference/options.md +++ b/docs/src/reference/options.md @@ -2578,62 +2578,6 @@ list of string -## conan.enable - - - -Whether to enable conan integration (through conan-flake). - - - -*Type:* -boolean - - - -*Default:* - -```nix -false -``` - - - -*Example:* - -```nix -true -``` - -*Declared by:* - - [https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix) - - - -## conan.config - - - -conan configuration. - - - -*Type:* -attribute set - - - -*Default:* - -```nix -{ } -``` - -*Declared by:* - - [https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix](https://github.com/cachix/devenv/blob/main/src/modules/integrations/conan.nix) - - - ## container.isBuilding @@ -2790,6 +2734,8 @@ list of anything ## containers.\.fromImage + + An existing OCI base image to build on top of, built with nix2container’s pullImage. @@ -2836,8 +2782,6 @@ false ## containers.\.layers - - The layers to create. @@ -6043,6 +5987,8 @@ submodule ## git-hooks.hooks.biome.enable + + Whether to enable this pre-commit hook. @@ -6101,8 +6047,6 @@ null or string or absolute path ## git-hooks.hooks.biome.settings.configPath - - Path to the configuration JSON file @@ -8316,6 +8260,8 @@ false ## git-hooks.hooks.isort.settings.flags + + Flags passed to isort. See all available [here](https://pycqa.github.io/isort/docs/configuration/options.html). @@ -8362,8 +8308,6 @@ one of “”, “black”, “django”, “pycharm”, “google”, “open_s ## git-hooks.hooks.lacheck - - lacheck hook From 16192e9fdafda9f11dbb7792cad8b63eb41d07ea Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 23:46:58 +0000 Subject: [PATCH 15/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 109 ++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index d52bea89d..c8bb45d15 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -1,5 +1,114 @@ [comment]: # (Do not edit this file as it is autogenerated. Go to docs/individual-docs if you want to make edits.) +## Getting Started +The easiest way to get started with C++ is to simply enable it: + +```nix +languages.cplusplus = { + enable = true; +}; +``` + +This will automatically: +- Use `clang` as the default C++ package +- Install it along with `cmake` and other tools + +Alternatively, you can manually specify packages: + +```nix +languages.cplusplus = { + enable = true; + package = pkgs.stdenv.cc; +}; +``` + +### Setting up the [Conan](https://conan.io/) package manager + +Add `conan-flake` to your inputs: + +```shell-session +$ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake +``` + +You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. + +Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: + +```nix +{ inputs, ... }: + +{ + conan = { + enable = true; + config = { + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +#### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +``` + +## Additional Examples + +### LLVM-based C++ Toolchain + +If you would like to integrate with the LLVM compiler infrastructure: + +```nix +{ inputs, pkgs, ... }: + +{ + conan = { + enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + platformToolRequires = { + cmake = pkgs.cmake.version; + }; + devShell = { + packages = [ + pkgs.cmake + ]; + }; + }; + }; +} +``` + +### In Action: + +```shell-session +$ devenv shell +Building shell ... +Entering shell ... + +conan profile show # This would show the default profile. +conan create . --build=missing # This would create and test the current package. +``` [comment]: # (Please add your documentation on top of this line) From c349360c7f3de5259e84dbdfe45119121ef88b22 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 00:06:15 +0000 Subject: [PATCH 16/27] Fix references --- docs/src/individual-docs/languages/cplusplus.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/individual-docs/languages/cplusplus.md b/docs/src/individual-docs/languages/cplusplus.md index 6ca2c7d94..c0323a48b 100644 --- a/docs/src/individual-docs/languages/cplusplus.md +++ b/docs/src/individual-docs/languages/cplusplus.md @@ -21,7 +21,7 @@ languages.cplusplus = { }; ``` -### Setting up the [Conan](https://conan.io/) package manager +## Setting up the [Conan](https://conan.io/) package manager Add `conan-flake` to your inputs: @@ -29,7 +29,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options/#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options/#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: @@ -53,7 +53,7 @@ Config the `devenv.nix` file accordingly. For example, the following code would } ``` -#### In Action: +### In Action: ```shell-session $ devenv shell From b5716421b64f97c07c330d4c7a4714c20c7121a7 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 00:10:24 +0000 Subject: [PATCH 17/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index c8bb45d15..483708e21 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -22,7 +22,7 @@ languages.cplusplus = { }; ``` -### Setting up the [Conan](https://conan.io/) package manager +## Setting up the [Conan](https://conan.io/) package manager Add `conan-flake` to your inputs: @@ -30,7 +30,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options.md#conanenable). The [`conan.config`](/reference/options.md#conanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options/#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options/#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: @@ -54,7 +54,7 @@ Config the `devenv.nix` file accordingly. For example, the following code would } ``` -#### In Action: +### In Action: ```shell-session $ devenv shell From 06b6c19d321ce47a14320e2339e9fee36605462e Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 00:13:56 +0000 Subject: [PATCH 18/27] Fix references again... --- docs/src/individual-docs/languages/cplusplus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/individual-docs/languages/cplusplus.md b/docs/src/individual-docs/languages/cplusplus.md index c0323a48b..e7dfc5f2f 100644 --- a/docs/src/individual-docs/languages/cplusplus.md +++ b/docs/src/individual-docs/languages/cplusplus.md @@ -29,7 +29,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options/#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options/#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options.md#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: From 727e0967bd8c49588fec77842c2a82b1509062aa Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 00:18:16 +0000 Subject: [PATCH 19/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index 483708e21..385045c46 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -30,7 +30,7 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options/#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options/#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options.md#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: From 9fbfcb7bf1e100bff75ee9b1463e25fc9d969ecd Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 01:04:38 +0000 Subject: [PATCH 20/27] Improve docs and tests --- .../individual-docs/languages/cplusplus.md | 64 ++++++++----------- tests/cplusplus-conan-llvm-devenv/devenv.nix | 30 +++++++++ tests/cplusplus-conan-llvm-devenv/devenv.yaml | 3 + tests/cplusplus-conan-llvm/devenv.nix | 29 +++++++++ tests/cplusplus-conan-llvm/devenv.yaml | 3 + 5 files changed, 93 insertions(+), 36 deletions(-) create mode 100644 tests/cplusplus-conan-llvm-devenv/devenv.nix create mode 100644 tests/cplusplus-conan-llvm-devenv/devenv.yaml create mode 100644 tests/cplusplus-conan-llvm/devenv.nix create mode 100644 tests/cplusplus-conan-llvm/devenv.yaml diff --git a/docs/src/individual-docs/languages/cplusplus.md b/docs/src/individual-docs/languages/cplusplus.md index e7dfc5f2f..ba0f904f2 100644 --- a/docs/src/individual-docs/languages/cplusplus.md +++ b/docs/src/individual-docs/languages/cplusplus.md @@ -9,8 +9,9 @@ languages.cplusplus = { ``` This will automatically: + - Use `clang` as the default C++ package -- Install it along with `cmake` and other tools +- Install it along with CMake and other tools Alternatively, you can manually specify packages: @@ -29,30 +30,25 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options.md#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options.md#languagescplusplusconanenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. -Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: +Config the `devenv.nix` file accordingly. For example: ```nix -{ inputs, ... }: - -{ +languages.cplusplus = { + enable = true; conan = { enable = true; - config = { - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; - }; - }; + install.enable = true; }; -} +}; ``` +By default, when the Conan package is enabled: + +- The default C++ package is set to `config.stdenv.cc` +- Conan is configured to use the same CMake available in the developmemnt shell + ### In Action: ```shell-session @@ -70,28 +66,24 @@ conan profile show # This would show the default profile. If you would like to integrate with the LLVM compiler infrastructure: ```nix -{ inputs, pkgs, ... }: +{ pkgs, ... }: { - conan = { + languages.cplusplus = { enable = true; - config = { - stdenv = pkgs.overrideCC - ( - pkgs.llvmPackages.libcxxStdenv.override { - targetPlatform.useLLVM = true; - } - ) - pkgs.llvmPackages.clangUseLLVM; - # By default: compiler.libcxx=libstdc++11, so undo it: - compilerLibCxx = null; - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; + conan = { + enable = true; + install.enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; }; }; }; diff --git a/tests/cplusplus-conan-llvm-devenv/devenv.nix b/tests/cplusplus-conan-llvm-devenv/devenv.nix new file mode 100644 index 000000000..bd7f66f43 --- /dev/null +++ b/tests/cplusplus-conan-llvm-devenv/devenv.nix @@ -0,0 +1,30 @@ +{ pkgs, config, ... }: + +{ + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + + languages.cplusplus = { + enable = true; + conan = { + enable = true; + install.enable = true; + config = { + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + }; + }; + }; + enterTest = '' + ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version + echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:1:" + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + ''; +} diff --git a/tests/cplusplus-conan-llvm-devenv/devenv.yaml b/tests/cplusplus-conan-llvm-devenv/devenv.yaml new file mode 100644 index 000000000..0a9fd6c94 --- /dev/null +++ b/tests/cplusplus-conan-llvm-devenv/devenv.yaml @@ -0,0 +1,3 @@ +inputs: + conan-flake: + url: git+https://codeberg.org/tarcisio/conan-flake diff --git a/tests/cplusplus-conan-llvm/devenv.nix b/tests/cplusplus-conan-llvm/devenv.nix new file mode 100644 index 000000000..c16a06ad1 --- /dev/null +++ b/tests/cplusplus-conan-llvm/devenv.nix @@ -0,0 +1,29 @@ +{ pkgs, config, ... }: + +{ + languages.cplusplus = { + enable = true; + conan = { + enable = true; + install.enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + }; + }; + }; + enterTest = '' + ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version + echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:1:" + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + ''; +} diff --git a/tests/cplusplus-conan-llvm/devenv.yaml b/tests/cplusplus-conan-llvm/devenv.yaml new file mode 100644 index 000000000..0a9fd6c94 --- /dev/null +++ b/tests/cplusplus-conan-llvm/devenv.yaml @@ -0,0 +1,3 @@ +inputs: + conan-flake: + url: git+https://codeberg.org/tarcisio/conan-flake From 2b36151a6c06ec2a7b6ac1437713fecbb4a7c8a1 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 01:08:48 +0000 Subject: [PATCH 21/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 64 +++++++++++++++------------------ 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index 385045c46..842b56dc2 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -10,8 +10,9 @@ languages.cplusplus = { ``` This will automatically: + - Use `clang` as the default C++ package -- Install it along with `cmake` and other tools +- Install it along with CMake and other tools Alternatively, you can manually specify packages: @@ -30,30 +31,25 @@ Add `conan-flake` to your inputs: $ devenv inputs add conan-flake git+https://codeberg.org/tarcisio/conan-flake ``` -You can check [the list of available options](/reference/options.md#languagescplusplusenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. +You can check [the list of available options](/reference/options.md#languagescplusplusconanenable). The [`languages.cplusplus.conan.config`](/reference/options.md#languagescplusplusconanconfig) option, however, maps the whole of the options available in the [`conan-flake`](https://flake.parts/options/conan-flake.html) module — check the [official module documentation](https://flake.parts/options/conan-flake.html#options) and see the examples in [conan-flake's README file](https://codeberg.org/tarcisio/conan-flake/src/branch/main/README.md) to help you setting up. -Config the `devenv.nix` file accordingly. For example, the following code would configure Conan to use the same CMake available in the developmemnt shell: +Config the `devenv.nix` file accordingly. For example: ```nix -{ inputs, ... }: - -{ +languages.cplusplus = { + enable = true; conan = { enable = true; - config = { - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; - }; - }; + install.enable = true; }; -} +}; ``` +By default, when the Conan package is enabled: + +- The default C++ package is set to `config.stdenv.cc` +- Conan is configured to use the same CMake available in the developmemnt shell + ### In Action: ```shell-session @@ -71,28 +67,24 @@ conan profile show # This would show the default profile. If you would like to integrate with the LLVM compiler infrastructure: ```nix -{ inputs, pkgs, ... }: +{ pkgs, ... }: { - conan = { + languages.cplusplus = { enable = true; - config = { - stdenv = pkgs.overrideCC - ( - pkgs.llvmPackages.libcxxStdenv.override { - targetPlatform.useLLVM = true; - } - ) - pkgs.llvmPackages.clangUseLLVM; - # By default: compiler.libcxx=libstdc++11, so undo it: - compilerLibCxx = null; - platformToolRequires = { - cmake = pkgs.cmake.version; - }; - devShell = { - packages = [ - pkgs.cmake - ]; + conan = { + enable = true; + install.enable = true; + config = { + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; }; }; }; From 12aadd46630ad4c00074dcb38640c313ef108f82 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 01:15:29 +0000 Subject: [PATCH 22/27] Improve docs and tests --- .../individual-docs/languages/cplusplus.md | 30 ++++++++++++++++++- tests/cplusplus-conan-llvm-devenv/devenv.nix | 1 + 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/src/individual-docs/languages/cplusplus.md b/docs/src/individual-docs/languages/cplusplus.md index ba0f904f2..26a4e44b9 100644 --- a/docs/src/individual-docs/languages/cplusplus.md +++ b/docs/src/individual-docs/languages/cplusplus.md @@ -44,7 +44,7 @@ languages.cplusplus = { }; ``` -By default, when the Conan package is enabled: +By default, when Conan is enabled: - The default C++ package is set to `config.stdenv.cc` - Conan is configured to use the same CMake available in the developmemnt shell @@ -90,6 +90,34 @@ If you would like to integrate with the LLVM compiler infrastructure: } ``` +Or even: + +```nix +{ pkgs, ... }: + +{ + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + + languages.cplusplus = { + enable = true; + conan = { + enable = true; + install.enable = true; + config = { + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + }; + }; + }; +} +``` + ### In Action: ```shell-session diff --git a/tests/cplusplus-conan-llvm-devenv/devenv.nix b/tests/cplusplus-conan-llvm-devenv/devenv.nix index bd7f66f43..d85b6a502 100644 --- a/tests/cplusplus-conan-llvm-devenv/devenv.nix +++ b/tests/cplusplus-conan-llvm-devenv/devenv.nix @@ -20,6 +20,7 @@ }; }; }; + enterTest = '' ${pkgs.lib.getExe config.languages.cplusplus.package} --version ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version From 32ca00abffb1db8730a5d131f456e8d87bef18fa Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 01:19:38 +0000 Subject: [PATCH 23/27] Auto generate missing individual markdowns --- docs/src/languages/cplusplus.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/src/languages/cplusplus.md b/docs/src/languages/cplusplus.md index 842b56dc2..03aa8c2e5 100644 --- a/docs/src/languages/cplusplus.md +++ b/docs/src/languages/cplusplus.md @@ -45,7 +45,7 @@ languages.cplusplus = { }; ``` -By default, when the Conan package is enabled: +By default, when Conan is enabled: - The default C++ package is set to `config.stdenv.cc` - Conan is configured to use the same CMake available in the developmemnt shell @@ -91,6 +91,34 @@ If you would like to integrate with the LLVM compiler infrastructure: } ``` +Or even: + +```nix +{ pkgs, ... }: + +{ + stdenv = pkgs.overrideCC + ( + pkgs.llvmPackages.libcxxStdenv.override { + targetPlatform.useLLVM = true; + } + ) + pkgs.llvmPackages.clangUseLLVM; + + languages.cplusplus = { + enable = true; + conan = { + enable = true; + install.enable = true; + config = { + # By default: compiler.libcxx=libstdc++11, so undo it: + compilerLibCxx = null; + }; + }; + }; +} +``` + ### In Action: ```shell-session From a6dbeb052fa9a653a0fddbf79d4cf4ec8798ca9a Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 11:48:01 +0000 Subject: [PATCH 24/27] Improve tests --- tests/cplusplus-conan-llvm-devenv/devenv.nix | 7 ++++++- tests/cplusplus-conan-llvm/devenv.nix | 7 ++++++- tests/cplusplus-conan/devenv.nix | 10 ++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/tests/cplusplus-conan-llvm-devenv/devenv.nix b/tests/cplusplus-conan-llvm-devenv/devenv.nix index d85b6a502..5e8913cb1 100644 --- a/tests/cplusplus-conan-llvm-devenv/devenv.nix +++ b/tests/cplusplus-conan-llvm-devenv/devenv.nix @@ -23,9 +23,14 @@ enterTest = '' ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.package} --version \ + | grep clang ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.lsp.package} --version \ + | grep ${pkgs.lib.escapeShellArg config.languages.cplusplus.lsp.package.version} ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:1:" - ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show \ + | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} ''; } diff --git a/tests/cplusplus-conan-llvm/devenv.nix b/tests/cplusplus-conan-llvm/devenv.nix index c16a06ad1..596cf8484 100644 --- a/tests/cplusplus-conan-llvm/devenv.nix +++ b/tests/cplusplus-conan-llvm/devenv.nix @@ -21,9 +21,14 @@ }; enterTest = '' ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.package} --version \ + | grep clang ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.lsp.package} --version \ + | grep ${pkgs.lib.escapeShellArg config.languages.cplusplus.lsp.package.version} ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:1:" - ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show \ + | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} ''; } diff --git a/tests/cplusplus-conan/devenv.nix b/tests/cplusplus-conan/devenv.nix index e0290874d..04c17f6a2 100644 --- a/tests/cplusplus-conan/devenv.nix +++ b/tests/cplusplus-conan/devenv.nix @@ -6,9 +6,15 @@ languages.cplusplus.conan.install.enable = true; enterTest = '' ${pkgs.lib.getExe config.languages.cplusplus.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.package} --version \ + | grep ${pkgs.lib.escapeShellArg config.stdenv.cc.cc.pname} ${pkgs.lib.getExe config.languages.cplusplus.cmake.package} --version + ${pkgs.lib.getExe config.languages.cplusplus.lsp.package} --version \ + | grep ${pkgs.lib.escapeShellArg config.languages.cplusplus.lsp.package.version} ${pkgs.lib.getExe config.languages.cplusplus.conan.package} --version - echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" | grep "enable:"${pkgs.lib.escapeShellArg config.stdenv.cc.isClang}":" - ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} + echo "enable:"${pkgs.lib.escapeShellArg config.languages.cplusplus.tools.enable}":" \ + | grep "enable:"${pkgs.lib.escapeShellArg config.stdenv.cc.isClang}":" + ${pkgs.lib.getExe config.languages.cplusplus.conan.package} profile show \ + | grep "cmake/"${pkgs.lib.escapeShellArg config.languages.cplusplus.cmake.package.version} ''; } From b10a5455b5d07b1b30291dc8f3e8a5971f1f506f Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 13:26:23 +0000 Subject: [PATCH 25/27] Test clang is default cplusplus compiler by default --- tests/cplusplus/devenv.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/cplusplus/devenv.nix b/tests/cplusplus/devenv.nix index 5be70d463..cd9f2937b 100644 --- a/tests/cplusplus/devenv.nix +++ b/tests/cplusplus/devenv.nix @@ -4,6 +4,8 @@ languages.cplusplus.enable = true; enterTest = '' clang --version + ${pkgs.lib.getExe config.languages.cplusplus.package} --version \ + | grep clang cmake --version ccls --version | grep ${pkgs.lib.escapeShellArg config.languages.cplusplus.lsp.package.version} # Validate some clang-tools are in the path: From 61f94d4ad5d2ab20bbaa2cf39c18643bf9f87ca7 Mon Sep 17 00:00:00 2001 From: tarcisio Date: Fri, 22 May 2026 13:31:56 +0000 Subject: [PATCH 26/27] Fix zig docs (enumeration was broken) --- docs/src/individual-docs/languages/zig.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/individual-docs/languages/zig.md b/docs/src/individual-docs/languages/zig.md index b49cbeea7..f3f00ab77 100644 --- a/docs/src/individual-docs/languages/zig.md +++ b/docs/src/individual-docs/languages/zig.md @@ -10,6 +10,7 @@ languages.zig = { ``` This will automatically: + - Use the specified Zig version from zig-overlay - Install the corresponding ZLS version (e.g., version "0.15.1" uses ZLS 0.15.0) From 255ac6e3ce22414b12048c10f788544bb912b041 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 13:37:08 +0000 Subject: [PATCH 27/27] Auto generate missing individual markdowns --- docs/src/languages/zig.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/languages/zig.md b/docs/src/languages/zig.md index d68e0c1e8..72058b04a 100644 --- a/docs/src/languages/zig.md +++ b/docs/src/languages/zig.md @@ -11,6 +11,7 @@ languages.zig = { ``` This will automatically: + - Use the specified Zig version from zig-overlay - Install the corresponding ZLS version (e.g., version "0.15.1" uses ZLS 0.15.0)