diff --git a/Droidnix/generated/hyprland/hyprland.nix b/Droidnix/generated/hyprland/hyprland.nix index 97b8485f2..da86e59dd 100644 --- a/Droidnix/generated/hyprland/hyprland.nix +++ b/Droidnix/generated/hyprland/hyprland.nix @@ -7,6 +7,14 @@ ... }: +let + # Get all files from your assets directory + hyprlandFiles = builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf/hypr"); + # Create a mapping of filename to source path for each file + hyprlandConfs = lib.genAttrs hyprlandFiles (name: { + source = "${flakeRoot}/assets/hyprland/conf/hypr/${name}"; + }); +in { # Enable Hyprland programs.hyprland = { @@ -20,61 +28,16 @@ home.homeDirectory = config.home-manager.users.${user.username}.homeDirectory or "/home/${user.username}"; - # Enable Hyprland in Home Manager wayland.windowManager.hyprland = { enable = true; }; - # Create all the config files from your assets directory + # Create the config directory and all files xdg.configFile = { - # First create the directory "hypr/.keep" = { text = ""; }; - - # Then add all your config files - "hypr/hyprland.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/hyprland.conf"; - }; - "hypr/animations.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/animations.conf"; - }; - "hypr/behaviour.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/behaviour.conf"; - }; - "hypr/bindings.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/bindings.conf"; - }; - "hypr/exec-once.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/exec-once.conf"; - }; - "hypr/hypridle.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/hypridle.conf"; - }; - "hypr/hyprlock.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/hyprlock.conf"; - }; - "hypr/layer-rules.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/layer-rules.conf"; - }; - "hypr/layout.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/layout.conf"; - }; - "hypr/monitor-rules.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/monitor-rules.conf"; - }; - "hypr/theming.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/theming.conf"; - }; - "hypr/variables.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/variables.conf"; - }; - "hypr/window-rules.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/window-rules.conf"; - }; - "hypr/workspace-rules.conf" = { - source = "${flakeRoot}/assets/hyprland/conf/hypr/workspace-rules.conf"; - }; - }; + } + // lib.mapAttrs (name: value: "hypr/${name}") hyprlandConfs; }; }