{ lib, config, pkgs, flakeRoot, user, ... }: let ewwConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/eww"; # Dynamically read all files in assets/system/conf/eww/ ewwConfs = lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/system/conf/eww")) (name: { text = builtins.readFile "${flakeRoot}/assets/system/conf/eww/${name}"; }); in { environment.systemPackages = with pkgs; [ eww ]; home-manager.users.${user.username} = { home.file = { "${ewwConfigDir}" = { source = "${flakeRoot}/assets/system/conf/eww"; recursive = true; }; }; home.sessionVariables = { EWW_BIN = "${pkgs.eww}/bin/eww"; }; # Start eww with Hyprland/MangoWC wayland.windowManager.hyprland.settings = lib.mkForce { exec-once = [ "eww daemon" ]; exec = [ "eww open-many ${ewwConfigDir}/widgets" ]; # Adjust as needed }; }; }