{ config, pkgs, ... }:
{
  # Integrated Development Environment (IDE).

  # Open issues about nix-shell support/integration:
  # - .env run configuration: https://github.com/NixOS/nix-idea/issues/1#issuecomment-590851686
  # - nix-shell IDE-wide: https://github.com/NixOS/nix-idea/issues/1#issuecomment-734997521

  environment.systemPackages = with pkgs; [
    # System-wide installation makes python available as:
    #   /run/current-system/sw/bin/python3
    # This makes it easier to configure it as interpreter in Jetbrain's IDE.
    python3
  ];

  users.users.yoda = {
    packages = with pkgs; [
      (
        if (config.nixpkgs.config.allowUnfree)
        then jetbrains.idea-ultimate
        else jetbrains.idea-community
      )
    ];
  };
}
