Getting Started
Tech Stack
- Language: Python 3.14 (Managed via Nix)
- Framework: Django
- Package Manager: uv (Fastest Python resolver/installer)
- Environment: Nix (with the
stdlibrary) - Command Runner:
just(alternative tomake)
Setting Up the Environment
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
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, andjust. - Set up your
PATHto 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 |
| Lists all available commands. |
| Run this first. It migrates the DB and asks you to create a Superuser. |
| Starts the Django development server. |
| Generates new DB migration files after model changes. |
| Automatically formats all code using |
| 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.