{ inputs, system, secrets, config, lib, ... }: { imports = [ ./meta.nix ]; config = { home-manager = let entrypoint = { imports = [ # Import meta options for configuring the configuration ./meta.nix # Import all of my config ./config ]; home.stateVersion = "24.05"; # Inherit my home manager config options meta.home-manager = config.meta.home-manager; }; in lib.mkMerge [ ## General home-manager.* options { # Allow user installation of packages useGlobalPkgs = true; useUserPackages = true; sharedModules = [ # Import plasma manager and all of my custom modules for use inputs.plasma-manager.homeManagerModules.plasma-manager inputs.flatpaks.homeManagerModules.declarative-flatpak ./modules ]; # Inherit all of my nixos config custom arguments extraSpecialArgs = { inherit inputs system secrets; }; # Hopefully avoid file conflicts backupFileExtension = "bak"; } # The nixos home-manager module and the nix-on-droid compatibility have different options, # so this handles both in the same file (if (config.meta.home-manager.interface == "nixos") then { users.ty = entrypoint; } else { config = entrypoint; }) ]; }; }