{ config, pkgs, lib, system, inputs, ... }:

{
  home.username = "nico";
  home.homeDirectory = "/home/nico";

  imports = [
    ./packages
    inputs.spicetify-nix.homeManagerModules.default
    inputs.zen-browser.homeModules.default
    inputs.catppuccin.homeModules.catppuccin
  ];

  nixpkgs = {
    config = {
      allowUnfree = true;
      allowUnfreePredicate = (_: true);
    };
  };

  home.packages = with pkgs; [
    # floorp
  ];

  programs.zen-browser.enable = true;

  catppuccin = {
    enable = true;
    accent = "mauve";
    flavor = "mocha";
  };

  home.pointerCursor = 
    let 
      getFrom = url: hash: name: {
          gtk.enable = true;
          x11.enable = true;
          name = name;
          size = 48;
          package = 
            pkgs.runCommand "moveUp" {} ''
              mkdir -p $out/share/icons
              ln -s ${pkgs.fetchzip {
                url = url;
                hash = hash;
              }} $out/share/icons/${name}
          '';
        };
    in
      getFrom 
        "https://github.com/ful1e5/banana-cursor/releases/download/v2.0.0/Banana-Blue.tar.xz"
        # "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.0/Fuchsia-Pop.tar.gz"
        "sha256-IZ6sidRjcg0r+E2eFlVfIouTpKWndvrZlCNNYZMQJE0="
        "Banana-Blue";





  programs.spicetify =
    let
    spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
  in
  {
    enable = false;
    theme = spicePkgs.themes.catppuccin;
    colorScheme = "mocha";

    enabledExtensions = with spicePkgs.extensions; [
      keyboardShortcut
      wikify
      songStats
      betterGenres
      hidePodcasts
      fullScreen
    ];
    enabledCustomApps = with spicePkgs.apps; [
        lyricsPlus
    ];
  };

  home.stateVersion = "24.05";

  programs.home-manager.enable = true;

  # options = {
  #   services.zed = {
  #     enable = lib.mkEnableOption "Zed Editor";
  #   };
  # };
  #
  # config = lib.mkIf config.services.zed.enable {
  #   environment.systemPackages = [
  #     inputs.zed.packages.${system}.default
  #     pkgs.nixd  # System-wide Nix LSP installation
  #   ];
  # };
}

