{ config, pkgs, lib, ... }: let version = ( if (config.nixpkgs.config.allowUnfree) then "idea-ultimate" else "idea-community" ); in { # 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; [ jetbrains."${version}" ]; }; programs.dconf.enable = true; home-manager.users.yoda = { osConfig, config, pkgs, lib, ... }: { dconf.settings = { "org/gnome/shell" = { favorite-apps = ["${version}.desktop"]; }; }; }; }