{ config, lib, pkgsStable, nixpkgs_open_prs, sysLib, # extra information system, # bins # TODO: Integrate these <2024-05-22> river_init_lesser, shell_library, # external deps user_js, # modules impermanence, nix-index-database, nixVim, ... }: let cfg = config.soispha.home-manager; in { options.soispha.home-manager = { enable = lib.mkEnableOption "home-manager with custom config."; }; # TODO: Find a way to throw this error below, when a user `enable`s a home-manager # module, but not this module. Without having to plaster all the `home-manager` modules # with `assert`s. <2024-10-18> # builtins.throw "If you want use a home-manager module, you must also enable `soispha.home-manager.enable`."); config = lib.mkIf cfg.enable { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.soispha = import ../../../home.legacy; extraSpecialArgs = { inherit nixpkgs_open_prs pkgsStable sysLib # extra information system # bins river_init_lesser shell_library # external deps user_js # modules impermanence nixVim nix-index-database ; }; }; }; }