Simplify Nix Files #1596
Labels
No labels
Blocked
Bug
Changelog
Added
Changelog
Missing
Changelog
None
Cherry-picking
Database
Dependencies
Dependencies/Renovate
Difficulty
Easy
Difficulty
Hard
Difficulty
Medium
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/E2EE
Matrix/Federation
Matrix/Hydra
Matrix/MSC
Matrix/Media
Matrix/T&S
Merge
Merge/Manual
Merge/Squash
Meta
Meta/CI
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Support
Wont fix
old/ci/cd
old/rust
No milestone
No project
No assignees
5 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
continuwuation/continuwuity!1596
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Henry-Hiles/continuwuity:quad/chore/simplify-nix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This pull request fixes the rocksdb build, fixes the devshell, and simplifies the nix configuration to be more maintainable. Fixes !1591, closes #1397.
Pull request checklist:
mainbranch, and the branch is named something other thanmain.myself, if applicable. This includes ensuring code compiles.
This isn't working yet, I just wanted to open this so I don't forget about doing this
61566286da6cca595799c19e939567df4cae2e10e3958140a4ef0fb8ca23Build working, runtime untested.
Will test tmrw.
17679bb942105d5d6e7e105d5d6e7e6d255a1f20Confirmed working at runtime. Gonna try running federated nexus on it
WIP: Simplify Nix Filesto Simplify Nix FilesAfter this I need to fix the hashes workflow, too.
I think once I fix the flake hash workflow, and someone tests the devshell, this is good to go.
2a04fbdfcce780b1898d1300b5f09ad1aa8cfcb6Simplify Nix Filesto WIP: Simplify Nix FilesThe rocksdb build appears to have exploded, looking into it
WIP: Simplify Nix Filesto Simplify Nix FilesThis also fixes the devshell stuff, based on kraem's work in #1397.
Tested devshell, is working. I tested the actual build, but I'll retest now before I'll say its ready to merge.
16ea4b7a422c28f9bbf5Tested build again, https://federated.nexus is currently running it. Ready for review.
@ -25,2 +21,3 @@- uses: https://github.com/cachix/install-nix-action@19effe9fe722874e6d46dd7182e4b8b7a43c4a99 # v31.10.0- name: Lix GHA Installer Actionuses: https://github.com/samueldr/lix-gha-installer-action@v2026-02-22Small nitpick here, but I would suggest pinning the action’s commit SHA like in prior state, since tags are mutable and that fact has been central to a number of supply-chain attacks (e.g. very recent trivy compromise, tj-actions/changed-files compromise from a little while back).
Good idea, I'll do that.
Done.
@ -72,4 +43,4 @@echo "Expected new hash:"cat new_toolchain_hash.txtrm new_toolchain_hash.txtI'd like to replace this with a
nix-updatecall in the future, but it looks like it can't do fenix yet.I had a glance over the new stuff and it looks much simpler. Sorry if some of the next questions have already been answered somewhere else, maybe it's good to answer them here again for transparency reasons:
Thanks for tackling this! /gen
@Aviac wrote in #1596 (comment):
Theres really no reason to not use jemalloc, so it's turned on by default on all Linux systems.
Probably not, they aren't ran in CI, and I asked Jade if Is should start running them in CI or remove the tests, and she said to remove them.
To me it is, the nix stuff seems pretty good now, but others are welcome to continue.
No worries! :3
lgtm
I'll give it a try and build and deploy it on my server and see how well it performs. But looks good so far, thanks for all the answers!
nice cleanup!
@ -0,0 +8,4 @@...}:{# basic nix shell containing all things necessary to build continuwuity in all flavors manually (on x86_64-linux)nit: no flavors left, right?
Well, flavors still exist, you just can't build them through the nix package easily, you can still build them using the devshell. So, I think this is correct, but I'm open to feedback :3
sorry i parsed the comment wrong, makes sense :)
Simplify Nix Filesto WIP: Simplify Nix FilesI'm going to add override support. Requested by nyanbinary.
WIP: Simplify Nix Filesto Simplify Nix FilesAdded support for overrides.
c06bae6e9d7bbe31adeeTested working, looking for reviews.
7bbe31adee0fd6f25668Just rebased against latest ^^
0fd6f256684e6e6b4d9bAgain ^
Seems to work so far on my deployment 👍
Still it would be nice to have some features back at some point. For instance: rocksdb is built with jemalloc but continuwuity itself isn't.
@Aviac wrote in #1596 (comment):
Oh, thats not intentional, ill look into it.
4e6e6b4d9ba756afc809Simplify Nix Filesto WIP: Simplify Nix Filesf61638ac8318542fe3eaWIP: Simplify Nix Filesto Simplify Nix Files18542fe3eaa756afc809a756afc809915643c965I marked as WIP due to a concern about not building with jemalloc, but I can confirm it in fact is:
@Henry-Hiles wrote in #1596 (comment):
Awesome, thanks for checking it out. Consider my approval to be at 100% now