this post was submitted on 16 Feb 2025
86 points (95.7% liked)

Linux

50215 readers
1609 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
[–] catloaf@lemm.ee 34 points 2 days ago (3 children)

You're spending time focusing on the wrong things. Publish the code, list the dependencies to build it (preferably with a way to install them, like python's requirements). That's it.

[–] heartbreaker@lemmy.world 12 points 2 days ago* (last edited 2 days ago) (1 children)

I have seen other similar projects where the setup is a hassle, which is why I am looking into it.

(changing requirements, custom scripts, extension)

I do agree mostly with your point here, but I think you can limit the scope a bit more. Mainly provide a working build environment via one of the mentioned tools, since you will need it anyway for a ci/cd pipeline. You can additionally have a full development environment that you use available for people to use if they choose. It is important that it be one regularly used to keep the instructions up to date for anyone that might want to try to contribute.

From my observations as a sys admin, people tend to prefer the tools they are familiar with, especially as you cross disciplines. A known working example is usually easy to adapt to anyone's preferred tooling.

load more comments (1 replies)