river: rename to river-classic

This commit is contained in:
Adam C. Stephens
2025-08-30 17:58:34 -04:00
parent c46ab06b32
commit ffc8f1707b
11 changed files with 49 additions and 35 deletions

View File

@@ -925,7 +925,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
[services.frp](#opt-services.frp.enable).
- [river](https://github.com/riverwm/river), A dynamic tiling wayland
compositor. Available as [programs.river](#opt-programs.river.enable).
compositor. Available as `programs.river`.
- [wayfire](https://wayfire.org), a modular and extensible wayland compositor.
Available as [programs.wayfire](#opt-programs.wayfire.enable).

View File

@@ -172,6 +172,8 @@
- NixOS display manager modules now strictly use tty1, where many of them previously used tty7. Options to configure display managers' VT have been dropped. A configuration with a display manager enabled will not start `getty@tty1.service`, even if the system is forced to boot into `multi-user.target` instead of `graphical.target`.
- `river` 0.3.x has been renamed to `river-classic` upstream, and the package renamed accordingly. `programs.river` has been renamed to `programs.river-classic`.
- `command-not-found` package is now disabled by default; it works only for nix-channels based systems, and requires setup for it to work.
- The systemd target `kbrequest.target` is now unset by default, instead of being forcibly symlinked to `rescue.target`. In case you were relying on this behavior (Alt + ArrowUp on the tty causing the current target to be changed to `rescue.target`), you can restore it by setting `systemd.targets.rescue.aliases = [ "kbrequest.target" ];` in your configuration.

View File

@@ -6,16 +6,16 @@
}:
let
cfg = config.programs.river;
cfg = config.programs.river-classic;
wayland-lib = import ./lib.nix { inherit lib; };
in
{
options.programs.river = {
enable = lib.mkEnableOption "river, a dynamic tiling Wayland compositor";
options.programs.river-classic = {
enable = lib.mkEnableOption "river-classic, a dynamic tiling Wayland compositor";
package =
lib.mkPackageOption pkgs "river" {
lib.mkPackageOption pkgs "river-classic" {
nullable = true;
extraDescription = ''
If the package is not overridable with `xwaylandSupport`, then the module option
@@ -61,6 +61,22 @@ in
};
};
imports = [
(lib.mkRenamedOptionModule [ "programs" "river" "enable" ] [ "programs" "river-classic" "enable" ])
(lib.mkRenamedOptionModule
[ "programs" "river" "package" ]
[ "programs" "river-classic" "package" ]
)
(lib.mkRenamedOptionModule
[ "programs" "river" "xwayland" "enable" ]
[ "programs" "river-classic" "xwayland" "enable" ]
)
(lib.mkRenamedOptionModule
[ "programs" "river" "extraPackages" ]
[ "programs" "river-classic" "extraPackages" ]
)
];
config = lib.mkIf cfg.enable (
lib.mkMerge [
{

View File

@@ -19,7 +19,7 @@
services.displayManager.lemurs.enable = true;
programs.river.enable = true;
programs.river-classic.enable = true;
};
testScript = ''

View File

@@ -6,7 +6,7 @@
lib,
pkg-config,
stdenv,
river,
river-classic,
wayland,
wayland-protocols,
wayland-scanner,
@@ -53,6 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ adamcstephens ];
mainProgram = "river-bedload";
inherit (river.meta) platforms;
inherit (river-classic.meta) platforms;
};
})

View File

@@ -23,7 +23,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "river";
pname = "river-classic";
version = "0.3.11";
outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitea {
domain = "codeberg.org";
owner = "river";
repo = "river";
repo = "river-classic";
hash = "sha256-7LC5nxan9jmjjt29afkps9H/sfhfIqpvBxvCKb0zvNM=";
tag = "v${finalAttrs.version}";
};
@@ -78,22 +78,17 @@ stdenv.mkDerivation (finalAttrs: {
};
meta = {
homepage = "https://codeberg.org/river/river";
homepage = "https://codeberg.org/river/river-classic";
description = "Dynamic tiling wayland compositor";
longDescription = ''
River is a dynamic tiling Wayland compositor with flexible runtime
river-classic is a dynamic tiling Wayland compositor with flexible runtime
configuration.
Its design goals are:
- Simple and predictable behavior, river should be easy to use and have a
low cognitive load.
- Window management based on a stack of views and tags.
- Dynamic layouts generated by external, user-written executables. A
default rivertile layout generator is provided.
- Scriptable configuration and control through a custom Wayland protocol
and separate riverctl binary implementing it.
It is a fork of river 0.3 intended for users that are happy with how river 0.3
works and do not wish to deal with the majorly breaking changes planned for
the river 0.4.0 release.
'';
changelog = "https://codeberg.org/river/river/releases/tag/v${finalAttrs.version}";
changelog = "https://codeberg.org/river/river-classic/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
adamcstephens

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash common-updater-scripts gnused zon2nix
latest_tag=$(list-git-tags --url=https://codeberg.org/river/river-classic | sed 's/^v//' | sort --version-sort | tail --lines=1)
update-source-version river-classic "$latest_tag"
wget "https://codeberg.org/river/river-classic/raw/tag/v${latest_tag}/build.zig.zon"
zon2nix build.zig.zon >pkgs/by-name/ri/river-classic/build.zig.zon.nix
nixfmt pkgs/by-name/ri/river-classic/build.zig.zon.nix
rm -f build.zig.zon build.zig.zon.nix

View File

@@ -1,12 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash common-updater-scripts gnused zon2nix
latest_tag=$(list-git-tags --url=https://codeberg.org/river/river | sed 's/^v//' | sort --version-sort | tail --lines=1)
update-source-version river "$latest_tag"
wget "https://codeberg.org/river/river/raw/tag/v${latest_tag}/build.zig.zon"
zon2nix build.zig.zon >pkgs/by-name/ri/river/build.zig.zon.nix
nixfmt pkgs/by-name/ri/river/build.zig.zon.nix
rm -f build.zig.zon build.zig.zon.nix

View File

@@ -4,7 +4,7 @@
callPackage,
fetchFromSourcehut,
pkg-config,
river,
river-classic,
wayland,
wayland-protocols,
wayland-scanner,
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pkg-config
river
river-classic
wayland
wayland-protocols
wayland-scanner

View File

@@ -2048,6 +2048,7 @@ mapAliases {
riko4 = throw "'riko4' has been removed as it was unmaintained, failed to build and dependend on outdated libraries"; # Added 2025-05-18
rippled = throw "rippled has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25
rippled-validator-keys-tool = throw "rippled-validator-keys-tool has been removed as it was broken and had not been updated since 2022"; # Added 2024-11-25
river = throw "'river' has been renamed to/replaced by 'river-classic'"; # Added 2025-08-30
rke2_1_29 = throw "'rke2_1_29' has been removed from nixpkgs as it has reached end of life"; # Added 2025-05-05
rke2_testing = throw "'rke2_testing' has been removed from nixpkgs as the RKE2 testing channel no longer serves releases"; # Added 2025-06-02
rl_json = tclPackages.rl_json; # Added 2025-05-03