{ pkgs, ... }:
{
  imports = [
    # ../../minimal.nix
    ../minimal
    ../headless

    ./bashrc.d
    ./nix.nix
    ./nix-index.nix
    ./ast-grep.nix
    ./gtk-theme.nix # TODO: move to headless?
    # ./beets.nix
    ../desktop/zed/remote.nix # lsps for remote zed development
  ];

  #TODO: xdg.desktopEntries

  # TODO: only applies to nox...
  home.shellAliases.flexget = "ssh -t noximilien sudo --user=flexget flexget -c /var/lib/flexget/flexget.yml";

  home.packages = with pkgs; [
    android-tools

    shpool

    zip
    unrar
    unzip
    atool
    p7zip
    bzip2
    gzip
    atool

    dos2unix

    pandoc # TODO: latex
    graphviz
    visidata
    typst

    gallery-dl
    yt-dlp

    vgmstream
    ffmpeg-full

    /* (pkgs.termsvg or pkgs.unstable.termsvg) */

    lolcat
    toilet
    boxes
    tewisay
    ponysay
    krabby

    # TODO: move to graphical? kiosk?
    cage
    mesa-demos

    # librespeed-cli # provides `speedtest-cli`

    #cargo
    #cargo-update
    #cargo-edit

    #nim
    #nimble

    poetry
    (python3.withPackages (python-packages: with python-packages; [
      matplotlib
      more-itertools
      numpy
      #objexplore # TODO: package this, used in python interactive shell
      ptpython
      python-lsp-server
      pyyaml
      requests
      rich
      scipy
      toml
      virtualenv
    ]))
  ];

  xdg.configFile."ptpython/config.py" = {
    source = ../../files/ptpython-config.py;
    force = true;
  };

}
