{ pkgs, self, ... }: let inherit (pkgs.lib) listToAttrs nameValuePair; mkLangsShells = langs: listToAttrs (map ( l: nameValuePair l ((pkgs.callPackage "${self}/homeManagerModules/neovim/langs/${l}/shell.nix" {inherit self;}).overrideAttrs (o: { meta.description = "${l} shell to be loaded by my Neovim config dynamically."; })) ) langs); in mkLangsShells [ "csharp" "json" "lua" "markdown" "rust" "web" "c-lang" ]