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 +++++++++++++++++++++++ modules/flake-parts/personal.nix | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 modules/flake-parts/devenv.nix create mode 100644 modules/flake-parts/personal.nix (limited to 'modules/flake-parts') 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; +} diff --git a/modules/flake-parts/personal.nix b/modules/flake-parts/personal.nix new file mode 100644 index 0000000..370e176 --- /dev/null +++ b/modules/flake-parts/personal.nix @@ -0,0 +1,3 @@ +{ + systems = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; +} -- cgit v1.2.3