{ inputs, ... }: {
  flake-file.inputs = {
    catppuccin.url = "github:catppuccin/nix/release-26.05";
    catppuccin.inputs.nixpkgs.follows = "nixpkgs";
  };

  flake.modules.nixos.catppuccin = {
    imports = [
      inputs.catppuccin.nixosModules.catppuccin
    ];

    home-manager.sharedModules = [
      inputs.self.modules.homeManager.catppuccin
    ];

    catppuccin.enable = true;
  };

  flake.modules.homeManager.catppuccin = { pkgs, ... }: {
    imports = [
      inputs.catppuccin.homeModules.catppuccin
    ];

    # Catppuccin cursor
    home.pointerCursor =
      let
        size = 24;
      in
      {
        enable = true;
        package = pkgs.catppuccin-cursors.mochaMauve;
        name = "catppuccin-mocha-mauve-cursors";
        inherit size;

        dotIcons.enable = true;
        gtk.enable = true;
        hyprcursor.enable = true;
        hyprcursor.size = size;
      };

#   wayland.windowManager.hyprland.settings.exec-once = [
#     "hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
#   ];

    catppuccin.enable = true;
    # Required for QT apps to use the catppuccin colors
    qt = {
      enable = true;
      style.name = "kvantum";
    };

    gtk = {
      enable = true;
      colorScheme = "dark";
    };
  };
}
