{
  pkgs,
  ...
}:

{
  # BEGIN PACKAGES
  home.packages = with pkgs; [
    adw-gtk3
    arc-icon-theme
    audacity
    bibata-cursors
    brave
    btop
    emacs-all-the-icons-fonts
    emacs-gtk
    emacsPackages.pdf-tools
    exfatprogs
    fastfetch
    ffmpeg
    floorp-bin
    focus
    fuzzel
    fzf
    gimp
    gtk4
    gvfs
    grimblast
    hyprpicker
    hyprpwcenter
    imagemagick
    kdePackages.kdenlive
    kdePackages.qt6ct
    keepassxc
    libsForQt5.qt5ct
    localsend
    materia-theme
    mpv
    mupdf
    nwg-displays
    nwg-look
    openvpn
    prismlauncher
    signal-desktop
    tela-icon-theme
    tela-circle-icon-theme
    texliveFull
    thunar
    thunar-volman
    tree
    wev
    zoom-us
  ];

  # BEGIN PROGRAMS
  programs = {
    bash = {
      enable = true;
      enableCompletion = true;
      enableVteIntegration = true;
      initExtra =''
        if [[ -z $ORIG_SHLVL ]]; then
            export ORIG_SHLVL=$SHLVL
        fi;
        if [[ $SHLVL -gt $ORIG_SHLVL ]]; then
            export PS1='\[\e[1;m\e[1;33m\e[1;m\] ($(($SHLVL - $ORIG_SHLVL))) \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
        else
            export PS1='\[\e[1;m\e[1;33m\e[1;m\] \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
        fi;
        export PATH="$HOME/.local/bin:$PATH"
        set -o vi
        fastfetch
      '';
      shellAliases = {
        build = "./build.sh";
        emacsd = "emacs --daemon";
        emacsc = "emacsclient -c -a 'emacs'";
        gap = "git add -p";
        gcp = "git commit -p";
        kpx = "keepassxc-cli open";
        ls = "ls --color=auto";
        ll = "ls -l";
        la = "ls -lA";
        fastfetch = "fastfetch -c $HOME/.config/fastfetch/config.json";
        new = "source $HOME/.bashrc";
        newbar = "pkill waybar; waybar &disown";
        ping = "ping -c 5";
        vi = "\\vim";
        vim = "nvim";
        ".." = "cd ..";
      };
    };
    dank-material-shell = {
      enable = true;
    };
    feh.enable = true;
    git = {
      enable = true;
      lfs.enable = true;
      signing.format = "openpgp";
      settings = {
        user.email = "maloneliam@proton.me";
        user.name = "Liam Malone";
      };
    };
    obs-studio = {
      enable = true;
    };
    diff-so-fancy = {
      enable = true;
      enableGitIntegration = true;
    };
  };
}

