From 7cbe29e8647e9b14c400af9bbf2b45b79b5f2f1c Mon Sep 17 00:00:00 2001 From: "quentin@aristote.fr" Date: Sat, 16 Sep 2023 18:12:59 +0200 Subject: modules: devenv: improve method to auto-import module in all shells --- modules/flake-parts/devenv.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 modules/flake-parts/devenv.nix (limited to 'modules/flake-parts/devenv.nix') diff --git a/modules/flake-parts/devenv.nix b/modules/flake-parts/devenv.nix new file mode 100644 index 0000000..bdc40b1 --- /dev/null +++ b/modules/flake-parts/devenv.nix @@ -0,0 +1,23 @@ +devenvModules: { + flake-parts-lib, + lib, + inputs, + ... +}: { + imports = [inputs.devenv.flakeModule]; + + options.perSystem = flake-parts-lib.mkPerSystemOption { + options.devenv.shells = lib.mkOption { + type = with lib.types; + lazyAttrsOf (submoduleWith { + modules = builtins.attrValues devenvModules; + shorthandOnlyDefinesConfig = null; + }); + }; + }; + + # the extra parameter before the module make this module behave like an + # anonymous module, so we need to manually identify the file, for better + # error messages, docs, and deduplication. + _file = __curPos.file; +} -- cgit v1.2.3