# This is a common user configuration.
{
	__findFile,
	config,
	const,
	inputs,
	lib,
	pkgs,
	pkgsMaster,
	pkgsUnstable,
	self,
	...
} @args: let
	cfg = config.home.android;
	android  = import ./android args;
	env      = import ./env     args;
	file     = import ./file    args;
	package  = import <package> args;
	programs = import ./program args;
	stylix   = import <system/Stylix.nix> args;
in {
	options.home.android = {
		enable = lib.mkEnableOption "the Android HM config.";
	};

	config = lib.mkIf cfg.enable {
		environment.packages = package.core;
		nix.extraOptions     = "experimental-features = nix-command flakes";
		system.stateVersion  = const.droidStateVersion;
		time.timeZone        = const.timeZone;
		terminal = {
			inherit (android) font colors;
		};
		home-manager.config = stylix // {
			programs = with programs; core;
			imports = [
				inputs.stylix.homeManagerModules.stylix
			];
			home = {
				inherit (env) sessionVariables;
				inherit file;
				stateVersion = const.droidStateVersion;
			};
		};
	};
}