PyCharm z nix-shell

W /etc/nixos/configuration.nix

environment.systemPackages = with pkgs; [
    jetbrains.pycharm-oss
    (writeShellScriptBin "pycharm" ''
      exec ${pkgs.jetbrains.pycharm-oss}/pycharm-oss/bin/pycharm.sh "$@"
    '') 
]

w shell.nix w folderze każdego projektu.

{ pkgs ? import <nixpkgs> {} }:

pkgs.mkShell {
  packages = [
    pkgs.python312
    pkgs.python312Packages.pip
    pkgs.python312Packages.pyside6
    pkgs.python312Packages.click
    pkgs.python312Packages.pyserial
    pkgs.python312Packages.pyudev
    pkgs.qt6.qtbase
  ];
}

Uruchamiamy terminal z foldera (ppm 'Otwórz w terminalu'), w terminalu nix-shell a następnie pycharm. Jak uruchomi się PyCharm musimy zamknąć poprzedni projekt i otworzyć ten, który chcemy edytować.
Aby uprościć sobie zadanie możemy stworzyć plik np. run_pycharm.sh, który uruchomi nam nix-shell oraz PyCharm'a z naszym projektem:

#!/usr/bin/env bash

nix-shell --run "pycharm ."

Aby uruchomić naszą aplikację kliknięciem tworzymy plik run_main.py z zawartością:

#!/usr/bin/env bash

nix-shell --run "python main.py"

Plik można przekopiować do folderów innych projektów.