{ inputs, outputs, lib, config, pkgs, ... }:
  let
    userName = "jaci";
    fullName = "Jaci Anderson";
    email = "jaci.s.anderson@gmail.com";
  in
{
  # nixpkgs.overlays = [
  #   inputs.nur.overlay
  # ];

  # nixpkgs.config.allowUnfree = true;
  # inputs.nixpkgs-stable.config.allowUnfree = true;
  imports = [
      ../apps/firefox/firefox.nix
  ];
  
  home.username = userName;
  home.homeDirectory = "/home/${userName}";

  programs.home-manager.enable = true;

  home.stateVersion = "23.11"; # Please read the comment before changing.

  # The home.packages option allows you to install Nix packages into your
  # environment.
  firefoxApp.enable = true;
  
  fonts.fontconfig.enable = true;
  home.packages = with pkgs; [
    helix
    
    mangohud
    wine-wayland
    webcord
    mumble

    bat
    duf
    fd
    fzf
    lsd
    ripgrep
    tre-command
    gtop

    imv
    mpv
    gimp

    # Install fonts
    (nerdfonts.override { fonts = [ "Hermit" "Gohu" ]; })
    # Style
    catppuccin-kvantum
    libsForQt5.qtstyleplugin-kvantum
    libsForQt5.qt5ct
  ];

  home.file."${config.xdg.configHome}" = {
    source = ../../dotfiles;
    recursive = true;
  };


  home.sessionVariables = {
    EDITOR = "hx";
  };

  # Git setup
  programs.git = {
      enable = true;
      userEmail = email;
      userName = fullName;
  };

  # Zsh setup
  programs.zsh = {
      enable = true;
      oh-my-zsh = {
          enable = true;
          plugins = [ "git" ];
          theme = "half-life";
      };
      initExtra = ''
          alias ask="nix-shell -p python310Packages.openai --run 'python ~/source/python/chat.py'"

          fzf_projects() {
              DIR=`
              fd .git --search-path="$HOME/source/" -H --ignore-file ~/.config/fd-ignore -tdirectory | \
              xargs dirname | \
              sed 's|$HOME||g' | \
              sort | \
              uniq | \
              fzf --preview 'ls $HOME/{}/README.md 2>/dev/null && bat $HOME/{}/README.md || printf "No README.md file found in this directory\n%s" {}' --preview-window=top | \
              xargs printf "$HOME/%s/"
              `
              cd $DIR
          }
          alias p="fzf_projects source/"

          ### Busykid Bash Functions

       '';
  };


    #
    # Theming qt and gnome apps
    #
    qt = {
      enable = true;
      platformTheme.name = "qtct";
      style.name = "kvantum";
    };
    gtk = {
      enable = true;
      cursorTheme = {
        package = pkgs.catppuccin-cursors.latteLavender;
        name = "Catppuccin-Latte-Lavender-Cursors";
      };
      iconTheme = {
        package = pkgs.catppuccin-papirus-folders;
        name = "Papirus-Light";
      };
      theme = {
        name = "catppuccin-latte-lavender-compact+rimless";
        package = pkgs.catppuccin-gtk.override {
          accents = [ "lavender" ];
          size = "compact";
          tweaks = [ "rimless" ];
          variant = "latte";
        };
      };
    };
}