DEV Community

Cover image for Struggling to Set Up Your Dev Environment? Your Desktop Feels It Too! Here's Fix!
ArnavK-09
ArnavK-09

Posted on

Struggling to Set Up Your Dev Environment? Your Desktop Feels It Too! Here's Fix!

🤔 What Even is Daytona?

Alright, picture this: you start or clone a project repo, and then BAM! You’re hit with a wall of instructions — "Install Node.js v12.3.7, Rust 2021, Python 3.11, and also please sacrifice a goat for good luck."

NOT ANYMORE! 🎉

Daytona is here to rescue. It’s a Dev Environment Manager that sets up cloud-based workspaces for you in seconds. No installs, no dependencies, no prayers needed. Just run one command and watch as Daytona spins up a fully configured cloud workspace — IDE, dependencies, environment and all.

No more debugging your environment. Daytona does it for you. It’s like having a super-smart intern who’s also way too fast.


⚙️ How Does It Work?

  1. Install Daytona (Don’t worry, it’s easy as eating).
  2. Run a single command to create your workspace.
  3. Watch your oroject open automatically with everything set up perfectly.
  4. Start coding like a pro. No environment setup. No headaches.

Here’s the kicker — Daytona does all configuration using devcontainers. These magical little files define what your dev environment looks like (which image to use, which extensions to install, etc.). So, the same dev environment works for everyone on your team. No more "Why does it work for you but not for me?" conversations.


📥 Installation (Because you can't use it without it, Right?)

One of the best things about Daytona is that it’s cross-platform. Windows, macOS, and Linux — Daytona runs everywhere. No compatibility headaches, no "Well, it works on my OS" nonsense.

Just Follow the official installation guide here!

👨‍🍳 Once installed, check if Daytona is ready with:

daytona 
Enter fullscreen mode Exit fullscreen mode

If it spits out a without any errr, you’re golden. If it doesn’t... uhmmm... Contact Daytona friendly support on slack or get help on github.

Cross-platform? Yes, it works everywhere, no need of using subsystem or almighty linuix


🛠️ Setting It All Up

  1. Add Your Git Provider (because that's the way to manage codebase)
daytona git-providers add
Enter fullscreen mode Exit fullscreen mode

Now Daytona will guide you step by step using terminal UI. No more typing hundreds of cmds in terminal like it’s 2015.

Daytona allows you to integrate your preferred Git Provider, enhancing your development workflow. This integration enables you to access and manage your repositories directly within Daytona, simplifying workspace creation from existing projects.

  1. Add Cloud Providers (because personal dssktop dev environments are so last decade)
daytona provider add
Enter fullscreen mode Exit fullscreen mode

Now you have automatically setuped cloud Run your workspaces on AWS, GCP, or Azure. Why should your laptop do the heavy lifting?

Providers are plugins through which Daytona integrates with various technologies to create and manage development environments. Providers abstract complexities of underlying technologies and serve as the foundational engines that Daytona leverages to deploy and run your environments, whether through containerization, orchestration, or cloud-based virtual machines

  1. Set Your Deployment Target (fancy, right?)
daytona target set 
Enter fullscreen mode Exit fullscreen mode

😎👍 Boom, you are close to cook up your own dev environment!

A Target refers to the specific destination or environment where your development setups, facilitated by various Providers, are deployed and managed. Providers define the method and technology used to create your environments, while Targets specify the precise location or platform where these environments will reside.

  1. Set Your IDE (because Vim is for wizards ig)
daytona ide 
Enter fullscreen mode Exit fullscreen mode

Want to use VS Code, Jetbrain, Pystarm, Fleet, Zed, Cursro and any other ide??? Great. Daytona supports all, you just have to choose by your heart!! Daytona opens it for you like a chauffeur opening your car door. Fancy.


🎉 Creating Your First Workspace (This is the Good Stuff) 🎉

Here’s the moment you’ve been waiting for. Run this to create workspace:-

daytona create 
Enter fullscreen mode Exit fullscreen mode

And follow cli, as easy as that....

Here’s what the magical happens next:

  1. Daytona starts its duty and create new workspace from repo!

  2. It sets up a devcontainer with all the dependencies you need.

  3. It launches your companion ide(yes, no need to burn your RAM 🧙‍♂️).

  4. You start coding, not fighting with dependencies and environment setup.

¡ No Node.js installs. No Travels to terminal errors. Just code. ! 🗣️🔥


🦸‍♂️ Devcontainers: The Real MVP

Okay, let's talk devcontainers. This is where the magic happens. It’s like a blueprint for your development environment. You define what tools, extensions, and Docker images you need — and Daytona builds it for you.

🫂 Here’s an example devcontainer.json:


{
  "name": "Rust Dev Environment",
  "image": "mcr.microsoft.com/devcontainers/rust:latest",
  "customizations": {
    "vscode": {
      "extensions": [
        "rust-lang.rust-analyzer",
        "tamasfe.even-better-toml",
        "serayuzgur.crates"
      ]
    }
  },
  "postCreateCommand": "cargo run"
}

Enter fullscreen mode Exit fullscreen mode

...that I used for my own project

🤫 This file tells Daytona:

  1. Which Docker image to use (here, it’s a Rust container)
  2. Which IDE extensions to install (like Rust tools, TOML support, etc.)

  3. What command to run when everything is ready (cargo run, in this case)

Why it matters: Devcontainers make sure every developer on your team has the same environment.

If you want to know everything you can do with a devcontainer.json, follow https://www.daytona.io/docs/usage/builders/#dev-container


** 💥 My Experience Using Daytona (Real-World Story) 🎇**

So, I used Daytona for my Rust project. Here's what happened:

  1. I ran this single command to copy boilerplate:
daytona create https://github.com/ArnavK-09/sample-rust-actix
Enter fullscreen mode Exit fullscreen mode
  1. Daytona spun up a fully-configured workspace with Rust, Cargo, Actix-Web, and everything else I needed.

  2. My IDE (VS Code, which i configured as default using Daytona cli) opened automatically with the repo ready to go.

  3. Zero setup drama.

  4. Kabloooom! I started coding my actix apiii

No more wasting 45 minutes of my day fixin environment. Feels dolphin 🐬✨🎇☮️


🚀 Must visit links


Daytona · Dev Environment Manager

Daytona is a self-hosted and secure open source development environment manager.

favicon daytona.io

ps - sorry for any mistakes, I'll use English checker, and don't forget to cook using Daytona 👨‍🍳🔥

Top comments (2)

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Daytona is everywhere 🤣

Collapse
 
rohan_sharma profile image
Rohan Sharma

The cover image... 😂

Content is too good!!