From ffc8f1707b32c29aabb751b66d79762ece6b1f10 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Sat, 30 Aug 2025 17:58:34 -0400 Subject: [PATCH] river: rename to river-classic --- .../manual/release-notes/rl-2311.section.md | 2 +- .../manual/release-notes/rl-2511.section.md | 2 ++ nixos/modules/programs/wayland/river.nix | 24 +++++++++++++++---- nixos/tests/lemurs/lemurs-wayland.nix | 2 +- pkgs/by-name/ri/river-bedload/package.nix | 4 ++-- .../build.zig.zon.nix | 0 .../ri/{river => river-classic}/package.nix | 21 +++++++--------- pkgs/by-name/ri/river-classic/update.sh | 12 ++++++++++ pkgs/by-name/ri/river/update.sh | 12 ---------- pkgs/by-name/ri/rivercarro/package.nix | 4 ++-- pkgs/top-level/aliases.nix | 1 + 11 files changed, 49 insertions(+), 35 deletions(-) rename pkgs/by-name/ri/{river => river-classic}/build.zig.zon.nix (100%) rename pkgs/by-name/ri/{river => river-classic}/package.nix (69%) create mode 100755 pkgs/by-name/ri/river-classic/update.sh delete mode 100755 pkgs/by-name/ri/river/update.sh diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 920fa9862cc7..9d987e0b33a0 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -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). diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index ede6b54dbd7b..4727bdd8e785 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -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. diff --git a/nixos/modules/programs/wayland/river.nix b/nixos/modules/programs/wayland/river.nix index c1e62938f2e0..447d6d63368d 100644 --- a/nixos/modules/programs/wayland/river.nix +++ b/nixos/modules/programs/wayland/river.nix @@ -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 [ { diff --git a/nixos/tests/lemurs/lemurs-wayland.nix b/nixos/tests/lemurs/lemurs-wayland.nix index 1fede02cb61e..590298e7ce50 100644 --- a/nixos/tests/lemurs/lemurs-wayland.nix +++ b/nixos/tests/lemurs/lemurs-wayland.nix @@ -19,7 +19,7 @@ services.displayManager.lemurs.enable = true; - programs.river.enable = true; + programs.river-classic.enable = true; }; testScript = '' diff --git a/pkgs/by-name/ri/river-bedload/package.nix b/pkgs/by-name/ri/river-bedload/package.nix index a80287e47cf3..b0ac4f71acfe 100644 --- a/pkgs/by-name/ri/river-bedload/package.nix +++ b/pkgs/by-name/ri/river-bedload/package.nix @@ -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; }; }) diff --git a/pkgs/by-name/ri/river/build.zig.zon.nix b/pkgs/by-name/ri/river-classic/build.zig.zon.nix similarity index 100% rename from pkgs/by-name/ri/river/build.zig.zon.nix rename to pkgs/by-name/ri/river-classic/build.zig.zon.nix diff --git a/pkgs/by-name/ri/river/package.nix b/pkgs/by-name/ri/river-classic/package.nix similarity index 69% rename from pkgs/by-name/ri/river/package.nix rename to pkgs/by-name/ri/river-classic/package.nix index fcb9153fa33a..c6ec32186d93 100644 --- a/pkgs/by-name/ri/river/package.nix +++ b/pkgs/by-name/ri/river-classic/package.nix @@ -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 diff --git a/pkgs/by-name/ri/river-classic/update.sh b/pkgs/by-name/ri/river-classic/update.sh new file mode 100755 index 000000000000..6af7f782828d --- /dev/null +++ b/pkgs/by-name/ri/river-classic/update.sh @@ -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 diff --git a/pkgs/by-name/ri/river/update.sh b/pkgs/by-name/ri/river/update.sh deleted file mode 100755 index 7d7875e5c8c6..000000000000 --- a/pkgs/by-name/ri/river/update.sh +++ /dev/null @@ -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 diff --git a/pkgs/by-name/ri/rivercarro/package.nix b/pkgs/by-name/ri/rivercarro/package.nix index 4df6d442b0f5..3e907f1d0648 100644 --- a/pkgs/by-name/ri/rivercarro/package.nix +++ b/pkgs/by-name/ri/rivercarro/package.nix @@ -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 diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9e90baa351c8..2d7d01644128 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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