{ self, nixos-generators, pkgs, myPkgs, pkgsStable, sysLib, nixVim, system, shell_library, ... }: let inherit (pkgs) lib; inherit (import ./merge.nix {inherit lib;}) merge; output = import ../../bootstrap {inherit pkgs sysLib;}; # FIXME: Do what the trace says. <2024-11-09> nvim = builtins.trace "nvim build currently broken, using default" { tiamat = pkgs.neovim; apzu = pkgs.neovim; }; # builtins.mapAttrs ( # name: value: let # nvim_config = # import ../../modules/home.legacy/conf/nvim/default.nix # build_args; # build_args = let # inherit (value._module.args) pkgs; # inherit (pkgs) lib; # in { # inherit pkgs pkgsStable lib; # nixosConfig = value.config; # config = value.config.home-manager.users.soispha; # }; # # resolve_imports = attrs: # merge (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 [ # (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; output_neovim = lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair "nvim_${name}" value) nvim; myPkgsFlat = builtins.listToAttrs # Filter out the `override` and `overrideDerivation` functions (builtins.filter ({ name, value, }: lib.attrsets.isDerivation value) (lib.lists.flatten ( lib.attrsets.mapAttrsToList (name: value: if lib.attrsets.isDerivation value then [ { inherit name value; } ] else lib.attrsets.mapAttrsToList (name: value: { inherit name value; }) value) myPkgs ))); firefox = (import ../../modules/home.legacy/conf/firefox/scripts) {inherit pkgs sysLib;}; in { # install-iso = nixos-generators.nixosGenerate { # system = "x86_64-linux"; # specialArgs = defaultSpecialArgs; # modules = [ # ../../hosts/marduk # ]; # format = "install-iso"; # }; update_shell_lib = shell_library.packages."${system}".update_shell_library; # gpg-iso = nixos-generators.nixosGenerate { # system = "x86_64-linux"; # specialArgs = defaultSpecialArgs; # modules = # [ # ../../hosts/isimud # ] # ++ defaultModules; # format = "iso"; # }; nvim = nvim.tiamat; } // output // output_neovim // firefox // myPkgsFlat