Skip to content

Conversation

@pxp9
Copy link
Contributor

@pxp9 pxp9 commented Jan 4, 2026

guide for setting up a development environment for AtomVM ESP32 in Nixos. It defines the toolchain is needed for compiling from source the AtomVM.

Copy link
Contributor

@UncleGrumpy UncleGrumpy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, just a couple of details that need fixing and consideration.

tutorials.md Outdated
mbedtls_2
zlib
ninja
doxygen
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doxygen should only be needed if you are building the AtomVM documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think this is fine, bc this flake provides the development environment to develop AtomVM on ESP32, including the docs

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then you will also need sphinx installed, doxygen alone is useless, you will need the rest of the requirements to build the docs:

  • rebar3
  • graphviz
  • Sphinx and other python deps found in AtomVM/doc/requirements.txt

Check out the docs/README.md for details:
https://github.com/atomvm/AtomVM/blob/main/doc/README.md

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rebar3 is installed

beamMinimal27Packages.rebar3

this is the name is given in nix packages since this rebar3 is compiled with Erlang27

you can replace 27 for 28 and it will get the rebar3 compiled with erlang28

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I spotted rebar3 right after I posted, was just about to edit that comment. ;-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are recommending OTP-28 for builds on main branch, and 27 for release-0.6 since that branch doesn't support OTP-28.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the guide explains you should change the versions for your specific builds, maybe we should add a note about this ??

We are recommending OTP-28 for builds on main branch, and 27 for release-0.6 since that branch doesn't support OTP-28.

@pxp9 pxp9 requested a review from UncleGrumpy January 4, 2026 17:30
Copy link
Contributor

@UncleGrumpy UncleGrumpy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks much better. Thank you for the contribution! I left another follow up comment about doxygen and the documentation.

@UncleGrumpy
Copy link
Contributor

We will also want you to squash and signoff the commit before we merge.

@UncleGrumpy
Copy link
Contributor

Unfortunately this now documentation site is not set up to be built and served locally anymore like our old one, so I cant test what the final rendered tutorial will look like, but otherwise spelling and grammar all looks fine to me.

@pxp9
Copy link
Contributor Author

pxp9 commented Jan 4, 2026

Unfortunately this now documentation site is not set up to be built and served locally anymore like our old one, so I cant test what the final rendered tutorial will look like, but otherwise spelling and grammar all looks fine to me.

I managed to test it , but i did not commit the files

image

Gemfile

source "https://rubygems.org"

gem "github-pages", group: :jekyll_plugins
gem "webrick", "~> 1.7"  # Required for Ruby 3.0+

_config_dev.yml

host: "127.0.0.1"
port: 4000
url: "http://localhost:4000"
bundle exec jekyll serve --host 127.0.0.1
image

@pxp9
Copy link
Contributor Author

pxp9 commented Jan 4, 2026

@UncleGrumpy , what do you mean sign off ? remove the GPG commit signing ??

@UncleGrumpy
Copy link
Contributor

@UncleGrumpy , what do you mean sign off ? remove the GPG commit signing ??

No, keep that… use git -s as explained here. We do this for all commits to repos in the AtomVM organization:
https://github.com/apps/dco

pxp9 added 4 commits January 5, 2026 00:11
Signed-off-by: Pepe Márquez Romero <pepe.marquezromero@protonmail.com>
Signed-off-by: Pepe Márquez Romero <pepe.marquezromero@protonmail.com>
…hon env from the esp-idf and add graphviz

Signed-off-by: Pepe Márquez Romero <pepe.marquezromero@protonmail.com>
Signed-off-by: Pepe Márquez Romero <pepe.marquezromero@protonmail.com>
@pxp9
Copy link
Contributor Author

pxp9 commented Jan 4, 2026

@UncleGrumpy , what do you mean sign off ? remove the GPG commit signing ??

No, keep that… use git -s as explained here. We do this for all commits to repos in the AtomVM organization: https://github.com/apps/dco

rebased with the option --signoff

commit messages should be fine now

@UncleGrumpy
Copy link
Contributor

I managed to test it , but i did not commit the files

The Readme was just copied over from the old repo. It would be good to clean it up a little and update how to build locally for testing in a separate PR. I don’t think we necessarily want to merge the Gemfile and config yaml, that might disturb how it’s currently being served. Since they are short the content can be added to the Readme with instructions.

@pxp9
Copy link
Contributor Author

pxp9 commented Jan 4, 2026

I managed to test it , but i did not commit the files

The Readme was just copied over from the old repo. It would be good to clean it up a little and update how to build locally for testing in a separate PR. I don’t think we necessarily want to merge the Gemfile and config yaml, that might disturb how it’s currently being served. Since they are short the content can be added to the Readme with instructions.

i can update the instructions in a separate PR

done in #8

@pxp9 pxp9 requested a review from UncleGrumpy January 4, 2026 23:29
Copy link
Contributor

@UncleGrumpy UncleGrumpy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great. Thank you again for the contribution. @bettio Will have to give this the final approval and do the merge.

If you squash or flatten your commits into the first one that would be great too. We don’t need our git history to include all the revisions during review, just have the meaningful commit messages with the actual changes being merged.

@pxp9
Copy link
Contributor Author

pxp9 commented Jan 4, 2026

This looks great. Thank you again for the contribution. @bettio Will have to give this the final approval and do the merge.

If you squash or flatten your commits into the first one that would be great too. We don’t need our git history to include all the revisions during review, just have the meaningful commit messages with the actual changes being merged.

i will squash, it will take the PR name as a commit

@UncleGrumpy
Copy link
Contributor

guide discussed in the PR

atomvm/exatomvm#65

@UncleGrumpy , could you check if do you find it useful, typos and so on ??

You probably want to change the PR description here to something more informative about the changes, so it can be read from the CLI and know what it's about without having to open a browser to look at the other PR to get a description. ;-)

@pxp9 pxp9 requested a review from UncleGrumpy January 5, 2026 09:55
@pxp9
Copy link
Contributor Author

pxp9 commented Jan 5, 2026

@bettio , could you review please ?

@UncleGrumpy
Copy link
Contributor

Thank you for updating the PR description. I did forget to mention we do have another little bit-picky detail that we use throughout the AtomVM organization repos, we like to capitalize the first word of the commit title (no end punctuation).

@bettio bettio merged commit e19b03d into atomvm:main Jan 5, 2026
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.

3 participants