Hello, I’m new to nixos I have searched around in many locations and
can’t figure out that easiest and best way to build river from source code.
Preferably I would like to pin to a commit.
But it won’t build without wlroots 17.2. I decided to move to channel unstable and
I’m still getting an error.
install transitive failure
(0mq(B install river transitive failure
(0mq(B zig build-exe river ReleaseSafe native-native 3 errors
river/main.zig:35:9: error: river requires at least wlroots version 0.17.2 due to bugs in wlroots 0.17.0/0.17.1
@compileError("river requires at least wlroots version 0.17.2 due to bugs in wlroots 0.17.0/0.17.1");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/zig-wlroots/src/wlroots.zig:210:9: error: zig-wlroots requires wlroots version 0.17
@compileError("zig-wlroots requires wlroots version 0.17");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
river/Server.zig:282:60: error: FIXME
if (wlr.version.major != 0 or wlr.version.minor != 17) @compileError("FIXME");
^~~~~~~~~~~~~~~~~~~~~~
error: builder for '/nix/store/1y6izwh27wb5h48bldf694j6dy9qkmc2-river-0.2.6.drv' failed with exit code 2
error: 1 dependencies of derivation '/nix/store/y5c031ca5p3dphjir39y3s1i9cvw2lch-desktops.drv' failed to build
error: 1 dependencies of derivation '/nix/store/c4nk7n65ba4fmkbxgycchw4z17wgn28h-man-paths.drv' failed to build
error: 1 dependencies of derivation '/nix/store/7xw8l5zhb5vibp062xxqida3bny6qp31-river-0.2.6_fish-completions.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ii7sk9zvh69fiyak6knm08nl2hpjhdp0-rivercarro-0.3.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/pz8y4xhy1ijr5f517ab0mazgrzzciih5-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/qgka665j7rxn7n6v8n9bq4ai4kl7kzvk-nixos-system-nixos-24.05pre604424.d8fe5e6c92d0.drv' failed to build
I’m not familar with fake, so not sure if it would be a better approach. Ideally
I would have liked to stayed on stable and only upgraded wlroots and river.
UPDATE: I figured it out but not sure how to use wlroots 17 to build the package.
I can build it locally but would prefer building it from my configuration.nix with overlays.
It looks similar to mine, it looks like you are building locally with pkgs/river.nix?
The only diffrence is I have this in my local source default.niix:
This works fine, the problem is I don’t want to have local source code.
Is there a way to build it directly from configuration.nix? I can’t
seem how to figure this out since I get an error: attribute 'wlroots_0_17' missing.
I tried putting it on top.
How can I build directly from configurating.nix, is it possible to buile without a local source?
With snapper I can build fine. However, river requires wlroots 17 and
some tweaks. This is what I have been trying but I can’t figure it out:
Thanks for the idea, so based on your idea. I made some modifications and was
able to build. I’m not sure how I would use xwaylandSupport ? true but it’s not
a big deal I just put lib.optional true libX11. So the changes I made to make it work: