{ self, nixos-generators, defaultSpecialArgs, defaultModules, pkgs, sysLib, nixVim, system, ... }: let inherit (pkgs) lib; inherit (import ./merge.nix {inherit lib;}) merge; output = import ../../bootstrap {inherit pkgs sysLib;}; args = { inherit pkgs; inherit (pkgs) lib; }; nvim = builtins.mapAttrs ( name: value: let nvim_config = import ../../home-manager/soispha/config/neovim/nixvim/default.nix args; build_args = args // {nixosConfig = value.config;}; merge_attrs = list_of_attrs: builtins.foldl' (x: y: merge [x y]) {} list_of_attrs; resolve_imports = attrs: merge_attrs (builtins.map (v: import v build_args) attrs.imports); resolve_imports' = attrs: if builtins.any (n: n == "imports") (builtins.attrNames attrs) then resolve_imports' (merge_attrs [ (resolve_imports attrs) (builtins.removeAttrs attrs ["imports"]) ]) else attrs; complete_config = resolve_imports' nvim_config; in nixVim.legacyPackages."${system}".makeNixvim ( builtins.removeAttrs complete_config.programs.nixvim ["enable"] ) ) self.nixosConfigurations; in { install-iso = nixos-generators.nixosGenerate { system = "x86_64-linux"; specialArgs = defaultSpecialArgs; modules = [ ../../hosts/marduk ]; format = "install-iso"; }; gpg-iso = nixos-generators.nixosGenerate { system = "x86_64-linux"; specialArgs = defaultSpecialArgs; modules = [ ../../hosts/isimud ] ++ defaultModules; format = "iso"; }; vim = nvim.tiamat; inherit nvim; } // output