spec
asdf
spec | asdf | |
---|---|---|
48 | 341 | |
2,814 | 20,448 | |
9.0% | 2.8% | |
7.0 | 7.9 | |
7 days ago | 7 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.
-
How CDEs work - no bs blog post
Two standards for CDE configuration exist: devfile.yml and devcontainer.json. Both assume that the CDE is a single container and allow specification of which tools should be deployed to this container, as well as a reference to scripts that should run after the container has been created.
- 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.
-
Is there some catch to cause DNS issues on Linux, that is not common with Windows or Mac?
I was using Devcontainer with VS Code. In a part of the container build process, DNS lookup seemed to be failing in Debian 12. BTW, the container image was based on Debian 11. I probably tried it about 10 times in total, so I'm pretty sure it persisted, not an one time error. I noticed the build process was failing because the process failed to find some domains, with an error message like could not resolve host github.com. Some domains I noticed was github.com and ghcr.io, so it failed sometimes for one domain, and sometimes for the other.
-
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"] }
asdf
-
Install Asdf: One Runtime Manager to Rule All Dev Environments
The main issue most people have with asdf is that it’s annoyingly slow. Not unusably so, but just enough that it’s irritating.
I identified [0] the source for much of it (sub-shells and pipes) and began a PR [1], but became bogged down with BATS testing, and then found mise / rtx, so kind of lost interest. Sorry. You can always implement these if you’d like.
[0]: https://github.com/asdf-vm/asdf/issues/290#issuecomment-1383...
[1]: https://github.com/asdf-vm/asdf/pull/1441
- Show HN: I made a multiple runtime version manager that can be used on Windows
-
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
https://asdf-vm.com/
-
Pyenv – lets you easily switch between multiple versions of Python
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).
-
How to Install Your Python Version on Ubuntu
(asdf)[https://asdf-vm.com/] fully supports Python and almost any other language. I've been using it for Ruby, Python, Elixir, and other languages for years and never looked back.
-
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
-
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.
What are some alternatives?
features - A collection of Dev Container Features managed by Dev Container spec maintainers. See https://github.com/devcontainers/feature-starter to publish your own
SDKMan - The SDKMAN! Command Line Interface
features - A collection of development container 'features' for machine learning and data science
pyenv - Simple Python version management
conda-devcontainer-demo - Mini Conda + Mamba dev container setup to make working with environments easy.
rbenv - Manage your app's Ruby environment
tweek - Tweek - an open source feature manager
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
lapdev - Self-Hosted Remote Dev Environment
volta - Volta: JS Toolchains as Code. ⚡
microservice-rust-mysql - A template project for building a database-driven microservice in Rust and run it in the WasmEdge sandbox.
HomeBrew - 🍺 The missing package manager for macOS (or Linux)