# Add to flake.nix
    # catppuccin.url = "github:catppuccin/nix";
# Define output
  catppuccin,
# Add to Home Manager Modules
catppuccin.homeManagerModules.catppuccin

# Add to let in home.nix
# Define your list of programs to be themed
  themedPrograms = [ "bat" "bottom" "btop" "cava" "fish" "fzf" "hyprlock" "kitty" "laztgit" "neovim" "rofi" "starship" "tmux" "waybar" "yazi" ];

  # Define constants for `enable` and `flavor`
  themeEnabled = true;
  themeFlavor = "mocha";  # or any other Catppuccin flavor

  # Recursive function to apply the theme settings
  applyTheme = programs:
    if programs == [] then {}
    else let
      program = builtins.head programs;
    in
      # Merge the settings for the current program with the results of the next
      {
        programs.${program} = lib.mkIf true {
          catppuccin.enable = themeEnabled;
          catppuccin.flavor = themeFlavor;
        };
      } // applyTheme (builtins.tail programs);  # Recurse to the next item

  themedServices = [ "mako" ];
  themeService = services:
    if services == [] then {}
    else let
      service = builtins.head services;
    in
      {
        services.${service} = lib.mkIf true {
          catppuccin.enable = themeEnabled;
          catppuccin.flavor = themeFlavor;
        };
      } // themeService (builtins.tail services);  # Recurse to the next item


# Add last home.nix
# Theme with a loop.
  // applyTheme themedPrograms
  // themeService themedServices

  # add to hm/wayland.nix
  wayland.windowManager = {
    hyprland = {
      catppuccin = {
        enable = true;
        accent = "blue";
      };
    };