Configure River¶
oxbow requires river 0.4.6 or later. This page shows how to install and configure river to start oxbow.
Install river¶
sudo pacman -S river
Fedora 45 and Rawhide carry river 0.4.6+:
sudo dnf install river
Add the following module to your configuration:
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.river ];
}
Attention
River is 0.4.5 in NixOS 26.05. Use nixpkgs unstable for 0.4.6+.
Add the following module to your configuration:
{ pkgs, ... }:
{
home.packages = [ pkgs.river ];
}
Attention
River is 0.4.5 in NixOS 26.05. Use nixpkgs unstable for 0.4.6+.
Attention
Do not use wayland.windowManager.river. It uses
river-classic.
Please see river’s README for the necessary steps.
Configure river¶
river runs the init script at ~/.config/river/init on
startup.
Create ~/.config/river/init script:
#!/bin/sh
eval "$(opam env)"
exec oxbow
Make the script executable:
chmod +x ~/.config/river/init
Replace the module we created earlier:
{ pkgs, ... }:
let
river-init = pkgs.writeShellScript "river-init" ''
exec ${pkgs.oxbow}/bin/oxbow
'';
wrapped-river = pkgs.symlinkJoin {
name = "river";
paths = [ pkgs.river ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/river --add-flags "-c ${river-init}"
'';
};
in
{
environment.systemPackages = [ wrapped-river ];
}
Attention
Use wrapped-river, not pkgs.river, in display manager
entries and systemd services. Only wrapped-river runs the
init script.
Add the following module to your configuration:
{ pkgs, ... }:
{
xdg.configFile."river/init" = {
executable = true;
text = ''
#!/bin/sh
exec ${pkgs.oxbow}/bin/oxbow
'';
};
}