Skip to content

Docker and Nix build configurations - #53

Merged
eduardodoria merged 7 commits into
doriaxengine:mainfrom
MolassesLover:docker
Sep 1, 2026
Merged

Docker and Nix build configurations#53
eduardodoria merged 7 commits into
doriaxengine:mainfrom
MolassesLover:docker

Conversation

@MolassesLover

Copy link
Copy Markdown
Contributor

This pull request provides an OCI compose file which builds the project via newly added images for Nix and Fedora. Further, a Nix Flake package is added as well, which abstracts the build process in a reproducible way, and allows the package to be installed easily across systems with support for Nix.

The Nix package should provide a way to more easily debug and reproduce issues, given the entire environment is atomic, and works on most Linux distributions. Essentially, it can used to provide common consensus across contributors.

Users that do not have Nix installed on their system can instead build the Nix Flake package using Docker.

@eduardodoria

Copy link
Copy Markdown
Contributor

I need to think whether it's worth keeping this in this repo or in a separate one. I'll look into it further and get back to you.

@MolassesLover

MolassesLover commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

I need to think whether it's worth keeping this in this repo or in a separate one. I'll look into it further and get back to you.

No worries!

If you'd rather have this in a separate repository that's completely feasible. That said, it would most likely end up being a hassle for anyone that wants to build their own modified source tree, given both Nix and Docker would have to fetch the Git repository. As such, I personally do think it would make most sense to keep this in the main repository, allowing it to serve as a straightforward developer utility.

Otherwise, developers relying on the Nix or Docker environments would have to edit the configurations to fetch their own forks (also fetching hashes on Nix), adding the complexity of source control to the build process. This isn't something you have to worry about when just building on your host environment using CMake, but for users of Nix and atomic systems that would be a hassle (systems with OSTree require reboots in order to install packages on host, for example.)

You should see the Docker and Nix configurations as solutions similar to VSCode's Dev Containers, just as much as ways to get Doriax running on Nix and atomic systems in the first place. Essentially, just ways to build the project without worrying about source control and package management.

@eduardodoria

Copy link
Copy Markdown
Contributor

Before I merge, can you do these small changes?

  • Declare the devShell as devShells.<system>.default with an explicit dependency list instead of inputsFrom
  • Move Dockerfile + compose.yaml under misc/containers/
  • Drop the U mount flag (or rename the feature to Podman) so it works under Docker
  • Kill the program/nix:latest and /program-cache-warmup placeholders
  • Remove doxygen, it's not used here
  • Remove vulkan-tools and vulkan-utility-libraries from package.nix, and vulkan-headers from the Fedora image since vulkan-devel already covers it
  • Version is hardcoded to v0.7.0 in package.nix and the build reports "unknown" anyway, so it's better to pass it as -DDORIAXEDITOR_VERSION

One of my concerns is keeping all of this up to date. Can you help me with that?

@MolassesLover

Copy link
Copy Markdown
Contributor Author

Before I merge, can you do these small changes?

Pushed all the changes you requested, hopefully it's alright now.

One of my concerns is keeping all of this up to date. Can you help me with that?

As for this, I'll have to maintain this package in order to run Doriax on my system, so I don't mind at all. I'll try to set up some workflows to run on my fork to keep things like the flake.lock up-to-date.

@MolassesLover
MolassesLover marked this pull request as ready for review September 1, 2026 16:17
@eduardodoria
eduardodoria merged commit 6a26ab5 into doriaxengine:main Sep 1, 2026
3 checks passed
@eduardodoria

Copy link
Copy Markdown
Contributor

I created a CI and did some changes here 949064f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants