{ config, lib, ... }: { config = lib.mkMerge [ (lib.mkIf config.homeconfig.ags.enable { home.file = let files = [ "ags/bluetooth.js" "ags/brightness.js" "ags/clock.js" "ags/config.js" "ags/media.js" "ags/notif.js" "ags/notification.js" "ags/power.js" "ags/settings.js" "ags/systemtray.js" "ags/wifi.js" "ags/workspaces.js" ]; in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files)); }) (lib.mkIf config.homeconfig.hyprland.enable { home.file = let files = [ "hypr/otf.conf" "hypr/pyprland.toml" "hypr/main.conf" ]; in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files)); }) (lib.mkIf config.homeconfig.swaylock.enable { home.file = let files = [ "swaylock/config" ]; in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files)); }) (lib.mkIf config.homeconfig.wal.enable { home.file = let files = [ "wal/templates/cava_config" "wal/templates/colors-ags.css" "wal/templates/colors-discord.css" "wal/templates/colors-hypr.conf" ]; in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files)); }) ]; }