this post was submitted on 16 Feb 2025
87 points (95.8% liked)

Linux

50215 readers
1655 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I want to develop a game and am considering collaborating with others, potentially even making it open-source.

To make this process smoother, I need to establish an easy-to-replicate development environment—one that can be set up by non-programmers (such as artists) but is also simple for me to configure so I can focus on actual development.

I’ve explored various options (Docker, Podman, Anaconda, NixOS, VMs), but the choices are overwhelming, and I’m unsure which one is best for my needs.

I’ve had partial success with a Fedora+i3wm virtual environment (VM), creating a plug-and-play experience. However, this setup requires extra space (~3GB for the OS) and includes software already installed on the host system. It also requires users to learn i3wm and possibly use the command line, which may not be ideal for everyone.

I would appreciate any advice on how to approach this effectively.

Edit: An example of things to setup:

  • The right .Net Sdks version
  • Git
  • Git LFS
  • Format Checks
  • VScode (+ extensions)
  • Godot (+ extensions)

Final: I have read your recommendations, researched your suggestions, and looked at what other projects use (Luanti uses docker). And I have finally decided that at least for now this might be a bit overboard. I will start with a simple setup script and setup files (such as for vscode) with instructions. And if I need to in the future I will most likely use Docker.

you are viewing a single comment's thread
view the rest of the comments
[–] moonpiedumplings@programming.dev 5 points 1 day ago (1 children)

Here's my commentary on the options you listed in the image:

Anaconda: They changed the licensing so that it's not really fully FOSS, as the repos have restrictions on them. There are also other issues like this dark pattern of a download page.

But, forgetting about the licensing or problematic company practices: The software itself is trash. Worst thing I've ever used. It's sooooo slow to install packages when it's doing the "solver" thing. You can use something faster like mamba or miniconda, but then you still have to deal with package availability being poor, as the anaconda repos don't have everything, and much of what they have is often too old.

Docker desktop: It's proprietary. I mean you can use it, but you seem to be interested in open source stuff. Also see caveats to podman desktop below.

Podman Desktop: Technically this will work. But podman desktop is really designed more for development of containerized applications, rather than developing in containers.

Nix: Nix doesn't work on Windows, so you would have to require WSL or something like that.

Fedora VM: I recommend enlightenment as a desktop environment. Very small, but also modern and clean looking. You'll have to configure it to be a bit more similar to windows, but it's a lot more intuitive to use than i3.

There are some other caveats to your environment. "The right .Net Sdks version" — however, the best extensions for C# development are proprietary and cannot be freely used in the fully FOSS versions of vscode.

it also requires users to learn i3wm and possibly use the command line, which may not be ideal for everyone.

Yeah, don't do this. I agree with @utopiah@lemmy.ml, work with them, rather than forcing them to work with you. Collaboration goes both ways.

Another recommendation I have is to just see how people in a similar circumstance do what you do. There are plenty of people who do software and game development on twitch, and you can just go on their streams and ask how they collaborate. One method I saw is using trello, a task management software, and artists would upload models there as deliverables. They already have their own workflow, which they probably work efficiently with. And it's not really the job of an artist to integrate models and art into the game, that's the programmers job.

[–] JackbyDev@programming.dev 1 points 7 hours ago

Adding Rancher Desktop to your list. It is FOSS and a replacement for Docker Desktop.