{
  lib,
  pkgs,
  pkgs-stable,
  pkgs-master,
  pkgs-blender,
  ...
}:
{
  home.packages =
    with pkgs-stable;
    [
      # creative
      # gimp      # image editing, I prefer using figma in browser instead of this one
      inkscape # vector graphics
      krita # digital painting
      musescore # music notation
      pkgs-master.orca-slicer # 3d printer slicer app
      pkgs-master.bambu-studio # bambu 3d printer slicer app
      pkgs-blender.blender # 3d modeling
      # reaper # audio production
      # sonic-pi # music programming

      # 2d game design
      # aseprite # Animated sprite editor & pixel art tool

      # this app consumes a lot of storage, so do not install it currently
      # kicad     # 3d printing, electrical engineering

      # Astronomy
      stellarium # See what you can see with your eyes, binoculars or a small telescope.
      celestia # Real-time 3D simulation of space, travel throughout the solar system.

      # office
      libreoffice-qt-still
      hunspell # spell check for libreoffice
      hunspellDicts.en_US # USA English
      hyphenDicts.en_GB # British English
    ]
    ++ (lib.optionals pkgs.stdenv.isx86_64 [
      ldtk # A modern, versatile 2D level editor

      # fpga
      # python313Packages.apycula # gowin fpga
      # yosys # fpga synthesis
      # nextpnr # fpga place and route
      # openfpgaloader # fpga programming
      # nur-ryan4yin.packages.${pkgs.stdenv.hostPlatform.system}.gowin-eda-edu-ide # app: `gowin-env` => `gw_ide` / `gw_pack` / ...
    ]);

  programs = {
    # live streaming
    obs-studio = {
      enable = pkgs.stdenv.isx86_64;
      plugins = with pkgs.obs-studio-plugins; [
        # screen capture
        wlrobs
        # obs-ndi
        # obs-nvfbc
        obs-teleport
        # obs-hyperion
        droidcam-obs
        obs-vkcapture
        obs-gstreamer
        input-overlay
        obs-multi-rtmp
        obs-source-clone
        obs-shaderfilter
        obs-source-record
        obs-livesplit-one
        looking-glass-obs
        obs-vintage-filter
        obs-command-source
        obs-move-transition
        obs-backgroundremoval
        # advanced-scene-switcher
        obs-pipewire-audio-capture
        obs-vaapi
        obs-3d-effect
      ];
    };
  };
}
