{ homeManager, inputs, moduleNameSpace, ... }: { config, lib, pkgs, ... }: let args = { moduleNameSpace = "beeMods"; inherit inputs homeManager; }; scripts = import ./scripts.nix { inherit pkgs config; }; in { imports = [ (import ./mango args) (import ./niri args) (import ./noctalia.nix args) ]; options.${moduleNameSpace}.windowManagers = { mango.enable = lib.mkEnableOption "Enable mangowm"; niri.enable = lib.mkEnableOption "Enable niri"; noctalia = lib.mkEnableOption "Enable noctalia shell"; beeConfig = { enable = lib.mkEnableOption "Enable stuff from my config"; waybar = lib.mkOption { type = lib.types.bool; default = config.beeMods.windowManagers.beeConfig.enable || false; description = "Enable waybar"; }; }; eyeCandy = { enable = lib.mkEnableOption "Enable Eyecandy ex (animations, windowblurs, effects)"; animations = { enable = lib.mkOption { type = lib.types.bool; default = config.beeMods.windowManagers.eyeCandy.enable || false; description = "Uiiiiiiiiiii"; }; }; window = { blur = { enable = lib.mkEnableOption "Enable window blur"; passes = lib.mkOption { type = lib.types.int; default = 3; }; radius = lib.mkOption { type = lib.types.int; default = 12; }; }; shadows.enable = lib.mkEnableOption "Enable window drop shadows"; borderRadius = lib.mkOption { type = lib.types.int; default = 12; description = "Border radius"; }; opacity = lib.mkOption { type = lib.types.number; default = 0.87; description = "Window opacity"; }; }; }; }; config = ( if homeManager then { home.packages = with pkgs; [ wl-clipboard brightnessctl playerctl fyi scripts.dotfiles ] ++ lib.optionals config.beeMods.windowManagers.beeConfig.enable [ waybar matugen awww cliphist ]; } else { } ); }