- Introduction
- Features
- Included Packages
- VS Code Extensions
- Workspace Setup (On Create Hooks)
- Using this Repository as a Template
This template provides a pre-configured development environment for Python projects, powered by Nix. It includes essential tools and VS Code extensions to streamline your workflow.
The following core packages are installed in your development environment:
Package | Description |
---|---|
pkgs.python311 | Python 3.11 |
pkgs.python311Packages.pip | Pip for Python 3.11 |
pkgs.pipx | Tool to install and run Python applications in isolated environments |
The following VS Code extensions are highly recommended and will be installed automatically upon workspace creation to enhance your development experience:
Extension ID | Description |
---|---|
mhutchie.git-graph | View a Git Graph of your repository |
mongodb.mongodb-vscode | MongoDB for VS Code |
ms-azuretools.vscode-docker | Docker extension |
pkief.material-icon-theme | Material Icon Theme |
redhat.vscode-yaml | YAML Language Support by Red Hat |
yzhang.markdown-all-in-one | Markdown All in One |
ms-toolsai.jupyter | Jupyter |
ms-python.python | Python extension |
charliermarsh.ruff | Ruff |
KevinRose.vsc-python-indent | Python Indent |
ms-python.debugpy | Debugger for Python |
ms-toolsai.jupyter-keymap | Jupyter Keymap |
ms-toolsai.jupyter-renderers | Jupyter Renderers |
ms-toolsai.vscode-jupyter-cell-tags | Jupyter Cell Tags |
ms-toolsai.vscode-jupyter-slideshow | Jupyter Slideshow |
saoudrizwan.claude-dev | Claude Dev |
codezombiech.gitignore | .gitignore |
luma.jupyter | Jupyter |
usernamehw.errorlens | ErrorLens |
streetsidesoftware.code-spell-checker | Code Spell Checker |
oderwat.indent-rainbow | Indent Rainbow |
aaron-bond.better-comments | Better Comments |
bungcip.better-toml | Better TOML |
Hamza-Aziane.obsidian-dark | Obsidian Dark Theme |
Note
These extensions are installed automatically using the Workspace lifecycle hooks OnCreate
in the dev.nix
file
When a new workspace is created from this template, the following setup steps are automatically executed to prepare your development environment:
- Install VS Code Extensions: Ensures
.vscode/extensions.json
exists and installs recommended extensions. - Setting up Dev Environment: Installs
poetry
andcommitizen
(withcz-conventional-gitmoji
) usingpipx
, and ensurespipx
is in your PATH. - Setup Virtual Environment: Creates a Python virtual environment (
.venv
) and activates it. - Add VS Code to .gitignore: Adds
.vscode/
to your.gitignore
file if it's not already present. - Remove Template Artifacts: Cleans up template-specific files like
.git
andREADME.md
.
This repository is designed to be easily used as a template for new Firebase Studio Python workspaces. Follow these simple steps to get started:
- In Firebase Studio: Create a new workspace.
- Select "Import from Git": Choose this option when prompted for a template.
- Enter Repository URL: Use
https://github.com/firebase/firebase-studio-python-template
as the source.
Firebase Studio will then automatically set up your Python development environment, including all recommended VS Code extensions and tools.
- Open Firebase Studio: Navigate to your Firebase Studio dashboard.
- Initiate New Workspace Creation: Click on the option to create a new workspace or project.
- Choose Git Import: When presented with template options, select "Import from Git" or a similar option that allows you to specify a Git repository.
- Provide Repository URL: In the field for the repository URL, paste the following:
https://github.com/firebase/firebase-studio-python-template
(Note: This repository must be publicly accessible for Firebase Studio to clone it.) - Confirm and Create: Follow any remaining prompts to confirm the creation of your new workspace.
Once created, Firebase Studio will clone this template, and the OnCreate
hooks defined in dev.nix
will automatically configure your development environment, installing necessary Python packages and VS Code extensions.