spec
asdf
Our great sponsors
spec | asdf | |
---|---|---|
48 | 339 | |
2,754 | 20,393 | |
7.0% | 2.6% | |
7.3 | 7.9 | |
17 days ago | 4 days ago | |
Shell | ||
Creative Commons Attribution 4.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
spec
-
Show HN: Lapdev, a new open-source remote dev environment management software
Hi, Lapdev dev here. Let me try to answer your question.
It's installed on a remote server so it provides remote environments. If you use VSCode remote, then you can "open" it through VSCode remote ssh.
The environment that Lapdev provides essentially is a container (other format is on the roadmap) with things pre-installed as defined in Devcontainer(https://containers.dev/) format.
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Happy to take this one, as I am one of the cofounder of Daytona.
Daytona solves all the automation and provisioning of the dev environment, actually wrote an article here laying out exactly what we do: https://www.daytona.io/dotfiles/diy-guide-to-transform-any-m...
Daytona currently supports only the dev container (https://containers.dev/) "dev env infrastructure as code" standard, but are looking to support others such as devfile, nix and flox.
Hope this helps
-
A Journey to Find an Ultimate Development Environment
The full usage of the container means that you'll do the development inside the container. All the tools for development need to be installed inside the container. One of the technologies that leverage this approach is Devcontainers.
- Use Docker to create a local development Python environment
-
Launching dev containers from code - is impossible?
... is how I introduced the concept of dev containers in my last article.
-
Dev Containers: Open, Develop, Repeat...
How it works? Dev Containers is a specification based on Docker. This specification describes a metadata file (devcontainer.json), which defines how the project (Docker container, IDE settings, plugins, etc) is set up.
-
Try MongoDB and Laravel in 1-click via GitHub Codespaces
Codespaces is built to run Dev Containers, an open standard for Development Containers. The Dev Container will reference a Docker build file, which describes the software and services our app is running on. It also defines things related to our development environment, including IDE plugins, network ports, and more.
-
Dev Container for React Native with Expo
// For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node { "name": "Node.js & TypeScript", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye", // 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": [8081], "initializeCommand": "bash .devcontainer/initializeCommand.sh", // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "bash .devcontainer/postCreateCommand.sh", // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root", // "containerEnv": { // }, // "remoteEnv": { // "DEV_USER_HOST": "${localEnv:USERNAME}" // }, "runArgs": ["-p=8081:8081", "--env-file", ".devcontainer/.env"] }
-
Microsoft Docker Development Container Templates
I do not know why someone shared this repo, there is nothing special about it other than containing some start templates. I would start here for understanding Dev Containers: https://containers.dev
If you have a scenario where using a container as your development environment makes sense, this is some tooling that can improve the developer experience vs just using plain Docker and Docker Compose.
I see it as being similar to the relationship between Vagrant and Virtual Machines.
You can use plain Dockerfiles if you prefer, dev containers provides some tooling to smooth out the rough edges of using Docker to host your dev environment including mounting your source code into the container etc. Details are at: https://containers.dev
asdf
-
Volta – Fastest Node version manager in Rust
Or if you need to manage more than just node, asdf has been around for over a decade and works great. You can use a .tool-versions to change runtimes for each project you have, in addition to managing your global runtime versions
-
Pyenv – lets you easily switch between multiple versions of Python
https://asdf-vm.com/ ASDF is better because it works with many more languages, other than only Python, like Rust, Go, Node, etc, and other tools, such as AWS/Google/Firebase/Azure CLIs.
Why not just use a tool like asdf (https://asdf-vm.com/) or mise (https://mise.jdx.dev/)?
These tools have the advantage of not being multi-taskers and can manage version for all your tools. You wouldn’t need pyenv and npm and rvm and…
We’ve even started committing the .mise.toml files for projects to our repos. That way, since we work on multiple projects that may need multiple versions of the same tool, it’s handled and documented.
-
A Journey to Find an Ultimate Development Environment
The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).
-
Beginners Intro to Trunk Based Development
Secondly, our development environments must not drift, because then code may behave differently and a change could pass on our machine but fail in production. There are many tools for locking down environments, e.g nix, pkgx, asdf, containers, etc., and they all share the common goal of being able to lock down dependencies for an environment accurately and deterministically. And that needs to be enforced in our local workflow so we don't have to rely on CI environments for correctness. All developers must have environments that are effectively identical to what runs in CI (which itself should be representative of the production environment).
-
Practical Guide to Trunk Based Development
There are many ways this can be done (e.g nix, pkgx, asdf, containers, etc.), and we won’t get into which specific tools to use, because we'll instead cover the essential essence of preventing environment drift:
-
Criando seu ambiente com ASDF
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
-
Kotlin version manager
I've really been enjoying asdf, which is a program that allows you to install specified versions of dev utilities as well as dynamically manage them via shims and .tool-versions files.
-
How do i keep my "devops tool" always up to date in a smart way ?
I use the asdf version manager.
What are some alternatives?
SDKMan - The SDKMAN! Command Line Interface
pyenv - Simple Python version management
rbenv - Manage your app's Ruby environment
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
volta - Volta: JS Toolchains as Code. ⚡
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
mise - dev tools, env vars, task runner
jenv - Manage your Java environment
nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.
fnm - 🚀 Fast and simple Node.js version manager, built in Rust
RVM - Ruby enVironment Manager (RVM)
nix - Nix, the purely functional package manager