Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Techstack-beta] Not being built as a Nix build output #1296

Open
samueldr opened this issue Mar 4, 2024 · 2 comments
Open

[Techstack-beta] Not being built as a Nix build output #1296

samueldr opened this issue Mar 4, 2024 · 2 comments
Labels
new-techstack-beta This tag marks issues with the new tech stack during preview phase prio:low

Comments

@samueldr
Copy link
Member

samueldr commented Mar 4, 2024

Not being able to handle the build of the website with a correct Nix build output gives mixed messages about Nix and its ecosystem, imo.

I was surprised earlier when testing the site and trying to check something that nix-build (or nix build) won't build the site anymore.


Refs:

Previous implementation (calling nix build):

New implementation (running non-Nix package management outside of a Nix build):

  • - name: "Build"
    run: |
    nix develop --accept-flake-config --command npm install
    nix develop --accept-flake-config --command npm run build
    mkdir build
    cp -RL ./dist/* ./build/
@thilobillerbeck thilobillerbeck added the new-techstack-beta This tag marks issues with the new tech stack during preview phase label Mar 4, 2024
@garbas garbas added the prio:low label Mar 4, 2024
@garbas
Copy link
Member

garbas commented Mar 4, 2024

Yes, this was decided for now. It might even stay this way. We'll evaluate this after the migration is complete and after some time of using the website.

@thilobillerbeck
Copy link
Collaborator

thilobillerbeck commented Mar 13, 2024

Currently there is one dependency which requires network connectivity to fetch icons at build time, but this will be replaced shortly. Then a nix build would be possible.

Unfortunately if we want to fetch resources like APIs etc. in the future, we would need network access during build time which would either mean disableing the sandbox during build time or not building through nix. If there is any solution I don't have in mind, just suggest it here. While downloading thing upfront through a flake would be possible, it circumvents many features modern SSGs have like image fetching and optimization etc.

personally I don't really see a reason why we want to make the website reproducible anyway, since this is not software others rely on and the only deployment target is our own webspace. I think a nix-build without the properties of reproduction would suffice, even if that means we have to include measures like disabling the sandbox. I know it is nice to have reproducability, but I conflicts with the idea of short cycled and quick updates and does not really make any sense in our case either. This is not a fault of nix, it is just a case reproducible builds in that manner were not meant for imo. But yes, having the build go through nix somehow would obviously be a good show off especially since this it is the nixos homepage. But I just wanted to mention some roadblocks here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-techstack-beta This tag marks issues with the new tech stack during preview phase prio:low
Projects
None yet
Development

No branches or pull requests

3 participants