{ inputs, self, ... }: { imports = [ (inputs.helpers.mkMirroredModulesFlakeModule "graphicsOptions" ({ lib, ... }: { options.features.nixos.stylix = { enable = lib.mkEnableOption "Stylix"; image = lib.mkOption { type = lib.types.path; default = /home/grey/Pictures/wallpaper.png; }; }; })) ]; flake.nixosModules.graphics = { pkgs, lib, config, ... }: { imports = [ inputs.stylix.nixosModules.stylix ]; stylix = lib.mkIf (config.features.nixos.stylix.enable) { enable = true; image = config.features.nixos.stylix.image; polarity = "dark"; }; home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.stylix.enable && config.features.nixos.home-manager.enable) { features.nixos.stylix.enable = lib.mkDefault true; }; }; flake.homeModules.graphics = { lib, config, options, ... }: { config = lib.mkIf (config.features.nixos.stylix.enable) (lib.optionalAttrs (builtins.hasAttr "stylix" options) { stylix.targets = lib.mkIf (config.features.applications.gui.floorp.enable) { floorp.profileNames = [ "default" ]; }; }); }; }