{ config, pkgs, ... }:
{
  users.users.yoda = {
    packages = with pkgs; [
      #
      # DEVELOPMENT
      #

      # CLI apps
      gnumake # make
      wget
      btop # Terminal resource monitor / task manager
      htop # Terminal resource monitor / task manager
      killall
      colmena

      # Graphical apps
      gnome.gnome-terminal # Terminal. For now, we use this instead of gnome-console.
      gnome.gnome-tweaks
      gnome.dconf-editor
      meld # Diff and merge tool
      handbrake # Rip DVD and Blu-ray; rotate and export videos
      mediainfo-gui # View video metadata.

      fractal # Matrix chat client.
      # Other Matrix clients.
      #   fluffychat
      #   Web version: https://app.cinny.in/
      #   cinny-desktop
      #   element-desktop, see `element-desktop.nix`

      #
      # 3D modeling and printing
      #

      # Can import .stl files: https://docs.blender.org/manual/en/latest/files/import_export/stl.html
      #blender
      # Optional HIP support increases the closure size significantly (https://github.com/NixOS/nixpkgs/blob/34bdaaf1f0b7fb6d9091472edc968ff10a8c2857/pkgs/applications/misc/blender/default.nix#L9).
      # Blender HIP rendering: https://docs.blender.org/manual/en/latest/render/cycles/gpu_rendering.html#hip-amd
      #blender-hip

      # General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler.
      # Can import .stl files.
      #freecad
      # 3D parametric model compiler.
      # Can import .stl files with: import("example.stl");
      #openscad

      # G-code generator for 3D printers.
      # Multiple G-code flavors supported (RepRap, Makerbot, Mach3, Machinekit, etc.)
      # SuperSlicer is a PrusaSlicer fork (which is a slic3r fork) (previously Slic3r++).
      #super-slicer

      #
      # OFFICE
      #

      # Graphical apps

      epiphany # Web browser
      unstable.resources # Resource monitor / task manager
      #gnome-secrets # Password manager (Native Wayland client), but very slow.
      keepassxc # Password manager. TODO Wayland: Maybe QT_QPA_PLATFORM defined in ghostwriter.nix fixed blurry fonts?
      tartube-yt-dlp # Video downloader (front-end for yt-dlp)
      rnote # Handwritten notes
      xournalpp # Handwritte notes
      pdfarranger # PDF files: Split, merge, rotate, rearrange, export selected pages
      # Office suite.
      # For spellcheck, see here: https://nixos.wiki/wiki/LibreOffice#Spellcheck
      libreoffice-fresh
      zotero # Collect, organize, cite, and share your research sources
      anki-bin # Flashcards. TODO: export ANKI_WAYLAND=1
      transmission-gtk # BitTorrent client
      gnome-solanum  # Pomodoro timer
      jameica # Hibiscus plugin -> HBCI online banking. Sparkasse-Nürnberg https://www.willuhn.de/wiki/doku.php?id=support:list:banken:spk#nuernberg.
    ];
  };

  # Declarative Flatpak app installations:
  # - https://github.com/GermanBread/declarative-flatpak
  # This is probably a bit overkill for the few Flatpak apps I use.
  #
  # Another community project for declarative Flatpak app installations:
  # - https://github.com/gmodena/nix-flatpak#packages
  # > You could try to clone the repo to a location relative to your configuration.nix, and import modules/nixos.nix directly. However, I suspect things will break.
  # > I’ll sandbox some time to try this out the upcoming weekend.
  # > https://discourse.nixos.org/t/managing-flatpaks-declaratively/34532/3
  #
  # Let's just use the default way:
  #   https://nixos.wiki/wiki/Flatpak
  services.flatpak.enable = true;
  #
  # TODO: These commands have to be executed manually.
  #   flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  #   flatpak update
  #
  #   # Trim, flip, rotate, crop and export individual clips.
  #   flatpak install io.gitlab.adhami3310.Footage
  #   # Fediverse client. There is also a native client, but it is outdated: https://github.com/GeopJr/Tuba#third-party
  #   flatpak install dev.geopjr.Tuba
  #   # Chat with AI.
  #   # nixpkgs merge request: https://github.com/NixOS/nixpkgs/pull/228585
  #   # AUR and flatpak builder: https://bavarder.codeberg.page/install/
  #   flatpak install io.github.Bavarder.Bavarder
}
