Getting Started Tech Stack Language: Python 3.14 (Managed via Nix) Framework: Django Package Manager: uv (Fastest Python resolver/installer) Environment: Nix (with the std library) Command Runner: just (alternative to make ) Setting Up the Environment FIXME: this is wrong You do not need to install Python or Django manually. You only need Nix . Step 1: Install Nix If you don't have it, install Nix and enable “experimental features” (Flakes and Nix Command). Consider doing the latter like that: 1) sudo mkdir /root/.config/nix 2) sudoedit /root/.config/nix/nix.conf 3) In there, add this line experimental-features = nix-command flakes Step 2: Enter the Development Shell Navigate to the project root and run: nix develop What happens when you run this? Nix reads shells.nix and packages.nix to: Download and provide Python 3.14 . Install system tools like curl , git , uv , and just . Set up your PATH to include the project’s virtual environment ( .venv/bin ). Activate a custom shell prompt (the “embed console”). Step 3: The “Just” Command Runner Once inside the Nix shell, we use a tool called just to run common tasks. Command Action just Lists all available commands. just init-db Run this first. It migrates the DB and asks you to create a Superuser. just dev Starts the Django development server. just make-migrations Generates new DB migration files after model changes. just fmt Automatically formats all code using treefmt . just test Runs the Django test suite. Step 4: Running the dev server Consider using these commands after all previous steps: nix init-db creates and initializes the DB, prompting for superuser credentials. nix dev starts a local dev server. Congratulations! You are ready to develop.