{
  inputs,
  pkgs,
  self,
  config,
  ...
}: {

  nixpkgs.config.allowUnfree = false;
  home.packages = with pkgs; [
    # system
    wget
    unzip
    neovim
    python3
    dconf
    libnotify
    i3lock-fancy-rapid
    pkg-config
    alsa-utils
    nmap
    traceroute

    # cli
    zellij
    fd
    glow
    trash-cli
    thefuck
    xclip
    fend
    broot
    unar
    bottom
    rsync
    dua

    # gui
    feh
    rofi
    dunst
    yq
    imagemagick
    ungoogled-chromium
    librewolf
    mullvad-browser
    tor-browser-bundle-bin
    gimp
    logseq
    zotero
    armcord
    # freetube
    texstudio
    texlive.combined.scheme-full
    mpv
    inkscape
    dolphin
    qgis
    obs-studio
    mumble
    freetube
    kotatogram-desktop
    signal-desktop
    qbittorrent
    thunderbird
    libreoffice
    vscodium
    freeplane
    qutebrowser

    # dev
    psmisc
    qmk
    python311Packages.pip
    cmake
    texlab

    # gaming
    gamemode
    gamehub
    lutris
    prismlauncher
    airshipper
    bottles
    minigalaxy
    cemu
    mindustry
    steam-tui
    steamcmd

    # media
    ffmpeg
    pulseaudio
    playerctl
    pavucontrol
    pulsemixer
    pamixer
    alsa-utils
    alsa-tools
    cava
  ];
}
