feat: Introduce Flake for development and builds#2121
feat: Introduce Flake for development and builds#2121shymega wants to merge 1 commit intoInfiniTimeOrg:mainfrom
Conversation
|
I'm keeping this as a draft for now, because I want to check with the I also wanted to ask if the Thanks. |
|
We also need to document the Flake, and possibly add CI. I can add the CI workflows to a new PR if needed. However, I'm not sure how |
|
Build size and comparison to main:
|
46daf79 to
a9a3679
Compare
7606e37 to
c613bc7
Compare
c613bc7 to
cb12758
Compare
This PR introduces a Nix flake, allowing for InfiniSim to be built as a Flake, including a FHS development environment. We also introduce `flake-compat`, allowing for non-Flake Nix mahcines to use the project as-is, both for building (`default.nix`), and development (`shell.nix`). Additionally, we introduce `.envrc`, meaning that with `direnv`, the Nix Flake is activated automatically. It should be noted that we require InfiniTimeOrg/InfiniTime#2121 to be merged into mainline before this PR will work. It will currently fail - this is expected at this stage. A lockfile needs to be generated after the above PR is merged - this PR here should NOT be merged until that is completed. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
|
This PR is now ready for review. It is currently blocking InfiniTimeOrg/InfiniSim#148, but once this PR merged, the [InfiniSim] one will be ready to be merged too |
cb12758 to
f521883
Compare
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on #2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
f521883 to
7f792f1
Compare
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
This fixes CI on InfiniTimeOrg#2121. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
|
As someone with no Nix knowledge what steps must I take to test this PR locally? |
|
@NeroBurner You would first need to install the Nix package manager. In terms of testing, you could test the Flake is correct by running |
|
The same principle would apply to InfiniSim :) |
7f792f1 to
1008870
Compare
|
I should also probably add CI checks for the Nix Flake to this PR and InfiniSim. Thoughts? |
This PR introduces a Nix flake, allowing for InfiniTime to be built as a Flake, including a FHS development environment. It's derived from InfiniTimeOrg#1850 and icewind1991/infinitime-builder@c57c57f. We also introduce `flake-compat`, allowing for non-Flake Nix mahcines to use the project as-is, both for building (`default.nix`), and development (`shell.nix`). Additionally, we introduce `.envrc`, meaning that with `direnv`, the Nix Flake is activated automatically. Fixes InfiniTimeOrg#1850. Signed-off-by: Dom Rodriguez <shymega@shymega.org.uk>
1008870 to
80a1148
Compare
This PR introduces a Nix flake, allowing for InfiniTime to be built as a Flake, including a FHS development environment.
It's derived from #1850 and
icewind1991/infinitime-builder@c57c57f.
We also introduce
flake-compat, allowing for non-Flake Nix mahcines to use the project as-is, both for building (default.nix), and development (shell.nix).Additionally, we introduce
.envrc, meaning that withdirenv, the Nix Flake is activated automatically.Fixes #1850.