In this post I’ll share my dev setup, divided into three categories.
- Code Editors
- Programming Languages
- Shell
Code Editors Setup
I introduce my editor setups, including plugins and other things.
VS Code
Using VS-code you’ll see two common ways to initiate a project, either using (1) raw settings or a (2) devcontainer.
The containerized approach is really cool because it gives the same environment independing on hardware as it’s Docker.
VS Code Settings
All these files are located in .vscode
as suggested by filename.
devcontainer
This file is located in .devcontainer
as suggested by filename.
devcontainer.json
(click to expand)
.devcontainer/devcontainer.json
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "Debian",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
"features": {
"ghcr.io/devcontainers/features/python:1": {},
"ghcr.io/devcontainers-contrib/features/curl-apt-get:1": {},
"ghcr.io/devcontainers-contrib/features/starship-homebrew:1": {},
"ghcr.io/eitsupi/devcontainer-features/duckdb-cli:0": {},
"ghcr.io/eitsupi/devcontainer-features/jq-likes:1": {},
"ghcr.io/mamba-org/devcontainer-features/micromamba:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"charliermarsh.ruff",
"quarto.quarto",
"ms-python.python",
"Codeium.codeium"
]
}
}
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
Jetbrains
Extensions
Programming Languages Setup
And setup on specific programming languages.
Python
env.yml
(click to expand)
env.yml
name: test
channels:
- conda-forge
dependencies:
- python >=3.10,<3.11
- ipykernel >=5.1
- ipywidgets
- pip
- polars
# plotting
- plotly
- altair
# demo
- streamlit
# linters etc
- ruff
- pre-commit
- black
- mypy
# test
- pytest
# pip:
# - dependency
Kotlin
Using Gradle, Kotlin is awesome with stdlib! :)
Shell
- starship.rs - The minimal, blazing-fast, and infinitely customizable prompt for any shell!
… to be continued.